这是经典的下 100 层游戏。>_<
通过鼠标左右键或者键盘 A、D 按键及左右方向键控制小球左右移动,木板会不断上升,小球到底认定游戏结束,按下键盘后小球会加速到一个最大速度,小球在木板上则会跟着木板上移,达到一定分数启动反向操作。
本程序采用单例设计模式,RollingBall 公有继承 BallAndPlank,protected 便于派生类访问基类数据成员。
木板的颜色随机,位置随机。
界面由初始化界面大小控制,可自行更改。
游戏运行截图如下:
游戏的完整源代码如下:
/*
项目名称:
RollingBall
作者:
tzdhu.z@qq.com (1926594835)
编译环境:
Visual Studio 2017,EasyX_20190219(beta)
发布日期:
2019-2-2
最后修改:
2019-2-23
项目介绍:
本程序由单例设计模式
...
这是个高仿的扫雷游戏,游戏手感非常贴近原版。
代码由两个类构成,基类 Graph 对 IMAGE 进行绘制,同时生成界面,初始化相关数据。MineSweeper 类继承 Graph 类,主要进行相关操作,识别按钮等做出反应。
执行效果如下:
完整的游戏源码如下:
/*
程序名称:扫雷
简 介:一款经典的小游戏,程序运行中可以通过 ESC 直接退出
左键点击,右键标记和取消标记,同时按下左右或按下中间键触发提示
其他操作基本和官方一致,界面略有调整,详细操作自行测试
编译环境:VS2019 + EasyX_20190529(beta)
编写时间:2019-6-29
最后修改:2019-7-30
作 者:Teternity(qq1926594835)
版 权:作者原创,无抄袭,不涉及版权问题,仅用作学习
*/
// 头文件
#include <graphics.h>
#include <co
...
一、简介
单机版扫雷总会有些枯燥,不妨试试联网对战版扫雷!
开发环境:VS2019 + EasyX_20210224。
游戏玩法:左键按下翻开方块,翻开雷判输,或翻开最后一个方块判赢;逃跑或超时会结束本轮连接,正常结束会自动重新开局,对手不变。
目的:一方面提供联网对战版扫雷供大家娱乐,另外也是重构曾经写过的扫雷单机版,最后也为了练习 Windows 网络编程。
二、网络
关于 Windows 网络编程书籍,推荐朱晨冰老师的《Visual C++ 2017 网络编程实战》,出版日期 2020 年。
个人感觉这本书讲解比较细致,内容也不会太老旧,有计网基础会更容易理解学习。
程序采用阻塞套接字编写,因此服务器免不了使用多线程,多线程部分由 C++11 提供。
想要让程序不限于局域网通信又不想购买服务器,这里推荐花生壳软件,操作简单,TCP 部分免费使用,相关内容自行搜索。
三、程序文件
1、服务器文件:
...
这是一个贪吃蛇大作战类游戏,修改特性为 AI 不互杀;
该程序有四个类:蛇基类 SnakeBase,玩家类 Player,AI 类,Game 类;
SnakeBase 和 AI 均继承自 SnakeBase,SnakeBase 提供基础接口;
Game 提供数据初始化以及游戏主循环。
程序设计之初,采用“实运行”方式,即所有动画均在地图 imgMap 上真实绘制,
这样却有一些严重的问题,需要不断地记录节点背景以恢复节点经过的地方等。
后修改为“虚运行”方式,判断位置是否可视后直接绘至窗口内,
这样大大降低时间开销,同时不会因为蛇靠近而产生不可擦除的颜色。
至于蛇运行,采用位置继承,即节点下一个位置为上一个节点的位置,但是会发现跨度太大,
解决办法是在这个跨度中插入适当帧数。
执行效果如下:
完整代码如下:
/*
程序名称:
贪吃蛇大作战
...
纯代码实现的一个简单的炸金花的小游戏。
市面上的炸金花似乎已经被禁,因此模拟时没有参考,或许有一些不足。
由于简单模拟,所以没有太多的动画和界面。
程序由 三个头文件 和 一个源文件 组成,便于分块管理。
一、"Cards.h"
封装了卡牌底层,由三个类组成,单张牌类、三张牌类 和 52 张牌的类。
有控制台的输出测试接口。
二、“CardGraph.h”
该文件主要是进行绘图,根据扑克的底层数据进行相关绘制。
修改:利用宽字符输出实现花色,而不是直接绘制。
绘制卡片背面心形时,仅需两条直线和两条贝塞尔曲线即可,这里不过多说明。
三、"Controller.h"
该文件是游戏的控制文件,处理按钮、鼠标、发牌等等操作。
由两个类组成,Butt
...