象棋手机游戏的源代码 |
| 作者:dlut_608_#4 来源:本站整理 发布时间:2005-11-24 17:22:42 |
|
tedX,selectedY);} if((selectedY-n==0)&(selectedX-m==-1)){changTwoChessNum(m,n,selectedX,selectedY);} } } } } public void commandAction(Command c, Displayable d) { if (c == exitCmd) { game.destroyApp(false); game.notifyDestroyed(); } } protected synchronized void keyPressed(int keyCode) //处理按键 { int action = getGameAction(keyCode); if (action == Canvas.LEFT ) { selectedX=(--selectedX+8+1)%(8+1); } else if (action == Canvas.RIGHT) { selectedX=(++selectedX)%(8+1); } else if (action == Canvas.UP) { selectedY=(--selectedY+9+1)%(9+1); } else if (action == Canvas.DOWN) { selectedY=(++selectedY)%(9+1); } else if (action == Canvas.FIRE)//这里的FIRE键我分成了两种情况:一是选种棋子, { //二是当选择了棋子后,让棋子走到下面选择的位置 guard=guard+1;//每按下FIRE一次,GUARD就加一,用来判断FIRE是被选种还是选种后走下不棋 if(guard%2==1) //这时是当选种某一个棋子时,调用choosChess函数,选择棋子 { if(point[selectedY][selectedX]!=0) { guard1=selectedX; guard2=selectedY; } } if(guard%2==0)//这种情况是当棋子被选种后 { if(point[selectedY][selectedX]!=point[n][m])//当走的下一步不是自身,也就是玩家选过 { //一个棋子,又不想选了,这只需什么都不做 if((point[n][m]==1)|(point[n][m]==9)|(point[n][m]==17)|(point[n][m]==25))//当选定的棋子是车的时候 { //repaint就OK了 if(point[selectedY][selectedX]==0)//当下一步走的是空格,则改变选种的格子和下一步所 { //走的格子的point[][]和word[][]的植,然后repaint就OK theRuleOfChe(m,n,selectedX,selectedY); } else//当下一步是想吃对方的子的,则把下一步格子的值变为刚才选定的格子的值,而 { //刚才选定的格子的值则便为零 if((point[selectedY][selectedX]/17)!=(point[n][m]/17))//当然,想吃的子不能是自己的 { theRuleOfChe(m,n,selectedX,selectedY); } } } if((point[n][m]==2)|(point[n][m]==8)|(point[n][m]==18)|(point[n][m]==24))//当选定的棋子是马的时候 { if(point[selectedY][selectedX]==0) { theRuleOfMa(m,n,selectedX,selectedY); } else { if((point[selectedY][selectedX]/17)!=(point[n][m]/17))//当然,想吃的子不能是自己的 { theRuleOfMa(m,n,selectedX,selectedY); } } } if((point[n][m]==10)|(point[n][m]==11)|(point[n][m]==26)|(point[n][m]==27))//当选定的棋子是炮的时候 { if(point[selectedY][selectedX]==0) { g1=0; theRuleOfPao(m,n,selectedX,selectedY,g1); } else { g1=1; if((point[selectedY][selectedX]/17)!=(point[n][m]/17))//当然,想吃的子不能是自己的 { theRuleOfPao(m,n,selectedX,selectedY,g1); } } } if((point[n][m]==3)|(point[n][m]==7)|(point[n][m]==19)|(point[n][m]==23))//当选定的棋子是相的时候 { if(point[selectedY][selectedX]==0) { theRuleOfXiang(m,n,selectedX,selectedY); } else { if((point[selectedY][selectedX]/17)!=(point[n][m]/17))//当然,想吃的子不能是自己的 { theRuleOfXiang(m,n,selectedX,selectedY); } } } if((point[n][m]==4)|(point[n][m]==6)|(point[n][m]==20)|(point[n][m]==22))//当选定的棋子是士的时候 { if(point[selectedY][selectedX]==0) { theRuleOfShi(m,n,selectedX,selectedY); } else { if((point[selectedY][selectedX]/17)!=(point[n][m]/17))//当然,想吃的子不能是自己的 { theRuleOfShi(m,n,selectedX,selectedY); } } } if((point[n][m]==5)|(point[n][m]==21))//当选定的棋子是帅的时候 { if(point[selectedY][selectedX]==0) { |
| [] [返回上一页] [打 印] |
文章评论 |
