📄 maincanvas.java
字号:
secPlaceX=firstPlaceX-1; secPlaceY=firstPlaceY-1;}if (wordDirection[p]==5) { secPlaceX=firstPlaceX+1; secPlaceY=firstPlaceY-1;}if (wordDirection[p]==6) { secPlaceX=firstPlaceX-1; secPlaceY=firstPlaceY+1;}if (wordDirection[p]==7) { secPlaceX=firstPlaceX+1; secPlaceY=firstPlaceY+1;} if (firstPlaceX-secPlaceX==0 && firstPlaceY-secPlaceY==1) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+letSpacer+1,letHeight+letSpacer+1,180,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+letSpacer+1,letHeight+letSpacer+1,0,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)+(letHeight/2),lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer+(letHeight/2)); g.drawLine (firstPlaceX*(letWidth+letSpacer)+letWidth,firstPlaceY*(letHeight+letSpacer)+(letHeight/letSpacer),lastPlaceX*(letWidth+letSpacer)+letWidth,lastPlaceY*(letHeight+letSpacer)-letSpacer+(letHeight/2)); } if (firstPlaceX-secPlaceX==0 && firstPlaceY-secPlaceY==-1) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+letSpacer+1,letHeight+letSpacer+1,0,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+letSpacer,letHeight+letSpacer,180,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)+(letHeight/2),lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer+(letHeight/2)); g.drawLine (firstPlaceX*(letWidth+letSpacer)+letWidth,firstPlaceY*(letHeight+letSpacer)+(letHeight/letSpacer),lastPlaceX*(letWidth+letSpacer)+letWidth,lastPlaceY*(letHeight+letSpacer)+(letHeight/2)); } if (firstPlaceX-secPlaceX==-1 && firstPlaceY-secPlaceY==0) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),90,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),270,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)+(letWidth/2),firstPlaceY*(letHeight+letSpacer)-letSpacer,lastPlaceX*(letWidth+letSpacer)+(letWidth/2),lastPlaceY*(letHeight+letSpacer)-letSpacer); g.drawLine (firstPlaceX*(letWidth+letSpacer)+(letWidth/2),firstPlaceY*(letHeight+letSpacer)+letHeight+(letSpacer/2),lastPlaceX*(letWidth+letSpacer)+(letWidth/2),lastPlaceY*(letHeight+letSpacer)+letHeight+(letSpacer/2)); } if (firstPlaceX-secPlaceX==1 && firstPlaceY-secPlaceY==0) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),270,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),90,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)+(letWidth/2),firstPlaceY*(letHeight+letSpacer)-letSpacer,lastPlaceX*(letWidth+letSpacer)+(letWidth/2),lastPlaceY*(letHeight+letSpacer)-letSpacer); g.drawLine (firstPlaceX*(letWidth+letSpacer)+(letWidth/2),firstPlaceY*(letHeight+letSpacer)+letHeight+(letSpacer/2),lastPlaceX*(letWidth+letSpacer)+(letWidth/2),lastPlaceY*(letHeight+letSpacer)+letHeight+(letSpacer/2)); } if (firstPlaceX-secPlaceX==1 && firstPlaceY-secPlaceY==-1) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),315,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),135,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)-1,firstPlaceY*(letHeight+letSpacer)-1,lastPlaceX*(letWidth+letSpacer)-1,lastPlaceY*(letHeight+letSpacer)-1); g.drawLine (firstPlaceX*(letWidth+letSpacer)+letWidth,firstPlaceY*(letHeight+letSpacer)+letHeight,lastPlaceX*(letWidth+letSpacer)+letWidth,lastPlaceY*(letHeight+letSpacer)+letHeight); } if (firstPlaceX-secPlaceX==-1 && firstPlaceY-secPlaceY==1) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),135,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),315,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)-(letSpacer/2),firstPlaceY*(letHeight+letSpacer)-(letSpacer/2),lastPlaceX*(letWidth+letSpacer)-(letSpacer/2),lastPlaceY*(letHeight+letSpacer)-(letSpacer/2)); g.drawLine (firstPlaceX*(letWidth+letSpacer)+letWidth,firstPlaceY*(letHeight+letSpacer)+letHeight-letSpacer,lastPlaceX*(letWidth+letSpacer)+letWidth-letSpacer,lastPlaceY*(letHeight+letSpacer)+letHeight); } if (firstPlaceX-secPlaceX==-1 && firstPlaceY-secPlaceY==-1) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),45,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),225,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)-1,firstPlaceY*(letHeight+letSpacer)+letHeight,lastPlaceX*(letWidth+letSpacer)-1,lastPlaceY*(letHeight+letSpacer)+letHeight); g.drawLine (firstPlaceX*(letWidth+letSpacer)+letWidth,firstPlaceY*(letHeight+letSpacer),lastPlaceX*(letWidth+letSpacer)+letWidth,lastPlaceY*(letHeight+letSpacer)); } if (firstPlaceX-secPlaceX==1 && firstPlaceY-secPlaceY==1) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),225,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),45,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)-(letSpacer/2),firstPlaceY*(letHeight+letSpacer)+letHeight-(letSpacer/2),lastPlaceX*(letWidth+letSpacer)-(letSpacer/2),lastPlaceY*(letHeight+letSpacer)+letHeight-(letSpacer/2)); g.drawLine (firstPlaceX*(letWidth+letSpacer)+letWidth,firstPlaceY*(letHeight+letSpacer),lastPlaceX*(letWidth+letSpacer)+letWidth,lastPlaceY*(letHeight+letSpacer)); }}//if wordfound}//pfirstPlaceX=saveFirstPlaceX;lastPlaceX=saveLastPlaceX;secPlaceX=saveSecPlaceX;firstPlaceY=saveFirstPlaceY;lastPlaceY=saveLastPlaceY;secPlaceY=saveSecPlaceY;if (lettersSel==1) {g.setColor (255,0,0);g.drawRoundRect (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+letSpacer+1,letHeight+letSpacer+1,letWidth+letSpacer+1,letHeight+letSpacer+1);}if (lettersSel>1) { g.setColor (255,0,0); if (firstPlaceX-secPlaceX==0 && firstPlaceY-secPlaceY==1) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+letSpacer+1,letHeight+letSpacer+1,180,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+letSpacer+1,letHeight+letSpacer+1,0,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)+(letHeight/2),lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer+(letHeight/2)); g.drawLine (firstPlaceX*(letWidth+letSpacer)+letWidth,firstPlaceY*(letHeight+letSpacer)+(letHeight/letSpacer),lastPlaceX*(letWidth+letSpacer)+letWidth,lastPlaceY*(letHeight+letSpacer)-letSpacer+(letHeight/2)); } if (firstPlaceX-secPlaceX==0 && firstPlaceY-secPlaceY==-1) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+letSpacer+1,letHeight+letSpacer+1,0,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+letSpacer,letHeight+letSpacer,180,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)+(letHeight/2),lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer+(letHeight/2)); g.drawLine (firstPlaceX*(letWidth+letSpacer)+letWidth,firstPlaceY*(letHeight+letSpacer)+(letHeight/letSpacer),lastPlaceX*(letWidth+letSpacer)+letWidth,lastPlaceY*(letHeight+letSpacer)+(letHeight/2)); } if (firstPlaceX-secPlaceX==-1 && firstPlaceY-secPlaceY==0) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),90,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),270,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)+(letWidth/2),firstPlaceY*(letHeight+letSpacer)-letSpacer,lastPlaceX*(letWidth+letSpacer)+(letWidth/2),lastPlaceY*(letHeight+letSpacer)-letSpacer); g.drawLine (firstPlaceX*(letWidth+letSpacer)+(letWidth/2),firstPlaceY*(letHeight+letSpacer)+letHeight+(letSpacer/2),lastPlaceX*(letWidth+letSpacer)+(letWidth/2),lastPlaceY*(letHeight+letSpacer)+letHeight+(letSpacer/2)); } if (firstPlaceX-secPlaceX==1 && firstPlaceY-secPlaceY==0) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),270,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),90,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)+(letWidth/2),firstPlaceY*(letHeight+letSpacer)-letSpacer,lastPlaceX*(letWidth+letSpacer)+(letWidth/2),lastPlaceY*(letHeight+letSpacer)-letSpacer); g.drawLine (firstPlaceX*(letWidth+letSpacer)+(letWidth/2),firstPlaceY*(letHeight+letSpacer)+letHeight+(letSpacer/2),lastPlaceX*(letWidth+letSpacer)+(letWidth/2),lastPlaceY*(letHeight+letSpacer)+letHeight+(letSpacer/2)); } if (firstPlaceX-secPlaceX==1 && firstPlaceY-secPlaceY==-1) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),315,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),135,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)-1,firstPlaceY*(letHeight+letSpacer)-1,lastPlaceX*(letWidth+letSpacer)-1,lastPlaceY*(letHeight+letSpacer)-1); g.drawLine (firstPlaceX*(letWidth+letSpacer)+letWidth,firstPlaceY*(letHeight+letSpacer)+letHeight,lastPlaceX*(letWidth+letSpacer)+letWidth,lastPlaceY*(letHeight+letSpacer)+letHeight); } if (firstPlaceX-secPlaceX==-1 && firstPlaceY-secPlaceY==1) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),135,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),315,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)-(letSpacer/2),firstPlaceY*(letHeight+letSpacer)-(letSpacer/2),lastPlaceX*(letWidth+letSpacer)-(letSpacer/2),lastPlaceY*(letHeight+letSpacer)-(letSpacer/2)); g.drawLine (firstPlaceX*(letWidth+letSpacer)+letWidth,firstPlaceY*(letHeight+letSpacer)+letHeight-letSpacer,lastPlaceX*(letWidth+letSpacer)+letWidth-letSpacer,lastPlaceY*(letHeight+letSpacer)+letHeight); } if (firstPlaceX-secPlaceX==-1 && firstPlaceY-secPlaceY==-1) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),45,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),225,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)-1,firstPlaceY*(letHeight+letSpacer)+letHeight,lastPlaceX*(letWidth+letSpacer)-1,lastPlaceY*(letHeight+letSpacer)+letHeight); g.drawLine (firstPlaceX*(letWidth+letSpacer)+letWidth,firstPlaceY*(letHeight+letSpacer),lastPlaceX*(letWidth+letSpacer)+letWidth,lastPlaceY*(letHeight+letSpacer)); } if (firstPlaceX-secPlaceX==1 && firstPlaceY-secPlaceY==1) { g.drawArc (firstPlaceX*(letWidth+letSpacer)-letSpacer,firstPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),225,180); g.drawArc (lastPlaceX*(letWidth+letSpacer)-letSpacer,lastPlaceY*(letHeight+letSpacer)-letSpacer,letWidth+((letSpacer/2)*3),letHeight+((letSpacer/2)*3),45,180); g.drawLine (firstPlaceX*(letWidth+letSpacer)-(letSpacer/2),firstPlaceY*(letHeight+letSpacer)+letHeight-(letSpacer/2),lastPlaceX*(letWidth+letSpacer)-(letSpacer/2),lastPlaceY*(letHeight+letSpacer)+letHeight-(letSpacer/2)); g.drawLine (firstPlaceX*(letWidth+letSpacer)+letWidth,firstPlaceY*(letHeight+letSpacer),lastPlaceX*(letWidth+letSpacer)+letWidth,lastPlaceY*(letHeight+letSpacer)); }}g.setColor (255,0,0);g.drawRoundRect (squareX*(letWidth+letSpacer)-letSpacer,squareY*(letHeight+letSpacer)-letSpacer,letWidth+letSpacer+1,letHeight+letSpacer+1,letWidth+letSpacer+1,letHeight+letSpacer+1);}else {if (myImagesLoaded==true) { g.setColor (255,255,255); g.fillRect (0,0,width,height); g.drawImage (splash,0,0,0);}}if (myImagesLoaded==false) {g.setColor (255,255,255);g.fillRect (0,0,width,height);g.setColor (255,0,0);g.drawString ("Loading",(width/2)-(g.getFont().stringWidth("Loading")/2),height/2,0);} if (notBuffered==true) saved.drawImage (imgDoubleBuffer,0,0,CORNER_X|CORNER_Y); } //paint // game movements void advance() { if (myInitialized ==true ) { if (myImagesLoaded==false ) loadImages (); else { repaint (); } } // errorMsg(e); // we do a very short pause to allow the other thread // to update the information about which keys are pressed: } /** * Respond to keystrokes. */public void keyPressed (int keyCode) { int p,t,directionAddition; directionAddition=0;//System.out.println (""+keyCode); if (go==true) { if(keyCode==-3 || keyCode==KEY_NUM4 || keyCode==-13 || keyCode==LEFT) { squareX-=1; if (squareX<0) squareX=0; //handle left } if(keyCode==-4 || keyCode==KEY_NUM6 || keyCode==-12 || keyCode==RIGHT) { squareX+=1; if (squareX>12) squareX=12; //handle right } if(keyCode==-1 || keyCode==KEY_NUM2 || keyCode==-10 || keyCode==UP) { squareY-=1; if (squareY<0) squareY=0; //handle up } if(keyCode==-2 || keyCode==KEY_NUM8 || keyCode==-11 || keyCode==DOWN) { squareY+=1; if (squareY>10) squareY=10; //handle down } if (keyCode==-5 || keyCode==KEY_NUM5 || keyCode==-14 || keyCode==FIRE) { if (boardLetSel[squareX+(squareY*13)]==false) { boardLetSel[squareX+(squareY*13)]=true; lettersSel++; if (lettersSel==1) { firstPlaceX=squareX; firstPlaceY=squareY; } if (lettersSel==2) { if (squareX-firstPlaceX>1 || squareX-firstPlaceX<-1 || squareY-firstPlaceY>1 || squareY-firstPlaceY<-1) { lettersSel--; boardLetSel[squareX+(squareY*13)]=false; } else { secPlaceX=squareX; secPlaceY=squareY; lastPlaceX=squareX; lastPlaceY=squareY; }//else }//letterSel==2 if (lettersSel>2) { if (squareX-lastPlaceX!=secPlaceX-firstPlaceX || squareY-lastPlaceY!=secPlaceY-firstPlaceY) { boardLetSel[squareX+(squareY*13)]=false; lettersSel--; } else { lastPlaceX=squareX; lastPlaceY=squareY; } }// let2 } else { for (p=0;p<143;p++) boardLetSel[p]=false; lettersSel=0;} if (lettersSel>1) { for (p=0;p<10;p++) { String tempWord=""; String tempWord2=""; int x,y; x=firstPlaceX; y=firstPlaceY; if (squareX!=x || squareY!=y){ while (x!=lastPlaceX || y!=lastPlaceY) { tempWord=tempWord+board[x+(y*13)]; x=x+(secPlaceX-firstPlaceX); y=y+(secPlaceY-firstPlaceY); } tempWord=tempWord+board[x+(y*13)]; } for (t=tempWord.length();t>0;t--) { tempWord2=tempWord2+tempWord.substring (t-1,t); } if (wordsRead[p].equals(tempWord) || wordsRead[p].equals(tempWord2)) { wordFound[p]=true; for (t=0;t<150;t++) boardLetSel[t]=false; lettersSel=0; for (t=0;t<lettersPerWord[p];t++) { if (wordDirection[p]==0) directionAddition = -13; if (wordDirection[p]==1) directionAddition = +13; if (wordDirection[p]==2) directionAddition = -1; if (wordDirection[p]==3) directionAddition = +1; if (wordDirection[p]==4) directionAddition = -14; if (wordDirection[p]==5) directionAddition = -12; if (wordDirection[p]==6) directionAddition = +12; if (wordDirection[p]==7) directionAddition = +14; }//t } }//p int howMany=0; for (p=0;p<10;p++) { if (wordFound[p]==true) howMany++; } if (howMany==10) { myWordSearch.setNewGameCommand(); } }// letterSel>1 }// fireSelected }}public int getRandomInt(int upper) { int retVal = myRandom.nextInt() % upper; if(retVal < 0) { retVal = retVal*-1; } return(retVal); } public void setWords () { words[ 0]="all"; words[ 1]="the"; words[ 2]="peace"; words[ 3]="here"; words[ 4]="are"; words[ 5]="about"; words[ 6]="sort"; words[ 7]="words"; words[ 8]="and"; words[ 9]="phrase"; words[ 10]="what"; words[ 11]="they"; words[ 12]="mean"; words[ 13]="where";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -