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

    今日编写代码如下:

    class ChessRule {
            /**卒子的移动规则*/
            public void armsRule(int Man,JLabel play,MouseEvent me){
                //黑卒向下
                if (Man < 21){
                    //向下移动、得到终点的坐标模糊成合法的坐标
                    if ((me.getY()-play.getY()) > 27 && (me.getY()-play.getY()) < 86 && (me.getX()-play.getX()) < 55 && (me.getX()-play.getX()) > 0){
                        
                        //当前记录添加到集合(用于悔棋)
                        Var.add(String.valueOf(play.isVisible()));
                        Var.add(String.valueOf(play.getX()));
                        Var.add(String.valueOf(play.getY()));
                        Var.add(String.valueOf(Man));
                        
                        play.setBounds(play.getX(),play.getY()+57,55,55);
                    }
                    
                    //向右移动、得到终点的坐标模糊成合法的坐标、必须过河                
                    else if (play.getY() > 284 && (me.getX() - play.getX()) >= 57 && (me.getX() - play.getX()) <= 112){
                        play.setBounds(play.getX()+57,play.getY(),55,55);    
                    }
                    
                    //向左移动、得到终点的坐标模糊成合法的坐标、必须过河
                    else if (play.getY() > 284 && (play.getX() - me.getX()) >= 2 && (play.getX() - me.getX()) <=58){
                        //模糊坐标
                        play.setBounds(play.getX()-57,play.getY(),55,55);
                    }
                }
                
                //红卒向上
                else{
                    //当前记录添加到集合(用于悔棋)
                    Var.add(String.valueOf(play.isVisible()));
                    Var.add(String.valueOf(play.getX()));
                    Var.add(String.valueOf(play.getY()));
                    Var.add(String.valueOf(Man));
                    
                    //向上移动、得到终点的坐标模糊成合法的坐标
                    if ((me.getX()-play.getX()) >= 0 && (me.getX()-play.getX()) <= 55 && (play.getY()-me.getY()) >27 && play.getY()-me.getY() < 86){
                        play.setBounds(play.getX(),play.getY()-57,55,55);
                    }
                    
                    //向右移动、得到终点的坐标模糊成合法的坐标、必须过河
                    else if (play.getY() <= 341 && (me.getX() - play.getX()) >= 57 && (me.getX() - play.getX()) <= 112){
                        play.setBounds(play.getX()+57,play.getY(),55,55);
                    }                
                    
                    //向左移动、得到终点的坐标模糊成合法的坐标、必须过河
                    else if (play.getY() <= 341 && (play.getX() - me.getX()) >= 3 && (play.getX() - me.getX()) <=58){
                        play.setBounds(play.getX()-57,play.getY(),55,55);
                    }
                }
            }//卒移动结束
    
            /**卒吃棋规则*/
            public void armsRule(JLabel play1,JLabel play2){
                //向右走
                if ((play2.getX() - play1.getX()) <= 112 && (play2.getX() - play1.getX()) >= 57 && (play1.getY() - play2.getY()) < 22 && (play1.getY() - play2.getY()) > -22 && play2.isVisible() && play1.getName().charAt(1)!=play2.getName().charAt(1)){
                    //黑棋要过河才能右吃棋
                    if (play1.getName().charAt(1) == '1' && play1.getY() > 284 && play1.getName().charAt(1) != play2.getName().charAt(1)){
    
                        play2.setVisible(false);
                        //把对方的位置给自己
                        play1.setBounds(play2.getX(),play2.getY(),55,55);
                    }
                    
                    //红棋要过河才左能吃棋
                    else if (play1.getName().charAt(1) == '2' && play1.getY() < 341 && play1.getName().charAt(1) != play2.getName().charAt(1)){
                        play2.setVisible(false);
                        //把对方的位置给自己
                        play1.setBounds(play2.getX(),play2.getY(),55,55);                
                    }
                }
                
                //向左走
                else if ((play1.getX() - play2.getX()) <= 112 && (play1.getX() - play2.getX()) >= 57 && (play1.getY() - play2.getY()) < 22 && (play1.getY() - play2.getY()) > -22 && play2.isVisible() && play1.getName().charAt(1)!=play2.getName().charAt(1)){
                    //黑棋要过河才能左吃棋
                    if (play1.getName().charAt(1) == '1' && play1.getY() > 284 && play1.getName().charAt(1) != play2.getName().charAt(1)){
                        play2.setVisible(false);
                        //把对方的位置给自己
                        play1.setBounds(play2.getX(),play2.getY(),55,55);
                    }
                    
                    //红棋要过河才能右吃棋
                    else if (play1.getName().charAt(1) == '2' && play1.getY() < 341 && play1.getName().charAt(1) != play2.getName().charAt(1)){
                        play2.setVisible(false);
                        //把对方的位置给自己
                        play1.setBounds(play2.getX(),play2.getY(),55,55);                
                    }
                }
                
                //向上走
                else if (play1.getX() - play2.getX() >= -22 && play1.getX() - play2.getX() <= 22 && play1.getY() - play2.getY() >= -112 && play1.getY() - play2.getY() <= 112){
                    //黑棋不能向上吃棋
                    if (play1.getName().charAt(1) == '1' && play1.getY() < play2.getY() && play1.getName().charAt(1) != play2.getName().charAt(1)){
                        play2.setVisible(false);
                        //把对方的位置给自己
                        play1.setBounds(play2.getX(),play2.getY(),55,55);
                    }
                    
                    //红棋不能向下吃棋
                    else if (play1.getName().charAt(1) == '2' && play1.getY() > play2.getY() && play1.getName().charAt(1) != play2.getName().charAt(1)){
                        play2.setVisible(false);
                        //把对方的位置给自己
                        play1.setBounds(play2.getX(),play2.getY(),55,55);
                    }            
                }
                
                //当前记录添加到集合(用于悔棋)
                Var.add(String.valueOf(play1.isVisible()));
                Var.add(String.valueOf(play1.getX()));
                Var.add(String.valueOf(play1.getY()));
                Var.add(String.valueOf(Man));
                
                //当前记录添加到集合(用于悔棋)
                Var.add(String.valueOf(play2.isVisible()));
                Var.add(String.valueOf(play2.getX()));
                Var.add(String.valueOf(play2.getY()));
                Var.add(String.valueOf(i));
    
            }//卒吃结束0
  • 相关阅读:
    WPF Style和Template
    WPF自定义命令
    Vue-cli proxyTable 解决开发环境的跨域问题
    mongoose 获取某个存在的collecion 里的数据
    express+mongodb+mongoose简单入门
    服务器环境配置nginx / php / php-fpm(一)
    vue 循环前十条数据
    nodejs express的基本用法
    nodejs querystring
    nodejs fs.readFile
  • 原文地址:https://www.cnblogs.com/JohnCena/p/5521130.html
Copyright © 2011-2022 走看看