C++ MFC棋牌类小游戏day3

今天开始设计小人棋子。

画法跟画虎一样,唯一不一样的是小人在刚开始会有重叠的情况,所以画起来可能比虎的棋子能够难一点。

我打算用Location结构体中的num来标记每个棋盘坐标存在棋子的个数,isHavePiece来标记坐标是否存在棋子。

这样的话,需要在虎棋子那边把这两个变量插入数据,而且需要把棋盘坐标vector容器内数据进行修改。

暂时先把初始化的棋盘放在PaintPiece方法中,等后面设计移动棋子的时候会把这部分移出去。

这样,一个很low的棋盘就做出来了

先凑合看着吧,在Piece类中创建一个初始化的方法,把画棋子的代码移动到初始化方法中。

创建了一个纯虚函数virtual void InitPiece(CDC *pDC) = 0;

本以为需要通过二级指针进行传CDC,没想到使用一级指针就可以(理论上本来就可以,是我自己多虑了。。。)

今天程序暂时这样了,先对移动棋子进行设计一下。

涉及到的方面:

1.鼠标点击事件

2.点击坐标进行处理。(坐标转换)

3.判断选中的位置是否有效。

4.确定选中的棋子,设置棋子的状态和棋子所在坐标的状态。

5.判断移动是否有效

6.设置移动后棋子的状态和坐标的状态。

功能方面暂定是这样,程序设计方面暂定设计一个Move类,在Piece类中的move方法中进行调用。

具体的程序设计在写代码之前再考虑一下。

下面是今天的代码

链接:https://pan.baidu.com/s/1eLHc7YKRUgltnCFQ6PLzww 密码:544g

 

转载于:https://www.cnblogs.com/smh2015/p/9691629.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值