如果觉得还不错的话请赏个 star 呗。
从流程图中可以看出首先判断棋子有没有被选中(鼠标点击位置是否有棋子)
pygame 提供了现成的方法:
如果是 hidden 状态,则进行翻转翻转之後该棋子状态变为 active,这样翻转就实现了
然后我们来看棋子的移动功能的实现
1、选中一枚本方棋子(选中之后 select_chess就被赋值了)
2、第二次点击位置没有棋子并且满足选中棋子的移动规则
棋子的移动只能向左,向右向上,向下移动
棋子是否可以移动到鼠标点击的当前位置,怎么来判断呢
如果鼠标点击位置在对应的区域内,就修改选中对象的位置这样就实现了棋子的移动。
这款小游戏是一个双人对战的游戏,那总有一个标誌来决定每一方玩家行为的开始和结束再通俗点儿,就是什么标志着行为的开始那些标志着行为的结束(交接)。思考之后大概是鉯下三种情况:
注意,都是要完毕意味着三个动作必须有一个动作完成才能交接,我这儿使用 selelct_chess 变量来判定