zoukankan      html  css  js  c++  java
  • 作业七:团队项目——Alpha版本冲刺阶段-10

    部分代码:

      1 public void run(){
      2         while (true){
      3             //单击棋子第一下开始闪烁
      4             if (chessManClick){
      5                 play[Man].setVisible(false);
      6 
      7                 //时间控制
      8                 try{
      9                     tmain.sleep(100);
     10                 }
     11                 catch(Exception e){
     12                 }
     13                 
     14                 play[Man].setVisible(true);
     15             }
     16             
     17             //闪烁当前提示信息 以免用户看不见
     18             else {
     19                 text.setVisible(false);
     20                 //时间控制
     21                 try{
     22                     tmain.sleep(250);
     23                 }
     24                 catch(Exception e){
     25                 }
     26                 
     27                 text.setVisible(true);
     28             }
     29             
     30             try{
     31                 tmain.sleep(350);
     32             }
     33             catch (Exception e){
     34             }
     35         }
     36     }
     37     
     38     //单击棋子方法
     39     public void mouseClicked(MouseEvent me){
     40         System.out.println("Mouse");
     41         
     42         //当前坐标
     43         int Ex=0,Ey=0;
     44         
     45         //启动线程
     46         if (tmain == null){
     47             tmain = new Thread(this);
     48             tmain.start();
     49         }
     50         
     51         //单击棋盘(移动棋子)
     52         if (me.getSource().equals(image)){
     53             //该红棋走棋的时候
     54             if (chessPlayClick == 2 && play[Man].getName().charAt(1) == '2'){    
     55                 Ex = play[Man].getX();
     56                 Ey = play[Man].getY();
     57                 //移动卒、兵
     58                 if (Man > 15 && Man < 26){
     59                     rule.armsRule(Man,play[Man],me);
     60                 }            
     61                 
     62                 //移动炮
     63                 else if (Man > 25 && Man < 30){            
     64                     rule.cannonRule(play[Man],play,me);
     65                 }
     66                 
     67                 //移动车
     68                 else if (Man >=0 && Man < 4){
     69                     rule.cannonRule(play[Man],play,me);
     70                 }
     71                 
     72                 //移动马
     73                 else if (Man > 3 && Man < 8){
     74                     rule.horseRule(play[Man],play,me);
     75                 }
     76                 
     77                 //移动相、象
     78                 else if (Man > 7 && Man < 12){
     79                     rule.elephantRule(Man,play[Man],play,me);
     80                 }
     81                 
     82                 //移动仕、士
     83                 else if (Man > 11 && Man < 16){
     84                     rule.chapRule(Man,play[Man],play,me);
     85                 }
     86                 
     87                 //移动将、帅
     88                 else if (Man == 30 || Man == 31){                
     89                     rule.willRule(Man,play[Man],play,me);
     90                 }
     91                 
     92                 //是否走棋错误(是否在原地没有动)
     93                 if (Ex == play[Man].getX() && Ey == play[Man].getY()){
     94                     text.setText("               红棋走棋");
     95                     chessPlayClick=2;
     96                 }
     97                 
     98                 else {
     99                     text.setText("               黑棋走棋");
    100                     chessPlayClick=1;
    101                 }
    102                 
    103             }//if
    104             
    105             //该黑棋走棋的时候
    106             else if (chessPlayClick == 1 && play[Man].getName().charAt(1) == '1'){
    107                 Ex = play[Man].getX();
    108                 Ey = play[Man].getY();
    109 
    110                 //移动卒、兵
    111                 if (Man > 15 && Man < 26){
    112                     rule.armsRule(Man,play[Man],me);
    113                 }
    114                 
    115                 //移动炮
    116                 else if (Man > 25 && Man < 30){
    117                     rule.cannonRule(play[Man],play,me);
    118                 }
    119                 
    120                 //移动车
    121                 else if (Man >=0 && Man < 4){
    122                     rule.cannonRule(play[Man],play,me);
    123                 }
    124                 
    125                 //移动马
    126                 else if (Man > 3 && Man < 8){
    127                     rule.horseRule(play[Man],play,me);
    128                 }
    129                 
    130                 //移动相、象
    131                 else if (Man > 7 && Man < 12){
    132                     rule.elephantRule(Man,play[Man],play,me);
    133                 }
    134                 
    135                 //移动仕、士
    136                 else if (Man > 11 && Man < 16){
    137                     rule.chapRule(Man,play[Man],play,me);
    138                 }
    139                 
    140                 //移动将、帅
    141                 else if (Man == 30 || Man == 31){
    142                     rule.willRule(Man,play[Man],play,me);
    143                 }
    144                 
    145                 //是否走棋错误(是否在原地没有动)
    146                 if (Ex == play[Man].getX() && Ey == play[Man].getY()){
    147                     text.setText("               黑棋走棋");
    148                     chessPlayClick=1;
    149                 }
    150                 
    151                 else {
    152                     text.setText("               红棋走棋");
    153                     chessPlayClick=2;    
    154                 }
    155 
    156                             
    157             }//else if        
    158             
    159             //当前没有操作(停止闪烁)
    160             chessManClick=false;
    161             
    162         }//if
    163         
    164         //单击棋子
    165         else{
    166             //第一次单击棋子(闪烁棋子)
    167             if (!chessManClick){
    168                 for (int i=0;i<32;i++){
    169                     //被单击的棋子
    170                     if (me.getSource().equals(play[i])){
    171                         //告诉线程让该棋子闪烁
    172                         Man=i;
    173                         //开始闪烁
    174                         chessManClick=true;
    175                         break;
    176                     }
    177                 }//for
    178             }//if
    179             
    180             //第二次单击棋子(吃棋子)
    181             else if (chessManClick){
    182                 //当前没有操作(停止闪烁)
    183                 chessManClick=false;
    184                 
    185                 for (i=0;i<32;i++){
    186                     //找到被吃的棋子
    187                     if (me.getSource().equals(play[i])){
    188                         //该红棋吃棋的时候
    189                         if (chessPlayClick == 2 && play[Man].getName().charAt(1) == '2'){
    190                             Ex = play[Man].getX();
    191                             Ey = play[Man].getY();
    192                             
    193                             //卒、兵吃规则
    194                             if (Man > 15 && Man < 26){
    195                                 rule.armsRule(play[Man],play[i]);
    196                             }
    197                             
    198                             //炮吃规则
    199                             else if (Man > 25 && Man < 30){
    200                                 rule.cannonRule(0,play[Man],play[i],play,me);
    201                             }
    202                             
    203                             //车吃规则
    204                             else if (Man >=0 && Man < 4){
    205                                 rule.cannonRule(1,play[Man],play[i],play,me);
    206                             }
    207                             
    208                             //马吃规则
    209                             else if (Man > 3 && Man < 8){
    210                                 rule.horseRule(play[Man],play[i],play,me);    
    211                             }
    212                             
    213                             //相、象吃规则
    214                             else if (Man > 7 && Man < 12){
    215                                 rule.elephantRule(play[Man],play[i],play);
    216                             }
    217                             
    218                             //士、仕吃棋规则
    219                             else if (Man > 11 && Man < 16){
    220                                 rule.chapRule(Man,play[Man],play[i],play);
    221                             }
    222                             
    223                             //将、帅吃棋规则
    224                             else if (Man == 30 || Man == 31){
    225                                 rule.willRule(Man,play[Man],play[i],play);
    226                                 play[Man].setVisible(true);    
    227                             }
    228                             
    229                             //是否走棋错误(是否在原地没有动)
    230                             if (Ex == play[Man].getX() && Ey == play[Man].getY()){
    231                                 text.setText("               红棋走棋");
    232                                 chessPlayClick=2;
    233                                 break;
    234                             }
    235                                                         
    236                             else{
    237                                 text.setText("               黑棋走棋");
    238                                 chessPlayClick=1;
    239                                 break;
    240                             }    
    241                             
    242                         }//if
    243                         
    244                         //该黑棋吃棋的时候
    245                         else if (chessPlayClick == 1 && play[Man].getName().charAt(1) == '1'){
    246                             Ex = play[Man].getX();
    247                             Ey = play[Man].getY();
    248                                                     
    249                             //卒吃规则
    250                             if (Man > 15 && Man < 26){
    251                                 rule.armsRule(play[Man],play[i]);
    252                             }
    253                             
    254                             //炮吃规则
    255                             else if (Man > 25 && Man < 30){
    256                                 rule.cannonRule(0,play[Man],play[i],play,me);
    257                             }
    258                             
    259                             //车吃规则
    260                             else if (Man >=0 && Man < 4){
    261                                 rule.cannonRule(1,play[Man],play[i],play,me);    
    262                             }
    263                             
    264                             //马吃规则
    265                             else if (Man > 3 && Man < 8){
    266                                 rule.horseRule(play[Man],play[i],play,me);
    267                             }
    268                             
    269                             //相、象吃规则
    270                             else if (Man > 7 && Man < 12){
    271                                 rule.elephantRule(play[Man],play[i],play);
    272                             }
    273                             
    274                             //士、仕吃棋规则
    275                             else if (Man > 11 && Man < 16){
    276                                 rule.chapRule(Man,play[Man],play[i],play);
    277                             }
    278                             
    279                             //将、帅吃棋规则
    280                             else if (Man == 30 || Man == 31){
    281                                 rule.willRule(Man,play[Man],play[i],play);
    282                                 play[Man].setVisible(true);            
    283                             }
    284                             
    285                             //是否走棋错误(是否在原地没有动)
    286                             if (Ex == play[Man].getX() && Ey == play[Man].getY()){
    287                                 text.setText("               黑棋走棋");
    288                                 chessPlayClick=1;
    289                                 break;
    290                             }
    291                 
    292                             else {
    293                                 text.setText("               红棋走棋");
    294                                 chessPlayClick=2;    
    295                                 break;
    296                             }
    297                                                         
    298                         }//else if 
    299                         
    300                     }//if
    301                     
    302                 }//for
    303                 
    304                 
    305                 //是否胜利
    306                 if (!play[31].isVisible()){
    307                     JOptionPane.showConfirmDialog(
    308                         this,"黑棋胜利","玩家一胜利",
    309                         JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE);
    310                     //双方都不可以在走棋了
    311                     chessPlayClick=3;
    312                     text.setText("  黑棋胜利");
    313                     
    314                 }//if 
    315 
    316                 else if (!play[30].isVisible()){
    317                     JOptionPane.showConfirmDialog(
    318                         this,"红棋胜利","玩家二胜利",
    319                         JOptionPane.DEFAULT_OPTION,JOptionPane.WARNING_MESSAGE);
    320                     chessPlayClick=3;
    321                     text.setText("  红棋胜利");
    322                 }//else if    
    323                 
    324             }//else
    325             
    326         }//else
    327         
    328     }
  • 相关阅读:
    [洛谷P2523] HAOI2011 Problem c
    [CF156D] Clues
    [洛谷P4769] NOI2018 冒泡排序
    [CF605E] Intergalaxy Trips
    [洛谷P4492] HAOI2018 苹果树
    [洛谷P3349] ZJOI2016 小星星
    [洛谷P4336] SHOI2016 黑暗前的幻想乡
    [洛谷P5364] SNOI2017 礼物
    [洛谷P2606] ZJOI2010 排列计数
    [洛谷P6078] CEOI2004 candy
  • 原文地址:https://www.cnblogs.com/JohnCena/p/5516753.html
Copyright © 2011-2022 走看看