这是经典的下 100 层游戏。>_<
通过鼠标左右键或者键盘 A、D 按键及左右方向键控制小球左右移动,木板会不断上升,小球到底认定游戏结束,按下键盘后小球会加速到一个最大速度,小球在木板上则会跟着木板上移,达到一定分数启动反向操作。
本程序采用单例设计模式,RollingBall 公有继承 BallAndPlank,protected 便于派生类访问基类数据成员。
木板的颜色随机,位置随机。
界面由初始化界面大小控制,可自行更改。
游戏运行截图如下:
游戏的完整源代码如下:
/*
项目名称:
RollingBall
作者:
tzdhu.z@qq.com (1926594835)
编译环境:
Visual Studio 2017,EasyX_20190219(beta)
发布日期:
2019-2-2
最后修改:
2019-2-23
项目介绍:
本程序由单例设计模式
...
这是一个贪吃蛇大作战类游戏,修改特性为 AI 不互杀;
该程序有四个类:蛇基类 SnakeBase,玩家类 Player,AI 类,Game 类;
SnakeBase 和 AI 均继承自 SnakeBase,SnakeBase 提供基础接口;
Game 提供数据初始化以及游戏主循环。
程序设计之初,采用“实运行”方式,即所有动画均在地图 imgMap 上真实绘制,
这样却有一些严重的问题,需要不断地记录节点背景以恢复节点经过的地方等。
后修改为“虚运行”方式,判断位置是否可视后直接绘至窗口内,
这样大大降低时间开销,同时不会因为蛇靠近而产生不可擦除的颜色。
至于蛇运行,采用位置继承,即节点下一个位置为上一个节点的位置,但是会发现跨度太大,
解决办法是在这个跨度中插入适当帧数。
执行效果如下:
完整代码如下:
/*
程序名称:
贪吃蛇大作战
...
纯代码实现的一个简单的炸金花的小游戏。
市面上的炸金花似乎已经被禁,因此模拟时没有参考,或许有一些不足。
由于简单模拟,所以没有太多的动画和界面。
程序由 三个头文件 和 一个源文件 组成,便于分块管理。
一、"Cards.h"
封装了卡牌底层,由三个类组成,单张牌类、三张牌类 和 52 张牌的类。
有控制台的输出测试接口。
二、“CardGraph.h”
该文件主要是进行绘图,根据扑克的底层数据进行相关绘制。
修改:利用宽字符输出实现花色,而不是直接绘制。
绘制卡片背面心形时,仅需两条直线和两条贝塞尔曲线即可,这里不过多说明。
三、"Controller.h"
该文件是游戏的控制文件,处理按钮、鼠标、发牌等等操作。
由两个类组成,Butt
...