CodeBus

分享代码,一起进步~

bfs 寻路演示程序

这个程序是 bfs 寻路 demo。 该程序可以让用户自由设置起点、终点、障碍物,并得出寻路结果。寻路算法用的是广度优先搜索算法(bfs),界面和图形显示用的是 easyx。 程序运行界面如下: 完整的源代码如下: // 程序名称:bfs 寻路 demo // 作者:光棱坦克 // 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,isblock; void getdata(Block father,int dx,int dy) { depth=father.depth+1; m... [更多...]

墨攻棋阵 - 黑白棋中的 AI

到了考试周了佯,可是偏偏这个时候迎来了很多很多的课程设计,幸好教授把C语言的课程设计提前发出了,不然都在最后几周,加上数据结构的课程设计就没有时间做这个啦~ 刚开始打算做成UWP应用的,可是网上的教程都是C#,并且用C++做的话某些功能和C#不一样,所以就这样拖了好多周,省赛前一点儿也没有开始做,等到省赛结束之后,别人都差不多完成啦!而我才开始准备查找资料…… 然而一周过去了,进度还是0%。噫,1%吧! 眼看就要开始验收了,算了,还是用最简单的 EasyX 做吧!以后的 C# 课程设计再考虑 UWP。 周一开始敲代码,整整一周的课余时间,都在努力做这个,现在想起来,那个时候真的好累唉,居然没有感觉到~ 最初做这个游戏是因为想起来 秦时明月 中的 墨攻棋阵 ,也就是黑白棋,努力还原动漫中的场景,周末的时候终于完成了。 先附图:     怎么说千千也都是新手呢!感觉做的还算满意吧! 人机对战中有三种模式哦!简单、中等、困难 那么,接下来,我们一起来看看黑白棋中的AI是如何实现的。 对于我们来说,下棋的时候总是想着如何才能对自己最有利,当前最优... [更多...]

2D 横向对抗射击游戏

花了一天时间,用最新版 easyx 做了一个小游戏,程序中所有的类函数都是内联函数,大约 300 行,开发环境是 Visual Studio 2015 Community,其他的编译器能不能通过编译不确定。 游戏运行截图如下: 代码说明:关于无阻塞延时,首先,先要 ctime 创建一个 clock_t 变量 a,初始化为 clock(),貌似是自从 1970 年到现在的毫秒数。我们要每隔 0.5 秒执行函数 func() 一次。那么创建主循环 while(1)调用前用 clock() - a;如果 clock() - a > 500,那么执行 func(),并把 a 重新赋值为 clock()。如果使用 Sleep(500) 的话,这个循环就只能执行 func 函数了,在此期间什么也做不了。 完整的游戏源代码如下: /* * 作者:674729261 * QQ:2292683261 * 图像引擎:EasyX(http://www.easyx.cn) * 编译环境:Visual Studio 2015 Community * 这只是个小游戏,所以全部内联 *... [更多...]

动态立体方块

一个绘图程序。 执行效果如下: 完整源代码如下: /*********************************************** * 程序名称:动态立体方块 * * 编译环境:Visual C++ 6.0 / EasyX冬至版 * * 作者:Kenny <499508968@qq.com> * * 最后修改:2015.05.21 * ***********************************************/ #include <graphics.h> #include <conio.h> #include <math.h> void Block(int length); // 画方块函数声明 void StrongBlock(); // 动态立体方块函数声明 // 主函数 int main() { StrongBlock(); return 0; } // 画方块函... [更多...]

2D 射击游戏:大战黑帮

这是一款经典的2D射击游戏,ASDW控制,鼠标左键射击,空格键放技能,P键暂停 你正以一己之力撼动整个社区最大的黑帮!杀死敌人!越多越好! 游戏运行截图如下: 完整源代码、图片及编译后的可执行文件请【点击这里下载】。 作者:Starsky作者邮箱:lcj20000101@163.com

华容道

华容道游戏说明: 操作方式:鼠标左键移动棋子,将曹操移动到出口处,过关。 游戏运行截图如下: 完整源代码、图片及编译后的可执行文件请【点击这里下载】。 作者:左慈QQ:2382036672邮箱:qwj2222@126.com编译环境:Visual C++ 6.0,EasyX 2014冬至版最后修改:2015-3-14

防空车打飞机

游戏说明: 在游戏中,你操控你的防空车尽可能的多击落飞机,躲避飞机扔的炸弹。 游戏结束后,你可以选择重新开始游戏。 感谢所有帮助过我的人。 游戏运行截图如下: 完整源代码、图片及编译后的可执行文件请【点击这里下载】。 作者:左慈 QQ:2382036672邮箱:qwj2222@126.com编译环境:Visual C++ 6.0,EasyX 2014冬至版最后修改:2014-12-27

用绘图语句画安卓(android)机器人(初学 C 语言的同学必看)

学编程最需要注意的就是多动手,多练习。不管你学了多少,学一点,就要练习一点。哪怕没有学习循环和判断,都可以写出一些不错的程序来。 所以,我写了这个范例程序给大家参考。希望可以抛砖引玉,给初学 C 语言的同学以启发。 执行效果如下: VC 源代码如下: ///////////////////////////////////////////////////////////// // 程序名称:用绘图语句画安卓(android)机器人(初学 C 语言的同学必看) // 编译环境:Visual C++ 6.0 / 2013,EasyX 20140321(beta) // 作  者:yangw80 <yw80@qq.com> // 最后修改:2014-10-9 // #include <graphics.h> #include <conio.h> #define PI 3.14159265 void main() { // 创建大小为 800 * 600 的绘图窗口 initgraph(800, 600); // 设置原点 (0, 0) 为屏幕中... [更多...]

用绘图语句画机器猫(初学 C 语言的同学必看)

学编程最需要注意的就是多动手,多练习。不管你学了多少,学一点,就要练习一点。哪怕没有学习循环和判断,都可以写出一些不错的程序来。 所以,我写了这个范例程序给大家参考。希望可以抛砖引玉,给初学 C 语言的同学以启发。 执行效果如下: 具体这个家伙叫机器猫还是小叮当还是多啦A梦就不管啦,看代码吧: ///////////////////////////////////////////////////////////// // 程序名称:用绘图语句画机器猫(初学 C 语言的同学必看) // 编译环境:Visual C++ 6.0 / 2013,EasyX 20140321(beta) // 作  者:yangw80 <yw80@qq.com> // 最后修改:2014-9-17 // #include <graphics.h> #include <conio.h> #define PI 3.14159265 // 主函数 void main() { // 创建大小为 800 * 600 的绘图窗口 initgraph(800, 600); /... [更多...]

[图形学] 画填充圆(基于 Bresenham 算法)

基于图形学中的 Bresenham 画圆法,设计了填充圆的实现。以下是该实现的 C 语言源码: /////////////////////////////////////////////////// // 程序名称:基于 Bresenham 算法画填充圆 // 编译环境:Visual C++ 6.0 / 2013,EasyX 20140321(beta) // 作  者:yangw80 <yw80@qq.com> // 最后修改:2014-7-14 // #include <graphics.h> #include <conio.h> // 基于 Bresenham 算法画填充圆 void FillCircle_Bresenham(int x, int y, int r, COLORREF color) { int tx = 0, ty = r, d = 3 - 2 * r, i; while( tx < ty) { // 画水平两点连线(<45度) for (i = x - ty; i <= x + ty; i+... [更多...]