【Qt象棋游戏】04_象棋走棋规则——車、炮、士

01 - 象棋规则

  经过两篇前面棋盘和棋子绘制,象棋框架基本成型,紧接着要实现象棋走棋规则,让象棋游戏真正能“动起来”。
  象棋规则中:马走日,象走田;,车走直,炮隔一, 士走斜,将不出田;,兵去不还。这是象棋棋子行走规则的基本规则,下面看看详细分析象棋移动步骤。

02 - 棋子移动规则

  根据象棋规则制定棋子移动规则,简而言之就是通过代码判断选中棋子能不能移动?如果能移动,那么该棋子就把它所在QLabel绘画到目标坐标,否则不能绘画,这就是移动棋子的基本思路,具体实现方法在后面讲解。现在先看下有哪些相关方法。

 //-----------  判断各种类型棋子能不能移动 ------------//
   bool canMove(     int moveID, int killID, int x, int y);
   bool canMoveSHI(  int moveID, int killID, int x, int y);
   bool canMoveBING( int moveID, int killID, int x, int y);
   bool canMoveXIANG(int moveID, int killID, int x, int y);
   bool canMoveMA(   int moveID, int killID, int x, int y);
   bool canMoveCHE(  int moveID, int killID, int x, int y);
   bool canMovePAO(  int moveID, int killID, int x, int y);
   bool canMoveJIANG(int moveID, int killID, int x, int y);


   void getPicName();                   // 获取棋子图片名字
   bool existChess(int x, int y);       // 判断坐标上有没有棋子
   int  getChessID(int x, int y);       // 获取棋子的ID
   void showDeadChess(int  chessID);    // 显示阵亡棋子数目

   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值