zoukankan      html  css  js  c++  java
  • C++ MFC棋牌类小游戏day5

    先整理一下之前的内容:

    1.画了棋盘,把棋盘的每个点的状态都保存起来。

    2.画棋子,分别用tiger类和people类画了棋子,并且保存了棋子的初始状态。

    下面开始设计棋子的移动:

    1.单机棋子,选中要移动的棋子

    触发鼠标单机事件,传递窗口坐标。

    把窗口坐标转换成棋盘坐标。

    判断棋盘坐标是否有棋子,没有棋子直接返回。

    更改棋子的状态,isChose

    更改棋盘坐标的状态。num   isHavePiece根据num判断

    2.单机棋盘坐标,选中要移动的位置

    触发鼠标单机事件,传递窗口坐标。

    把窗口坐标转换成棋盘坐标。

    更改棋子的状态,x y num isChose

    更改前后两个棋盘坐标的状态。

    有发现一个大坑,tiger和people两个类应该放在ruler里面定义,View界面通过调用ruler来设置tiger和people

    填完坑,然后在ruler类中写ClientToMove方法,用来判断棋子的选中和移动。

    根据上面所述,吧棋盘和棋子的状态改变一下。

    然后就是根据棋子状态画棋子了。

    虎的棋子还好画一点,因为虎没有重叠,直接根据坐标就能画出。

    人的棋子开始有重叠,需要进行判断画出不同的棋子。

    不过有了初始化时候的经验,这些应该不是问题了。

    先画虎的Chose

  • 相关阅读:
    第十一章 表单与验证
    第十章 日期与时间
    第九章 正则表达式
    第八章 字符串处理
    纯C实现面向对象之接口编程
    csharp 面向对象编程
    cpp面向对象编程
    javascriptMVC框架面向对象编程
    堆栈的区别
    Java堆栈简介
  • 原文地址:https://www.cnblogs.com/smh2015/p/9695888.html
Copyright © 2011-2022 走看看