注意:
因为曹操的移动是整体的移动,所以在判断时候四个位置是同时的
这里的算法只能第一个曹操进行移动,所以会有不足之处,仅供参考,
不过思想都是差不多的,
所以如果想完善的可以进行修改。
设计控制台版本的华容道游戏,用户输入人物和移动方向,能够判断可否移动,并且根据给定方向和人物,进行移动。请自行设计人物类,并实现相应的功能。
实现代码:
package HuaRongSetDone;
public class Person {
private String name;
private int flag=0;//用来标记状态
private int sign=0;
Person(String name,int flag){
this.name=name;
this.flag=flag;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setFlag(int flag) {
this.flag=flag;
}
public int getFlag() {
return flag;
}
}
ChessBoard类:
package HuaRongSetDone;
public class ChessBoard {
Person[][] board=new Person[5][4];
//空参构造,初始化二维数组
public ChessBoard(){
board[0][0]=new Person("马",1);
board[1][0]=new Person("超",1);
board[0][1]=new Person("曹",2);
board[0][2]=new Person("操",2);
board[1][1]=new Person("曹",3);
board[1][2]=new Person("操",3);
board[0][3]=new Person("张",4);
board[1][3]=new Person("飞",4);
board[2][0]=new Person("赵",5);
board[3][0]=new Person("云",5);
board[2][1]=new Person("关",6);
board[2][2]=new Person("羽",6);
board[3][1]=new Person("丙",7);
board[3][2]=new Person("丁",8);
board[2][3]=new Person("黄",9);
board[3][3]=new Person("忠",9);
board[4][0]=new Person("甲",10);
board[4][3]=new Person("乙",11);
board[4][1]