华容道问题

注意:
因为曹操的移动是整体的移动,所以在判断时候四个位置是同时的
这里的算法只能第一个曹操进行移动,所以会有不足之处,仅供参考,
不过思想都是差不多的,
所以如果想完善的可以进行修改。

设计控制台版本的华容道游戏,用户输入人物和移动方向,能够判断可否移动,并且根据给定方向和人物,进行移动。请自行设计人物类,并实现相应的功能。

实现代码:

 

 

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]
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值