Java课程设计——象棋(201521123042 姚佳希)

时间:2024-10-19 15:04:56

1. 团队课程设计博客链接

Java课程设计(团队版)

2 个人负责模块或任务说明

  • ChessBoard类创建棋盘及界面。
  • ChessPoint类创建棋盘格点及界面。
  • ChessPiece类创建棋子及界面。
  • 和小伙伴一起设计的界面。

3自己的代码提交记录截图

Java课程设计——象棋(201521123042 姚佳希)

4.自己负责模块或任务详细说明

  • ChessPiece类创建棋子

    (1)属性:该类中包含对象包括棋子类型(红方黑方),棋子名称,棋子颜色。

    (2)功能:paint(Graphics g)方法画棋子(棋子大小颜色以及字体)。类中包含多种方法可获取棋子信息(大小,类别)等。
  • ChessBoard类创建棋盘

    (1)关键属性:棋子、棋点、游戏规则、记录走棋

    (2)包含方法:首先利用ChessBoard()方法构造棋盘,输入参数即可确定长和宽,以及棋格的长宽。其次利用设计棋子类似的方法画出棋盘布局。最后加入鼠标操作的方法(点击、移动、释放等),实现下棋过程中移动棋子的功能。

    (3)总结功能:创建棋盘,玩家可以用鼠标控制象棋的移动。棋盘的游戏规则属性来限定不同类型棋子的移动位置(例如马走日象走田) ,违反规则棋子将返回原来的位置。
  • ChessPoint类创建棋格点

    (1)属性:棋子坐标、判断是否有棋子的对象

    (2)主要功能:ChessPoint()方法构造棋格点并将棋子放入棋盘中,isPiece()功能判断是否有棋子,reMovePiece()方法负责吃棋子的时候,被吃棋子的移除。

    Java课程设计——象棋(201521123042 姚佳希)

5课程设计感想

  • 上面写的三个类的逻辑关系:Chess主类->Chessboard->ChessPoint、ChessPiece。每个类之间的关系要分清楚,否则会一团糟
  • 棋盘是最难的部分,需要设置棋格点来判断该位置是否有棋子,从而完成走棋等步骤。
  • 很多东西不懂都是上网百度和求助大佬的,还有很多功能缺陷待完善。