这个程序是 BFS 寻路 Demo。
该程序可以让用户自由设置起点、终点、障碍物,并得出寻路结果。寻路算法用的是广度优先搜索算法(BFS),界面和图形显示用的是 EasyX。
程序运行界面如下:
完整的源代码如下:
// 程序名称:BFS 寻路 Demo
// 作者:光棱坦克(prismtank)
// QQ:3152239285
// 完成日期:2016-7-16
// EasyX 版本:2015-10-15
//
#include <graphics.h>
#include <stdio.h>
#include <memory.h>
#include <queue>
using namespace std;
const int WIDTH = 24, HEIGHT = 24;
struct Block
{
BYTE x, y, depth, data[200];
bool searched,
...
到了考试周了佯,可是偏偏这个时候迎来了很多很多的课程设计,幸好教授把C语言的课程设计提前发出了,不然都在最后几周,加上数据结构的课程设计就没有时间做这个啦~
刚开始打算做成UWP应用的,可是网上的教程都是C#,并且用C++做的话某些功能和C#不一样,所以就这样拖了好多周,省赛前一点儿也没有开始做,等到省赛结束之后,别人都差不多完成啦!而我才开始准备查找资料……
然而一周过去了,进度还是0%。噫,1%吧!
眼看就要开始验收了,算了,还是用最简单的 EasyX 做吧!以后的 C# 课程设计再考虑 UWP。
周一开始敲代码,整整一周的课余时间,都在努力做这个,现在想起来,那个时候真的好累唉,居然没有感觉到~
最初做这个游戏是因为想起来 秦时明月 中的 墨攻棋阵 ,也就是黑白棋,努力还原动漫中的场景,周末的时候终于完成了。
先附图:
怎么说千千也都是新手呢!感觉做的还算满意吧!
人机对战中有三种模式哦!
...
游戏介绍
【第一版】
花了一天时间,用 easyx 做了一个小游戏,程序中所有的类函数都是内联函数,大约 300 行,开发环境是 Visual Studio 2015 Community。
【第二版】
主要做了代码优化,加强可读性。
同时改了操作方式,玩家和敌人都可以在 x、y 方向上移动,敌人每隔一段时间会随机换向。
游戏运行截图如下:
操作方式
玩家通过方向键移动,z 键射击,左 Shift 进入低速移动模式提高操作精度。
代码说明
关于无阻塞延时,
首先,先要 ctime 创建一个 clock_t 变量 a,初始化为 clock(),貌似是自从 1970 年到现在的毫秒数。
我们要每隔 0.5 秒执行函数 func() 一次。
那么创建主循环 while(1)
调用前用 clock() - a;
如果 clock() - a > 500,那么执
...
一个简单的绘图程序。
执行效果如下:
完整源代码如下:
/************************************************
* 程序名称:动态立体方块 *
* 编译环境:Visual C++ 6.0 / EasyX 2014冬至版 *
* 作者:Kenny <499508968@qq.com> *
* 最后修改:2015.05.21 *
************************************************/
#include <graphics.h>
#include <conio.h>
#include <math.h>
void Block(int length); // 画方块函数声明
void StrongBlock(); // 动态立体方块函数声明
// 主函数
int main()
{
Stro
...
这是一款经典的 2D 射击游戏,ASDW 控制,鼠标左键射击,空格键放技能,P 键暂停
你正以一己之力撼动整个社区最大的黑帮!杀死敌人!越多越好!
游戏运行截图如下:
完整源代码、图片及编译后的可执行文件请【点击这里下载】。
作者:Starsky
邮箱:lcj20000101@163.com
华容道游戏说明:
- 编译环境:Visual C++ 6.0,EasyX 2014冬至版
- 最后修改:2015-3-14
- 操作方式:鼠标左键移动棋子,将曹操移动到出口处,过关。
游戏运行截图如下:
完整源代码、图片及编译后的可执行文件请【点击这里下载】。
作者:左慈
QQ:2382036672
邮箱:qwj2222@126.com
这是一个名为“小球移动”的小游戏,没什么游戏性,实现了课程要求的所有内容,也有所拓展。压缩包内有一 doc 格式的手册,供参考。
程序名称:小球移动
功能简述:
可添加、选择并删除小球,删除时球上的分数累加到玩家得分上。在尽可能短的时间内,达成下列两个条件之一即可获胜:
① 分数恰好为 50 分
② 分数为场上球数的 20 倍
获胜后可自动记录成绩信息;可导出/导入游戏状态;可暂停、调速。
游戏运行截图如下:
完整源代码请【点击这里下载】。
作者:王雨峰,北京工业大学
邮箱:807103724@qq.com
游戏说明:
- 在游戏中,你操控你的防空车尽可能的多击落飞机,躲避飞机扔的炸弹。
- 游戏结束后,你可以选择重新开始游戏。
- 感谢所有帮助过我的人。
编译环境:Visual C++ 6.0,EasyX 2014冬至版
最后修改:2014-12-27
游戏运行截图如下:
完整源代码、图片及编译后的可执行文件请【点击这里下载】。
作者:左慈
QQ:2382036672
邮箱:qwj2222@126.com
一个比较新颖的贪吃蛇程序。
用左右表示蛇向左转或向右转,上用来加速。
源代码如下:
///////////////////////////////////
// 程序名称:贪吃蛇
// 编译环境:Visual C++ 6.0 / 2008,EasyX 2013冬至版
// 作者:王垣恒 QQ:646361765
// 最后修改:2014-5-20
// 操作方式:以蛇为第一视角,左 左转;右 右转;下 暂停;上 快进。
// 状态: 黄色 蛇头;红色 蛇身;绿色 食物。
//
#include <graphics.h>
#include <string.h>
#include <time.h>
#define NUM_R 10 //半径
#define NUM_X 25 //横向个数
#define NUM_Y 25 //纵向个数
#define NUM 30 //所需节点个数
void exe(int x,int y,int f);
...
本程序模拟了多个小球在方框内的碰撞运动。
源代码如下:
///////////////////////////////////////////////////
// 程序名称:多个小球在方框内的碰撞运动
// 编译环境:Visual C++ 6.0,EasyX 2013冬至版
// 作 者:可可
// 最后修改:2014-03-18
//
#include <graphics.h>
#include <conio.h>
#include <math.h>
#define XN 640
#define YN 480 // 设置图形窗口的大小
#define N 40 // 设置球的个数,最多 90 个
#define V 20 // 设置球的速度
// 画出一个球
void Ball(int x, int y)
{
fillcircle(x, YN - y, 20); // 转换成常用的坐标
}
// 判定是否发
...
用VC写了一个小小的游戏,在界面右侧有运行时间,接到的小球个数等信息,有 10 个小球下落,玩家可以控制一个盒子左右移动(方向键),来接小球,按 Esc 键退出,最后会显示接到的小球的数目。就是这么简单。
游戏运行截图如下:
以下是游戏的全部源代码:
///////////////////////////////////////////////////
// 程序名称:盒子接球(一个简单的小游戏)
// 编译环境:Visual C++ 6.0,EasyX 2013霜降版
// 作 者:圣石 <2464847121@qq.com>
// 最后修改:2013-12-1
// 玩法:按方向键控制盒子移动接住小球,总共有 20s 的游戏时间,倒计时为 0 时游戏结束
//
#include <graphics.h>
#include <conio.h>
#include <time.h>
#include <stdio
...
十字消除是一款经典消除类小游戏。玩法如下:
- 点击空白处,所在横纵十字线上同色方块会被消除。
- 消除方块会累加得分,并恢复一定量的时间。
- 方块数量少于某数值会出现新方块并回复时间。
- 时间耗尽时则游戏结束。
游戏运行截图如下:
游戏的源码编译环境:Visual C++ 6.0 / 2008 / 2010 / 2012,EasyX 2013霜降版
游戏的源代码如下:
/////////////////////////////////////////////////////////
// 程序名称:AyaCrossX(十字消除游戏)
// 编译环境:Visual C++ 6.0 / 2012,EasyX 2013霜降版
// 作 者:ls9512 <http://www.baidu.com/p/ls9512&g
...
开发环境:
- Windows XP
- Visual Studio 2008
- EasyX 2013霜降版
运行游戏:
- 进入 Mario2,双击 maliao.exe 运行即可
- 或进入 Mario2,用 vs2008 运行 maliao.sln
说明:这次的“超级蘑菇2”的代码除了界面部分,其它部分完全重新写了一遍,所以程序和算法基本和上个版本的程序不一样。上个版本把所有的代码都写在了一个类中,之后才发现那样写好搞笑,完全背离了面向对象的思想。这个版本写了几个类,但其实我现在看也觉得好搞笑,也没有把面向对象的思想突出出来(实力有限只能这样了),这也是我对这个程序最不满意的的方。但是相比之前的那个版本,这个版本还是比以前那个好很多。。。。
着重介绍一下我觉得“超级蘑菇2”的最大的亮点:之前我玩蘑菇1时发现它的游戏手感和经典游戏“超级玛丽”的手感差别很大。之后发现最大的原因就是,“超级玛丽”中的主角有一个重要的性质,那
...
这是一款以火柴人为人物的小游戏,人物通过操作躲过各种障碍物,当人物撞到障碍物则游戏结束。
操作说明:W—跳跃,S—滚动
游戏执行效果:
完整源代码、图片及编译后的可执行文件请【点击这里下载】。
作者:星
QQ:453496034
邮箱:liluxing1993@qq.com
一个模拟引力的程序。可以在程序中创建不同质量和初始速度的天体,天体按照万有引力定律运行。
左键创建天体。按下左键不松开,天体质量会增加;然后移动,会给天体赋值初始速度,然后松开左键。
右键删除天体。
超出屏幕、碰撞后的天体不会消失。
程序的运行截图如下:
完整源代码、图片及编译后的可执行文件请【点击这里下载】。
作者:有时的迷惘
个人主页:www.baidu.com/p/有时的迷惘