
game
文章平均质量分 56
kiki喜欢吃蛋糕
没有更新就是去吃蛋糕啦@^ - ^@
展开
-
java游戏实战chess-3.Piece类之knight
一.Piece类Piece代表棋子类,每一枚棋子都有对应的位置坐标和对应的阵营(Alliance)(黑子或者白子)。我们需要限制棋子的移动位置,限制因素有很多,比如它所属阵营,它的本身属性,移动的位置处是否有其他子占用等等。所以我们需要定义棋子的合法移动抽象方法(calculateLegalMoves)来计算合法移动。public class abstract Piece{ protected final int piecePosition; protected final Alliance pi原创 2022-02-13 18:45:35 · 2478 阅读 · 0 评论 -
java游戏实战chess-2.Tile类
棋盘布局分析:国际象棋棋盘有64个格子,我们通过Tile类表示格子,通过构造函数,当我们构造一个新的tile实例时,对应的会产生一个tile坐标,这个坐标即为传递给构造函数的相应内容。我们把这个类定义为抽象类,只需在子类中定义即可。我们还需要判断某个tile是否被占用,如果未被占用,需要返回null。我们创建EmptyTile类表示空格子,它会调用父类的构造函数。Tile类分析:第一版:tile=OccupiedTile+EmptyTile将格子分为被占用和未被占用两类(注意tile是抽象类不能被原创 2022-01-03 19:31:04 · 2234 阅读 · 0 评论 -
java游戏实战chess-1.简介
在网上找到一些大牛们之前做好的chess游戏,打算用代码的角度来下一盘棋。成果见下图:试了一下手,移动棋子操作不是很顺畅,但是基本满足了国际象棋的要求,包括王车易位,吃过路兵,还支持人人交互,人机交互,棋盘颜色自定义,棋子风格选择,记录移动位置等。代码难点也是下棋的难点,每一种棋子都有约束:路径约束,棋子与棋子相克约束,黑白棋约束。例如小兵只能一次单走一个或者两个格子,还不能走到有棋子的格子。更为复杂的吃原创 2022-01-02 22:01:02 · 2505 阅读 · 0 评论