Java版本实现中国象棋

预览效果

中国象棋

游戏介绍:中国象棋是起源于中国的一种棋,属于二人对抗性游戏的一种,在中国有着悠久的历史,由于用具简单,趣味性强,成为流行极为广泛的棋艺活动。阿巴阿巴阿巴

代码结构:Button类和Rect类是直接使用前面画板中的类,Qizi类是所有棋子的父类

 每个棋子都要继承Qizi父类并重写getNext方法,该方法是返回棋子可以前进的位置

Qizi类代码:

package demo01;import java.util.ArrayList;public abstract class Qizi {
//    //    行数(高)
//    public static int height=9;
//    //    列数(宽)
//    int width=8;
//    棋子的位置public Point point;
//    棋子的身份public String Id;
//    棋子的属于红方还是黑方public String color;//    棋子图片public String image;public Qizi() {}public Qizi(Point point, String id, String color, String image) {this.point = point;Id = id;this.color = color;this.image = image;}//    返回棋子可以前进的位置abstract Point[] getNext(Qizi[] qipan);
}//棋子車
class Ju extends Qizi{public Ju() {}public Ju(Point point, String id, String color, String image) {super(point, id, color, image);}public Point[] getNext(Qizi[] qipan) {ArrayList<Point> points=new ArrayList<Point>();Point pt=new Point(point);
//        向左搜索可以前进的格子while (true){
//            向左移动一格pt.x--;
//            判断这一格是否在棋盘内if (pt.x<0){break;}
//            判断这一格内是否有棋子Qizi tmp=null;for (int i = 0; i < qipan.length; i++) {if(pt.equals(qipan[i].point)==true){tmp=qipan[i];break;}}//            第一种情况,格子是空的
//            第二种情况,格子里面是对方棋子
//            第三种情况,格子里面是己方棋子if (tmp==null){points.add(new Point(pt));}else if(color.equals(tmp.color)==false){points.add(new Point(pt));break;}else{break;}}//        向右搜索可以前进的格子pt.set(point);while (true){
//            向右移动一格pt.x++;
//            判断这一格是否在棋盘内if (pt.x>=Chess001.width){break;}
//            判断这一格内是否有棋子Qizi tmp=null;for (int i = 0; i < qipan.length; i++) {if(pt.equals(qipan[i].point)==true){tmp=qipan[i];break;}}
//            第一种情况,格子是空的
//            第二种情况,格子里面是对方棋子
//            第三种情况,格子里面是己方棋子if (tmp==null){points.add(new Point(pt));}else if(color.equals(tmp.color)==false){points.add(new Point(pt));break;}else{break;}}//        向上搜索可以前进的格子pt.set(point);while (true){
//            向上移动一格pt.y--;
//            判断这一格是否在棋盘内if (pt.y<0){break;}
//            判断这一格内是否有棋子Qizi tmp=null;for (int i = 0; i < qipan.length; i++) {if(pt.equals(qipan[i].point)==true){tmp=qipan[i];break;}}
//            第一种情况,格子是空的
//            第二种情况,格子里面是对方棋子
//            第三种情况,格子里面是己方棋子if (tmp==null){points.add(new Point(pt));}else if(color.equals(tmp.color)==false){points.add(new Point(pt));break;}else{break;}}//        向下搜索可以前进的格子pt.set(point);while (true){
//            向下移动一格pt.y++;
//            判断这一格是否在棋盘内if (pt.y>=Chess001.height){break;}
//            判断这一格内是否有棋子Qizi tmp=null;for (int i = 0; i < qipan.length; i++) {if(pt.equals(qipan[i].point)==true){tmp=qipan[i];break;}}
//            第一种情况,格子是空的
//            第二种情况,格子里面是对方棋子
//            第三种情况,格子里面是己方棋子if (tmp==null){points.add(new Point(pt));}else if(color.equals(tmp.color)==false){points.add(new Point(pt));break;}else{break;}}Point[] points1 = new Point[points.size()];for (int i = 0; i < points.size(); i++) {points1[i]=new Point(points.get(i));}return points1;}}//棋子兵
class Bin extends Qizi{public Bin() {}public Bin(Point point, String id, String color, String image) {super(point, id, color, image);}Point[] getNext(Qizi[] qipan) {// 存储当前子可以前进的所有位置ArrayList<Point> points=new ArrayList<Point>();Point pt=new Point(point);if (color.equals("红色")==true && point.y<=4|| color.equals("黑色")==true &&point.y>4){
//        判断兵是否可以左移一格pt.x--;
//        1.该点在棋盘内if (pt.x>=0&&pt.x<Chess001.width){
//            判断该位置上是否是我方棋子boolean bTeam=false;for (int i = 0; i < qipan.length; i++) {if (qipan[i].point.equals(pt)==true){if (qipan[i].color.equals(color)==true){bTeam=true;}break;}}if (bTeam==false){//        2.该点上没有本方棋子points.add(new Point(pt));}}//        判断兵是否可以右移一格pt.set(point);pt.x++;
//        1.该点在棋盘内if (pt.x>=0&&pt.x<Chess001.width){
//            判断该位置上是否是我方棋子boolean bTeam=false;for (int i = 0; i < qipan.length; i++) {if (qipan[i].point.equals(pt)==true){if (qipan[i].color.equals(color)==true){bTeam=true;}break;}}if (bTeam==false){//        2.该点上没有本方棋子points.add(new Point(pt));}}}if (color.equals("红色")==true){//        判断兵是否可以上移一格pt.set(point);pt.y--;
//        1.该点在棋盘内if (pt.y>=0&&pt.y<Chess001.height){
//            判断该位置上是否是我方棋子boolean bTeam=false;for (int i = 0; i < qipan.length; i++) {if (qipan[i].point.equals(pt)==true){if (qipan[i].color.equals(color)==true){bTeam=true;}break;}}if (bTeam==false){//        2.该点上没有本方棋子points.add(new Point(pt));}}}//        判断兵是否可以下移一格if(color.equals("黑色")==true){pt.set(point);pt.y++;
//        1.该点在棋盘内if (pt.y>=0&&pt.y<Chess001.height){
//            判断该位置上是否是我方棋子boolean bTeam=false;for (int i = 0; i < qipan.length; i++) {if (qipan[i].point.equals(pt)==true){if (qipan[i].color.equals(color)==true){bTeam=true;}break;}}if (bTeam==false){//        2.该点上没有本方棋子points.add(new Point(pt));}}}Point[] points1 = new Point[points.size()];for (int i = 0; i < points.size(); i++) {points1[i]=new Point(points.get(i));}return points1;}
}//棋子马
class Ma extends Qizi{public Ma() {}public Ma(Point point, String id, String color, String image) {super(point, id, color, image);}Point[] getNext(Qizi[] qipan) {// 存储当前子可以前进的所有位置ArrayList<Point> points=new ArrayList<Point>();Point pt=new Point(point);
//        处理马向左跳的情况pt.x--;//判断马是否撇脚boolean bHefa=true;for (int i = 0; i < qipan.length; i++) {
//            撇脚if(pt.equals(qipan[i].point)==true){bHefa=false;break;}}
//        没撇脚if (bHefa==true){pt.set(point);pt.x-=2;pt.y-=1;
//            判断目标点是否有本方棋子for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){if (qipan[i].color.equals(color)==true){bHefa=false;}break;}}// 判断目标点是否在棋盘里面if (bHefa==true){if (pt.x>=0&&pt.x<Chess001.width&&pt.y>=0&&pt.y<Chess001.height){points.add(new Point(pt));}}pt.set(point);pt.x-=2;pt.y+=1;bHefa=true;//            判断目标点是否有本方棋子for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){if (qipan[i].color.equals(color)==true){bHefa=false;}break;}}// 判断目标点是否在棋盘里面if (bHefa==true){if (pt.x>=0&&pt.x<Chess001.width&&pt.y>=0&&pt.y<Chess001.height){points.add(new Point(pt));}}}//
//        处理马向右跳的情况pt.set(point);pt.x++;//判断马是否撇脚bHefa=true;for (int i = 0; i < qipan.length; i++) {
//            撇脚if(pt.equals(qipan[i].point)==true){bHefa=false;break;}}
//        没撇脚if (bHefa==true){pt.set(point);pt.x+=2;pt.y-=1;
//            判断目标点是否有本方棋子for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){if (qipan[i].color.equals(color)==true){bHefa=false;}break;}}// 判断目标点是否在棋盘里面if (bHefa==true){if (pt.x>=0&&pt.x<Chess001.width&&pt.y>=0&&pt.y<Chess001.height){points.add(new Point(pt));}}pt.set(point);pt.x+=2;pt.y+=1;bHefa=true;//            判断目标点是否有本方棋子for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){if (qipan[i].color.equals(color)==true){bHefa=false;}break;}}// 判断目标点是否在棋盘里面if (bHefa==true){if (pt.x>=0&&pt.x<Chess001.width&&pt.y>=0&&pt.y<Chess001.height){points.add(new Point(pt));}}}//        处理马向上跳的情况pt.set(point);pt.y--;//判断马是否撇脚bHefa=true;for (int i = 0; i < qipan.length; i++) {
//            撇脚if(pt.equals(qipan[i].point)==true){bHefa=false;break;}}
//        没撇脚if (bHefa==true){pt.set(point);pt.x-=1;pt.y-=2;
//            判断目标点是否有本方棋子for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){if (qipan[i].color.equals(color)==true){bHefa=false;}break;}}// 判断目标点是否在棋盘里面if (bHefa==true){if (pt.x>=0&&pt.x<Chess001.width&&pt.y>=0&&pt.y<Chess001.height){points.add(new Point(pt));}}pt.set(point);pt.x+=1;pt.y-=2;bHefa=true;//            判断目标点是否有本方棋子for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){if (qipan[i].color.equals(color)==true){bHefa=false;}break;}}// 判断目标点是否在棋盘里面if (bHefa==true){if (pt.x>=0&&pt.x<Chess001.width&&pt.y>=0&&pt.y<Chess001.height){points.add(new Point(pt));}}}//        处理马向下跳的情况pt.set(point);pt.y++;//判断马是否撇脚bHefa=true;for (int i = 0; i < qipan.length; i++) {
//            撇脚if(pt.equals(qipan[i].point)==true){bHefa=false;break;}}
//        没撇脚if (bHefa==true){pt.set(point);pt.x-=1;pt.y+=2;
//            判断目标点是否有本方棋子for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){if (qipan[i].color.equals(color)==true){bHefa=false;}break;}}// 判断目标点是否在棋盘里面if (bHefa==true){if (pt.x>=0&&pt.x<Chess001.width&&pt.y>=0&&pt.y<Chess001.height){points.add(new Point(pt));}}pt.set(point);pt.x+=1;pt.y+=2;bHefa=true;//            判断目标点是否有本方棋子for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){if (qipan[i].color.equals(color)==true){bHefa=false;}break;}}// 判断目标点是否在棋盘里面if (bHefa==true){if (pt.x>=0&&pt.x<Chess001.width&&pt.y>=0&&pt.y<Chess001.height){points.add(new Point(pt));}}}//Point[] points1 = new Point[points.size()];for (int i = 0; i < points.size(); i++) {points1[i]=new Point(points.get(i));}return points1;}
}//棋子象
class Xiang extends Qizi{public Xiang() {}public Xiang(Point point, String id, String color, String image) {super(point, id, color, image);}Point[] getNext(Qizi[] qipan) {// 存储当前子可以前进的所有位置ArrayList<Point> points=new ArrayList<Point>();Point pt=new Point(point);boolean bHefa=true;//            处理象向左上走
//            判断是否压象眼pt.x--;pt.y--;for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){bHefa=false;break;}}if (bHefa==true){//判断目标位置是否有本方棋子pt.set(point);pt.x-=2;pt.y-=2;
//            判断目标位置是否有本方棋子for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){if (color.equals(qipan[i].color)==true){bHefa=false;}break;}}//判断目标点是否在棋盘内if (bHefa==true){if (color.equals("黑色")==true){if(pt.x>=0&&pt.x<Chess001.width&&pt.y>=0&&pt.y<=4){points.add(new Point(pt));}}else{if(pt.x>=0&&pt.x<Chess001.width&&pt.y>=5&&pt.y<Chess001.height){points.add(new Point(pt));}}}}//            处理象向右上走pt.set(point);bHefa=true;
//            判断是否压象眼pt.x++;pt.y--;for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){bHefa=false;break;}}if (bHefa==true){//判断目标位置是否有本方棋子pt.set(point);pt.x+=2;pt.y-=2;
//            判断目标位置是否有本方棋子for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){if (color.equals(qipan[i].color)==true){bHefa=false;}break;}}//判断目标点是否在棋盘内if (bHefa==true){if (color.equals("黑色")==true){if(pt.x>=0&&pt.x<Chess001.width&&pt.y>=0&&pt.y<=4){points.add(new Point(pt));}}else{if(pt.x>=0&&pt.x<Chess001.width&&pt.y>=5&&pt.y<Chess001.height){points.add(new Point(pt));}}}}//            处理象向左下走pt.set(point);bHefa=true;
//            判断是否压象眼pt.x--;pt.y++;for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){bHefa=false;break;}}if (bHefa==true){//判断目标位置是否有本方棋子pt.set(point);pt.x-=2;pt.y+=2;
//            判断目标位置是否有本方棋子for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){if (color.equals(qipan[i].color)==true){bHefa=false;}break;}}//判断目标点是否在棋盘内if (bHefa==true){if (color.equals("黑色")==true){if(pt.x>=0&&pt.x<Chess001.width&&pt.y>=0&&pt.y<=4){points.add(new Point(pt));}}else{if(pt.x>=0&&pt.x<Chess001.width&&pt.y>=5&&pt.y<Chess001.height){points.add(new Point(pt));}}}}//            处理象向右下走pt.set(point);bHefa=true;
//            判断是否压象眼pt.x++;pt.y++;for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){bHefa=false;break;}}if (bHefa==true){//判断目标位置是否有本方棋子pt.set(point);pt.x+=2;pt.y+=2;
//            判断目标位置是否有本方棋子for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){if (color.equals(qipan[i].color)==true){bHefa=false;}break;}}//判断目标点是否在棋盘内if (bHefa==true){if (color.equals("黑色")==true){if(pt.x>=0&&pt.x<Chess001.width&&pt.y>=0&&pt.y<=4){points.add(new Point(pt));}}else{if(pt.x>=0&&pt.x<Chess001.width&&pt.y>=5&&pt.y<Chess001.height){points.add(new Point(pt));}}}}//Point[] points1 = new Point[points.size()];for (int i = 0; i < points.size(); i++) {points1[i]=new Point(points.get(i));}return points1;}
}//棋子士
class Shi extends Qizi{public Shi() {}public Shi(Point point, String id, String color, String image) {super(point, id, color, image);}Point[] getNext(Qizi[] qipan) {// 存储当前子可以前进的所有位置ArrayList<Point> points=new ArrayList<Point>();Point pt=new Point(point);boolean bHefa=true;Point []ptMubiao={new Point(point.x-1,point.y-1),new Point(point.x+1,point.y+1),new Point(point.x+1,point.y-1),new Point(point.x-1,point.y+1)};for (int i = 0; i < ptMubiao.length; i++) {bHefa=true;
//            判断目标点是否有本方棋子for (int i1 = 0; i1 < qipan.length; i1++) {if (ptMubiao[i].equals(qipan[i1].point)==true){if (color.equals(qipan[i1].color)==true){bHefa=false;}break;}}if(bHefa == true){//            判断目标点是否在范围内if (color.equals("黑色")==true){if (ptMubiao[i].x>=3&&ptMubiao[i].x<=5&&ptMubiao[i].y>=0&&ptMubiao[i].y<=2){points.add(new Point(ptMubiao[i]));}}else {if (ptMubiao[i].x>=3&&ptMubiao[i].x<=5&&ptMubiao[i].y>=7&&ptMubiao[i].y<=9){points.add(new Point(ptMubiao[i]));}}}}//Point[] points1 = new Point[points.size()];for (int i = 0; i < points.size(); i++) {points1[i]=new Point(points.get(i));}return points1;}
}//棋子将class Jiang extends Qizi{public Jiang() {}public Jiang(Point point, String id, String color, String image) {super(point, id, color, image);}Point[] getNext(Qizi[] qipan) {// 存储当前子可以前进的所有位置ArrayList<Point> points=new ArrayList<Point>();Point pt=new Point(point);boolean bHefa=true;Point []ptMubiao={new Point(point.x,point.y-1),new Point(point.x,point.y+1),new Point(point.x+1,point.y),new Point(point.x-1,point.y)};for (int i = 0; i < ptMubiao.length; i++) {bHefa=true;
//            判断目标点是否有本方棋子for (int i1 = 0; i1 < qipan.length; i1++) {if (ptMubiao[i].equals(qipan[i1].point)==true){if (color.equals(qipan[i1].color)==true){bHefa=false;}break;}}if(bHefa == true){//            判断目标点是否在范围内if (color.equals("黑色")==true){if (ptMubiao[i].x>=3&&ptMubiao[i].x<=5&&ptMubiao[i].y>=0&&ptMubiao[i].y<=2){points.add(new Point(ptMubiao[i]));}}else {if (ptMubiao[i].x>=3&&ptMubiao[i].x<=5&&ptMubiao[i].y>=7&&ptMubiao[i].y<=9){points.add(new Point(ptMubiao[i]));}}}}//Point[] points1 = new Point[points.size()];for (int i = 0; i < points.size(); i++) {points1[i]=new Point(points.get(i));}return points1;}
}//棋子炮
class Pao extends Qizi{public Pao() {}public Pao(Point point, String id, String color, String image) {super(point, id, color, image);}Point[] getNext(Qizi[] qipan) {// 存储当前子可以前进的所有位置ArrayList<Point> points=new ArrayList<Point>();Point pt=new Point(point);//      处理炮向左boolean bEat=false;while (true){pt.x--;//如果超出范围直接退出if (pt.x<0||pt.x>=Chess001.width||pt.y<0||pt.y>=Chess001.width){break;}boolean bYouzi=false;//目标格子是否有棋子存在boolean bFriend=false;//目标格子是否有本方棋子存在for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){bYouzi=true;if (color.equals(qipan[i].color)==true){bFriend=true;}break;}}if (bEat==false){
//                第一阶段:移动棋子//如果目标是空格的话把该该格子加到数组中if (bYouzi==false){points.add(new Point(pt));}else {//                如果目标格子有棋子,那么进入到第二该段bEat=true;}//                第二该段:吃掉棋子}else{if(bYouzi==false){}else{//如果遇到对方棋子就吃掉if (bFriend==true ){break;}else{//如果遇到本方棋子就退出points.add(new Point(pt));break;}}}}//      处理炮向右pt.set(point);
//        bEat false表示第一阶段:移动阶段
//                true表示第二阶段:吃子阶段bEat=false;while (true){pt.x++;//如果超出范围直接退出if (pt.x<0||pt.x>=Chess001.width||pt.y<0||pt.y>=Chess001.width){break;}boolean bYouzi=false;//目标格子是否有棋子存在boolean bFriend=false;//目标格子是否有本方棋子存在for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){bYouzi=true;if (color.equals(qipan[i].color)==true){bFriend=true;}break;}}if (bEat==false){
//                第一阶段:移动棋子//如果目标是空格的话把该该格子加到数组中if (bYouzi==false){points.add(new Point(pt));}else {//                如果目标格子有棋子,那么进入到第二该段bEat=true;}//                第二该段:吃掉棋子}else{if(bYouzi==false){}else{//如果遇到对方棋子就吃掉if (bFriend==true ){break;}else{//如果遇到本方棋子就退出points.add(new Point(pt));break;}}}}//      处理炮向上pt.set(point);
//        bEat false表示第一阶段:移动阶段
//                true表示第二阶段:吃子阶段bEat=false;while (true){pt.y--;//如果超出范围直接退出if (pt.x<0||pt.x>=Chess001.width||pt.y<0||pt.y>=Chess001.width){break;}boolean bYouzi=false;//目标格子是否有棋子存在boolean bFriend=false;//目标格子是否有本方棋子存在for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){bYouzi=true;if (color.equals(qipan[i].color)==true){bFriend=true;}break;}}if (bEat==false){
//                第一阶段:移动棋子//如果目标是空格的话把该该格子加到数组中if (bYouzi==false){points.add(new Point(pt));}else {//                如果目标格子有棋子,那么进入到第二该段bEat=true;}//                第二该段:吃掉棋子}else{if(bYouzi==false){}else{//如果遇到对方棋子就吃掉if (bFriend==true ){break;}else{//如果遇到本方棋子就退出points.add(new Point(pt));break;}}}}//      处理炮向下pt.set(point);
//        bEat false表示第一阶段:移动阶段
//                true表示第二阶段:吃子阶段bEat=false;while (true){pt.y++;//如果超出范围直接退出if (pt.x<0||pt.x>=Chess001.width||pt.y<0||pt.y>=Chess001.width){break;}boolean bYouzi=false;//目标格子是否有棋子存在boolean bFriend=false;//目标格子是否有本方棋子存在for (int i = 0; i < qipan.length; i++) {if (pt.equals(qipan[i].point)==true){bYouzi=true;if (color.equals(qipan[i].color)==true){bFriend=true;}break;}}if (bEat==false){
//                第一阶段:移动棋子//如果目标是空格的话把该该格子加到数组中if (bYouzi==false){points.add(new Point(pt));}else {//                如果目标格子有棋子,那么进入到第二该段bEat=true;}//                第二该段:吃掉棋子}else{if(bYouzi==false){}else{//如果遇到对方棋子就吃掉if (bFriend==true ){break;}else{//如果遇到本方棋子就退出points.add(new Point(pt));break;}}}}//Point[] points1 = new Point[points.size()];for (int i = 0; i < points.size(); i++) {points1[i]=new Point(points.get(i));}return points1;}
}

Chess类代码

package demo01;import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.ArrayList;public class Chess002 extends JFrame implements KeyListener, ActionListener, MouseListener {//    行数(高)public static int height=10;//    列数(宽)public static int width=9;//    格子的大小public static int size=86;//    标题栏的高度public static int title=113-43-5;public  static int left =75-43;public static int right=35+300;public  static int bottom=35;Button[] button=new Button[2];//     棋盘中所有的棋子Qizi []qipan=new Qizi[32];//    设置图片private Image image=null;Graphics gf=null;//  设置棋盘Image image1=Toolkit.getDefaultToolkit().getImage("C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\main.gif");//    当前选中的棋子,默认为空Qizi select=null;//    游戏状态 0表示等待红方走 1表示黑方走 2表示红方胜 3表示黑方胜int zhuangtai=0;public void Tian(){button[0]=new Button(new Rect(110*8,title+1*size,200,100),"重新开始");button[1]=new Button(new Rect(110*8,title+3*size,200,100),"红方请落子");button[1].Text=Color.red;button[1].Back=Color.WHITE;button[0].Back=Color.WHITE;qipan[0]=new Ju(new Point(0,0),"車","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑车.gif");qipan[1]=new Ju(new Point(8,0),"車","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑车.gif");qipan[2]=new Ju(new Point(0,9),"車","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红车.gif");qipan[3]=new Ju(new Point(8,9),"車","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红车.gif");qipan[4]=new Bin(new Point(0,3),"兵","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑卒.gif");qipan[5]=new Bin(new Point(2,3),"兵","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑卒.gif");qipan[6]=new Bin(new Point(4,3),"兵","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑卒.gif");qipan[7]=new Bin(new Point(6,3),"兵","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑卒.gif");qipan[8]=new Bin(new Point(8,3),"兵","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑卒.gif");qipan[9]=new Bin(new Point(0,6),"兵","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红卒.gif");qipan[10]=new Bin(new Point(2,6),"兵","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红卒.gif");qipan[11]=new Bin(new Point(4,6),"兵","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红卒.gif");qipan[12]=new Bin(new Point(6,6),"兵","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红卒.gif");qipan[13]=new Bin(new Point(8,6),"兵","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红卒.gif");qipan[14]=new Ma(new Point(1,0),"马","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑马.gif");qipan[15]=new Ma(new Point(7,0),"马","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑马.gif");qipan[16]=new Ma(new Point(1,9),"马","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红马.gif");qipan[17]=new Ma(new Point(7,9),"马","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红马.gif");qipan[18]=new Xiang(new Point(2,0),"象","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑象.gif");qipan[19]=new Xiang(new Point(6,0),"象","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑象.gif");qipan[20]=new Xiang(new Point(2,9),"象","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红象.gif");qipan[21]=new Xiang(new Point(6,9),"象","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红象.gif");qipan[22]=new Shi(new Point(3,0),"士","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑士.gif");qipan[23]=new Shi(new Point(5,0),"士","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑士.gif");qipan[24]=new Shi(new Point(3,9),"士","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红士.gif");qipan[25]=new Shi(new Point(5,9),"士","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红士.gif");qipan[26]=new Jiang(new Point(4,0),"将","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑将.gif");qipan[27]=new Jiang(new Point(4,9),"将","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红将.gif");qipan[28]=new Pao(new Point(1,2),"炮","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑炮.gif");qipan[29]=new Pao(new Point(7,2),"炮","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑炮.gif");qipan[30]=new Pao(new Point(1,7),"炮","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红炮.gif");qipan[31]=new Pao(new Point(7,7),"炮","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红炮.gif");//设置窗口的宽高this.setSize(width*size+left+right ,height*size+title+bottom);
//        设置标题this.setTitle("中国象棋");//设置窗口能看见this.setVisible(true);
//        设置窗口顶点坐标的位置this.setLocation(100,10);//设置鼠标监听事件(也就是当鼠标有什么反应都会调用此函数)this.addMouseListener(this);}@Overridepublic void paint(Graphics g) {//初始化临时图片//解决闪烁问题if(image==null){image=this.createImage(width*size+left+right,height*size+title+bottom);}if(this.gf ==null){this.gf =image.getGraphics();}//        擦除背景gf.setColor(Color.gray);gf.fill3DRect(0,0,width*size,title+height*size,true);//        绘制背景gf.setColor(Color.orange);gf.fill3DRect(0,title+0,width*size,title+height*size,true);//      画棋盘int w = (int)(558.0*1.5);int h = (int)(620*1.5);gf.drawImage(image1,0,30,w,h,null);//        画棋子for (int i = 0; i < qipan.length; i++) {Image image=Toolkit.getDefaultToolkit().getImage(qipan[i].image);gf.drawImage(image,qipan[i].point.x*size+left,qipan[i].point.y*size+title,size,size,null);}if(select!=null){// 标注选中的棋子gf.setColor(Color.cyan);gf.drawRect(select.point.x*size+left,select.point.y*size+title,size,size);// 绘制出该棋子可以移动的位置Point [] points=select.getNext(qipan);for (int i1 = 0; i1 < points.length; i1++) {gf.setColor(new Color(2, 145, 219, 250));
//                    gf.fillOval(points[i1].x*size+left,points[i1].y*size+title,size,size);gf.fillOval(points[i1].x*size+left+(size-20)/2,points[i1].y*size+title+(size-20)/2,20,20);}}//        绘制按钮for (int i = 0; i < button.length; i++) {
//            绘制按钮选中颜色if (button[i].bXuanzhong==true){gf.setColor(Color.pink);gf.fillRect(button[i].rect.x,button[i].rect.y,button[i].rect.width,button[i].rect.height);//                绘制按钮为选中时的颜色}else {gf.setColor(button[i].Back);gf.fillRect(button[i].rect.x,button[i].rect.y,button[i].rect.width,button[i].rect.height);}
//           当按钮是悬停状态时,字体颜色设置为白色if(button[i].bXuanTing==true){gf.setColor(Color.white);//           当按钮是非悬停状态时,字体颜色设置为黑色}else{gf.setColor(button[i].Text);}gf.setFont(new Font("华文新魏", 10, 35)); //设置字体gf.drawString(button[i].name,button[i].rect.x+(button[i].rect.width-button[i].name.length()*35)/2,button[i].rect.y+(button[i].rect.height+35/2)/2);}g.drawImage(image,0,0,null);}public void actionPerformed(ActionEvent e) {}public void keyTyped(KeyEvent e) {}public void keyPressed(KeyEvent e) {}public void keyReleased(KeyEvent e) {}public void mouseClicked(MouseEvent e) {}//    鼠标按压事件public void mousePressed(MouseEvent e) {//        处理鼠标左键if(e.getButton()==e.BUTTON1) {
//            鼠标点击的真实坐标int realx = e.getX();int realy = e.getY();//            被点击的按钮, 空表示没有按钮被点击, 如果点击了某个按钮, 那么name就记录按钮的名字String name="";//            判断鼠标左键按压的地方在不在按钮内部for (int i = 0; i < button.length; i++) {if(button[i].isInButton(realx,realy)==true){
//                    记录鼠标左键按压按钮的名字name=button[i].name;break;}}//            处理各种按钮的按压事件if ("重新开始".equals(name) == true) {System.out.println(name);qipan = new Qizi[32];qipan[0]=new Ju(new Point(0,0),"車","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑车.gif");qipan[1]=new Ju(new Point(8,0),"車","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑车.gif");qipan[2]=new Ju(new Point(0,9),"車","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红车.gif");qipan[3]=new Ju(new Point(8,9),"車","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红车.gif");qipan[4]=new Bin(new Point(0,3),"兵","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑卒.gif");qipan[5]=new Bin(new Point(2,3),"兵","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑卒.gif");qipan[6]=new Bin(new Point(4,3),"兵","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑卒.gif");qipan[7]=new Bin(new Point(6,3),"兵","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑卒.gif");qipan[8]=new Bin(new Point(8,3),"兵","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑卒.gif");qipan[9]=new Bin(new Point(0,6),"兵","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红卒.gif");qipan[10]=new Bin(new Point(2,6),"兵","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红卒.gif");qipan[11]=new Bin(new Point(4,6),"兵","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红卒.gif");qipan[12]=new Bin(new Point(6,6),"兵","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红卒.gif");qipan[13]=new Bin(new Point(8,6),"兵","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红卒.gif");qipan[14]=new Ma(new Point(1,0),"马","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑马.gif");qipan[15]=new Ma(new Point(7,0),"马","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑马.gif");qipan[16]=new Ma(new Point(1,9),"马","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红马.gif");qipan[17]=new Ma(new Point(7,9),"马","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红马.gif");qipan[18]=new Xiang(new Point(2,0),"象","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑象.gif");qipan[19]=new Xiang(new Point(6,0),"象","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑象.gif");qipan[20]=new Xiang(new Point(2,9),"象","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红象.gif");qipan[21]=new Xiang(new Point(6,9),"象","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红象.gif");qipan[22]=new Shi(new Point(3,0),"士","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑士.gif");qipan[23]=new Shi(new Point(5,0),"士","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑士.gif");qipan[24]=new Shi(new Point(3,9),"士","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红士.gif");qipan[25]=new Shi(new Point(5,9),"士","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红士.gif");qipan[26]=new Jiang(new Point(4,0),"将","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑将.gif");qipan[27]=new Jiang(new Point(4,9),"将","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红将.gif");qipan[28]=new Pao(new Point(1,2),"炮","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑炮.gif");qipan[29]=new Pao(new Point(7,2),"炮","黑色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\黑炮.gif");qipan[30]=new Pao(new Point(1,7),"炮","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红炮.gif");qipan[31]=new Pao(new Point(7,7),"炮","红色","C:\\Users\\meisir666\\Desktop\\象棋\\src\\main\\java\\demo01\\image\\红炮.gif");//  button[1]=new Button(new Rect(110*8,title+3*size,200,100),"红方请落子");button[1].Text=Color.red;button[1].name = "红方请落子";select = null;zhuangtai = 0;repaint();return;}Point ptGezi=new Point(-1,-1);
//            int gezix=-1;
//            int geziy=-1;//            将真是坐标转换为格子坐标if(realx<0+left ||realx>width*size+left||realy<title||realy>height*size+title){select=null;}else {//说明这个点在棋盘里ptGezi.x=(realx-left)/size;ptGezi.y=(realy-title)/size;if(select==null){// 如果点中了落子方的棋子那么将该子设置为选中状态Qizi click=null;//                    遍历棋子,测试是否点中棋子for (int i = 0; i < qipan.length; i++) {if (ptGezi.equals(qipan[i].point)==true){click=qipan[i];break;}}//                    选中棋子if (click!=null){if (zhuangtai==0&&click.color.equals("红色")||zhuangtai==1&&click.color.equals("黑色")){select=click;}}}else {
//                  获取选中棋子,可以前进的位置Point[] points=select.getNext(qipan);// 第一种情况,目标点是可以前进的位置// 如果该位置上有对方的棋子,那么就吃掉对方棋子boolean bGo = false;for (int i = 0; i < points.length; i++) {if (points[i].equals(ptGezi)==true){bGo=true;break;}}// 第二个点,是可以前进的位置if(bGo==true){Qizi qzEat = null;ArrayList<Qizi> list = new ArrayList<Qizi>();for (int i = 0; i < qipan.length; i++) {if( qipan[i].point.equals(ptGezi)==true) {// 吃掉对方的棋子qzEat = qipan[i];}else {list.add(qipan[i]);}}if(qzEat == null){select.point.set(ptGezi);select=null;}else {// 删除被吃掉的棋子qipan = new Qizi[list.size()];for (int i = 0; i < qipan.length; i++) {qipan[i] = list.get(i);}// 移动选中的棋子select.point.set(qzEat.point);select=null;// 判断被吃掉的棋子是否是将,如果是的话,就输了if(qzEat.Id.equals("将") == true){if(qzEat.color.equals("黑色")==true) {zhuangtai =2;button[1].name="红方胜";button[1].Text=Color.red;} else{zhuangtai =3;button[1].name="黑方胜";button[1].Text=Color.black;}}}if(zhuangtai ==0){zhuangtai = 1;button[1].name="黑方请落子";button[1].Text=Color.black;}else if(zhuangtai ==1){zhuangtai = 0;button[1].name="红方请落子";button[1].Text=Color.red;}// 第二个,不是可以前进的位置}else {select = null;// 如果点击的位置为本方棋子,那么继续选中这个棋子for (int i = 0; i < qipan.length; i++) {if (ptGezi.equals(qipan[i].point)==true){if (zhuangtai==0&&qipan[i].color.equals("红色")|| zhuangtai==1&&qipan[i].color.equals("黑色")){select=qipan[i];break;}}}}// 第二种情况,目标点不在可前进的位置//  如果选中了,自己方的棋子,则把该棋子设置为选中桩体}}}repaint();}public void mouseReleased(MouseEvent e) {}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public static void main(String[] args) {Chess002 chess=new Chess002();chess.Tian();}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/58685.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数影周报:小米汽车供应商被罚100万,1688延迟下线“1688买家旺旺”

本周看点&#xff1a;小米汽车供应商被罚100万&#xff1b;特斯拉将在硅谷招聘AI 人才&#xff1b;阳光出行等25款 App涉违规收集使用个人信息等&#xff1b;1688延迟于2月8日下线“1688买家旺旺”&#xff1b;微蚁科技完成数千万元B轮融资...... 数据安全那些事 小米汽车供应商…

Coggle 30 Days of ML (23年7月)任务二:数据可视化

Coggle 30 Days of ML (23年7月&#xff09;任务二&#xff1a;数据可视化 任务二&#xff1a;对数据集字符进行可视化&#xff0c;统计标签和字符分布 说明&#xff1a;在这个任务中&#xff0c;需要使用Pandas库对数据集的字符进行可视化&#xff0c;并统计数据集中的标签和…

阿里云服务器ECS是什么?详细介绍

阿里云服务器ECS是什么&#xff1f;云服务器和传统的物理服务器有什么区别&#xff1f;云服务器有哪些优势&#xff1f;云服务器可以什么&#xff1f;云服务器架构及云服务器包含哪些功能组件&#xff1f;阿里云百科来详细说下什么是云服务器ECS&#xff1a; 目录 阿里云服务…

使用Chrome修改user agent模拟微信内置浏览器

很多时候&#xff0c;我们需要模拟微信内置浏览器&#xff0c;今天教大家用 chrome 简单模拟。如图设置&#xff1a; F12或者右键审查元素进入开发者模式&#xff0c;点击Emulation&#xff0c;然后点击Network&#xff0c;把Spoof user agent改成Other&#xff0c;并把下面…

数据分析案例-足球运动员分析

目录 加载数据 查看数据 数据详细 ​缺值处理 异常值处理 重复值处理 运动员身高和体重分布 左脚右脚使用数量 俱乐部球员评分分析 足球运动员数是否与出生日期相关 身高与体重是否具有相关性 加载数据 #加载足球运动员数据 import numpy as np import pandas as pd impor…

如何用算法预测世界杯?

预测2021欧洲世界杯 世界杯预测结果预测的原理是什么&#xff1f;周易算卦原理算命可以解决的问题善易者不卜 人工智能预测原理预测模型&#xff1a;逻辑回归算法可以预测的问题 可以单挑整个华尔街的算法现代足球 世界杯预测结果 预测2021年欧洲世界杯&#xff0c;也是一道考…

采用 Python 机器学习预测足球比赛结果

足球是世界上最火爆的运动之一,如何运用机器学习来预测足球比赛结果,是每一个足球爱好者所向往的! 本场 Chat 适合有 Python 基础的机器学习初学者,我们带你一起熟悉机器学习的开发流程,帮你快速建立起自己的英超比赛预测模型! 你将获取到如下内容: 人工智能在线建模平…

按键精灵移动端系列 - 按键精灵IOS版 之 网络已断开,请检查网络连接.解决方案.

由于很多网友对这种问题,不知道如何处理.因本人也曾遇到过这种情况.经过不懈努力终于解决了这个神奇的BUG.长话短说上操作流程.如果觉得给力,请三连 点赞. 收藏. 转发. 谢谢您的支持. ** 1 安装雷锋源: apt.abcydia.com 2安装好雷锋源, 搜索: conditionalwifi 更新到最新版 …

按键精灵助手无法连接模拟器解决方案【适用任何模拟器】

找到按键精灵安装地址 D:\ProgramData\按键精灵\按键精灵手机助手\android 找到木木安装地址&#xff0c;并搜索adb.exe,未找到 但是在D:\Program Files (x86)\MuMu\emulator\nemu\vmonitor\bin找到 adb_server.exe 以及另外两个.dll 复制着三个文件到按键精灵上述文件夹&#…

国行版苹果 ios 按键精灵无法联网问题处理

国行版苹果手机安装按键精灵后无法联网的问题&#xff1a; 操作步骤&#xff1a; &#xff08;1&#xff09;自行把苹果手机进行越狱&#xff0c;找到并打开越狱商店“Cydia” &#xff0c;其他商店同理&#xff0c;按照如下图步骤添加 “雷锋源”&#xff0c;源地址&#xff…

网易mumu显示无法连接服务器,网易MuMu无法连接网络_网易MuMu如何实现多开

网易MuMu是由网易全方面打造的一种非常具有精品特色的游戏服务平台&#xff0c;这款游戏服务平台在下载安装之后可以直接运行电脑上的各种不同游戏和应用程序&#xff0c;同时它的兼容性是比较强的&#xff0c;有着非常流畅的操作过程&#xff0c;还可以通过智能辅助等优秀特色…

网易mumu模拟器adb连接配置

一、 网易mumu模拟器下载 二、安装模拟器到本机指定目录 1、例如&#xff1a;D:\Program Files\MuMu 2、adb文配置相关文件位于&#xff1a;D:\Program Files\MuMu\emulator\nemu\vms\myandrovm_vbox86下&#xff0c;如下图所示&#xff1a; 3、打开myandrovm_vbox86.nemu文件…

uni-app 连接不上夜神模拟器

uni-app 连接不上夜神模拟器 第一步打开运行设置 设置端口号 第二步通过cmd命令去连接模拟器 我这利用的是HX 找到&#xff1a;HBuilderX.3.1.17.20210608.full\HBuilderX\plugins\launcher\tools\adbs 直接cmd 执行下面两个命令 adb connect 127.0.0.1:62001 adb devices…

夜神模拟器无法连接网络的解决办法

我们经常会在电脑上安装安卓模拟器来玩一些手机游戏或者运行手机软件&#xff0c;但是有时候可能由于网络不好等原因导致模拟器连接不上网络。比如夜神模拟器无法连接网络怎么办&#xff1f;下面就来看看解决的办法。 夜神模拟器无法连接网络怎么办&#xff1a; 1、同时按下“w…

按键精灵手机助手如何连接安卓版按键精灵如何连接手机助手

通过上述讲解过的按键精灵如何下载文章得知,按键精灵手机版分为两个版本,分别为安卓版和IOS版,都是需要连接在按键精灵手机助手运行,按键精灵手机助手则必须在电脑上安装运行。好的,下面我们就来逐步讲解一下,手机版按键精灵如何使用。 首先,我们打开已经安装完成的按键…

天天模拟器显示获取服务器失败,天天模拟器无法联网怎么办-天天模拟器不能上网的解决方法 - 河东软件园...

天天模拟器是目前最热门的安卓模拟器软件&#xff0c;这是国内自主研发的一款优秀模拟器&#xff0c;其采用了持OpenGL硬件加速技术&#xff0c;能够帮助用户稳定的运行各类安卓应用&#xff0c;&#xff0c;并且具备了应用多开&#xff0c;软件具备了操作简单、稳定流畅等诸多…

qq手机助手连接服务器失败是什么原因,按键精灵手机助手教程,按键精灵手机助手连不上手机解决方法...

下面是按键精灵手机助手教程&#xff0c;按键精灵手机助手连不上手机解决方法 一、打开已安装的软件并单击[新建脚本]以创建新的游戏脚本 二、单击[我的脚本]查看创建或下载的脚本 三、点击[移动连接]将您的移动电话与数据线连接&#xff0c;方便测试脚本 我们得到了根用户的许…

总是助手服务器失败怎么回事,《遇见逆水寒》连接服务器失败解决方法汇总 服务器连接失败问题原因...

导 读 遇见逆水寒连接服务器失败怎么回事&#xff0c;近期不少小伙伴都在反映遇见逆水寒助手连接服务器失败&#xff0c;一直登不上去是怎么回事&#xff0c;小编这就为大家分享下遇见逆水寒连接服务器失败解决方法。 遇见逆水寒连接服务器失败解决方法... 遇见逆水寒连接服务器…

遇见逆水寒最新服务器是哪个,遇见逆水寒连接服务器失败怎么回事_遇见逆水寒连接服务器失败解决办法_玩游戏网...

《遇见逆水寒》是《逆水寒》同版本的手游系列&#xff0c;也是拥有了很多的玩家&#xff0c;最近玩家在登录《遇见逆水寒》服务器的时候遇到了连接失败的情况&#xff0c;这是怎么回事呢&#xff1f;要如何解决呢&#xff1f;下面就和玩游网小编一起来了解一下&#xff01; 《遇…

解决夜神模拟器连接不上问题

一般端口占用的问题比较多&#xff0c;常见的如酷狗音乐、杀毒软件&#xff0c;不建议同时使用&#xff1b;也可以采取如下方法解决。 一、5037端口号占用 1.输入下面的命令查询哪个占用了5037端口 netstat -ano | findstr "5037" 出现下面信息 TCP 127.0.0.…