C++ MFC棋牌类小游戏day3】的更多相关文章

今天开始设计小人棋子. 画法跟画虎一样,唯一不一样的是小人在刚开始会有重叠的情况,所以画起来可能比虎的棋子能够难一点. 我打算用Location结构体中的num来标记每个棋盘坐标存在棋子的个数,isHavePiece来标记坐标是否存在棋子. 这样的话,需要在虎棋子那边把这两个变量插入数据,而且需要把棋盘坐标vector容器内数据进行修改. 暂时先把初始化的棋盘放在PaintPiece方法中,等后面设计移动棋子的时候会把这部分移出去. 这样,一个很low的棋盘就做出来了 先凑合看着吧,在Piece…
好用没用过C++做一个完整一点的东西了,今天开始希望靠我这点微薄的技术来完成这个小游戏. 我现在的水平应该算是菜鸟中的战斗鸡了,所以又很多东西在设计和技术方面肯定会有很大的缺陷,我做这个小游戏的目的单纯为了证明一下我到底还是不是个程序员... 这个小游戏是我小时候玩过的一种棋盘类游戏,可能只在我们那边才会知道,不过现在小孩估计已经很少玩了,搞不好要失传了...这个游戏名叫马虎吃小人. 大概介绍一下游戏,下面是游戏布局 方框代表老虎,三角形代表小人,每次只能向前后左右一个方向移动一个格,不能斜着走…
双人单机小游戏做完了,规则那部分还没介绍,暂时不打算介绍了,因为写的这个bug太多,我打算重新修改. 链接:https://pan.baidu.com/s/1XQKPSv0Tw36Qi2TeaRJiMQ 提取码:et4m 这是有bug的小游戏,大家可以一起找bug 更新的游戏以提交  https://pan.baidu.com/s/1z0JCTyLE8qurToyxZJn7yg 如果需要源码可以私聊我  …
先整理一下之前的内容: 1.画了棋盘,把棋盘的每个点的状态都保存起来. 2.画棋子,分别用tiger类和people类画了棋子,并且保存了棋子的初始状态. 下面开始设计棋子的移动: 1.单机棋子,选中要移动的棋子 触发鼠标单机事件,传递窗口坐标. 把窗口坐标转换成棋盘坐标. 判断棋盘坐标是否有棋子,没有棋子直接返回. 更改棋子的状态,isChose 更改棋盘坐标的状态.num   isHavePiece根据num判断 2.单机棋盘坐标,选中要移动的位置 触发鼠标单机事件,传递窗口坐标. 把窗口坐…
根据昨天的计划,今天开始做下面的内容. 1.鼠标点击事件 2.点击坐标进行处理.(坐标转换) 3.判断选中的位置是否有效. 4.确定选中的棋子,设置棋子的状态和棋子所在坐标的状态. 5.判断移动是否有效 6.设置移动后棋子的状态和坐标的状态. 鼠标点击事件在View中进行.如何把棋子移动和坐标转换进行有效的解耦合是当前的问题. 我开始的想法是Move单独写成一个类,坐标转换单独写一个Common,当触发鼠标左键点击时间时候,调用Move类,Move类中通过坐标转换算法,计算出坐标,暂时先不考虑规…
反思了一下昨天的设计,觉得略有不足,我决定把棋盘做成单例模式.这样的话需要重新设计棋盘类,emmm,是新建棋盘类. Baord类 成员变量: Location  coordinate;//棋子坐标 bool isHavePiece;//记录是否有棋子 CRect rect;//备用 vector<Loaction> all_Board;//整个棋盘 方法: int  Coordinate_Px(Location  loc,CRect &rect); int  Px_Coordinate…
接上一节,游戏控制首先要解决的就是碰撞检测了 这里用到了学习笔记(三)射线检测的内容了 以鸟为射线原点,向前.上.下分别发射3个射线,射线的长度较短大概为10~30. 根据上一节场景的建设,我把y轴设为前进方向,z轴设为高度~ 如果射线返回有结果,那么说明鸟遇到了障碍物.代码如下: var raycaster1 = new THREE.Raycaster(birdmesh.position, new THREE.Vector3(0, 1, 0), 0, 30) var raycaster2 =…
前言  这款安卓小游戏是基于SurfaceView的飞行射击类游戏,采用Java来写,没有采用游戏引擎,注释详细,条理比较清晰,适合初学者了解游戏状态转化自动机和一些继承与封装的技巧. 效果展示     游戏概述 这里主要涉及的技术有:①SurfaceView框架 ②角色.武器的封装 ③辅助帧动画 ④追踪打击算法 ⑤多武器实现 ⑥敌我升级策略 ⑦模拟手柄.其中SurfaceView游戏框架我在[[安卓] 8.VIEW和SURFACEVIEW游戏框架]有详细介绍,接下来我还将再次分析下:对于角色.…
标签: android服务器 2013-10-09 17:28 3618人阅读 评论(0) 收藏 举报 分类: android(11) 转自:http://blog.csdn.net/bromon/article/details/253330 Bromon原创 请尊重版权 一个多人在线的棋牌类网络游戏的项目临近尾声,我参与了该项目的整个设计流程,并且完成了90%的核心代码.关于这个项目,有很多地方值得聊一聊.本系列不打算把这个项目将得多么详细规范,那是设计文档应该描述的,我打算只说说一些值得注意…
下面简单介绍一下我这个游戏:基本上就3个画面(准备再添加一个胜利的界面)开始画面,一个按钮,点击进入游戏游戏画面,滚动的背景,触摸移动的老鹰,从天而降的翔,以及右上角的时间条结束画面,显示结果,关注按钮和重玩一次按钮  游戏主文件:GameContainer.ts(游戏逻辑)4个类文件:GameUtil.ts(功能集合),BgMap.ts(背景滚动),Shit.ts(翔的创建和回收),ScorePanel.ts(结果展示) /**GameUtil.ts*/ /**基于圆心的碰撞检测*/ publ…