个人作品

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下

2D 横向对抗射击游戏(by 674729261)

花了一天时间,用最新版 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 函数了,在此期间什么也做不了。

完整的游戏源代码如下:

/*
 

...

华容道(by 左慈)

华容道游戏说明:

  • 编译环境:Visual C++ 6.0,EasyX 2014冬至版
  • 最后修改:2015-3-14
  • 操作方式:鼠标左键移动棋子,将曹操移动到出口处,过关。

游戏运行截图如下:

完整源代码、图片及编译后的可执行文件请【点击这里下载】

作者:左慈
QQ:2382036672
邮箱:qwj2222@126.com

C语课程设计:小球移动

这是一个名为“小球移动”的小游戏,没什么游戏性,实现了课程要求的所有内容,也有所拓展。压缩包内有一 doc 格式的手册,供参考。

程序名称:小球移动

功能简述:
可添加、选择并删除小球,删除时球上的分数累加到玩家得分上。在尽可能短的时间内,达成下列两个条件之一即可获胜:
① 分数恰好为 50 分
② 分数为场上球数的 20 倍
获胜后可自动记录成绩信息;可导出/导入游戏状态;可暂停、调速。

游戏运行截图如下:

完整源代码请【点击这里下载】

作者:王雨峰,北京工业大学
邮箱:807103724@qq.com

防空车打飞机(by 左慈)

游戏说明:

  • 在游戏中,你操控你的防空车尽可能的多击落飞机,躲避飞机扔的炸弹。
  • 游戏结束后,你可以选择重新开始游戏。
  • 感谢所有帮助过我的人。

编译环境:Visual C++ 6.0,EasyX 2014冬至版

最后修改:2014-12-27

游戏运行截图如下:

完整源代码、图片及编译后的可执行文件请【点击这里下载】

作者:左慈
QQ:2382036672
邮箱:qwj2222@126.com

贪吃蛇(by 王垣恒)

一个比较新颖的贪吃蛇程序。

用左右表示蛇向左转或向右转,上用来加速。

源代码如下:

///////////////////////////////////
// 程序名称:贪吃蛇
// 编译环境: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);
...

一个简单的小游戏:盒子接球(by 圣石)

用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>
#in
...

游戏:AyaCrossX(十字消除游戏)(by ls9512)

十字消除是一款经���消除类小游戏。玩法如下:

  1. 点击空白处,所在横纵十字线上同色方块会被消除。
  2. 消除方块会累加得分,并恢复一定量的时间。
  3. 方块数量少于某数值会出现新方块并回复时间。
  4. 时间耗尽时则游戏结束。

游戏运行截图如下:

游戏的源码编译环境:Visual C++ 6.0 / 2008 / 2010 / 2012,EasyX 2013霜降版

游戏的源代码如下:

/////////////////////////////////////////////////////////
// 程序名称:AyaCrossX(十字消除游戏)
// 编译环境:Visual C++ 6.0 / 201
...

超级蘑菇2(模拟 FC 游戏:超级玛丽)(by 木子念念)

开发环境:

  • Windows XP
  • Visual Studio 2008
  • EasyX 2013霜降版

运行游戏:

  • 进入 Mario2,双击 maliao.exe 运行即可
  • 或进入 Mario2,用 vs2008 运行 maliao.sln

说明:这次的“超级蘑菇2”的代码除了界面部分,其它部分完全重新写了一遍,所以程序和算法基本和上个版本的程序不一样。上个版本把所有的代码都写在了一个类中,之后才发现那样写好搞笑,完全背离了面向对象的思想。这个版本写了几个类,但其实我现在看也觉得好搞笑,也没有把面向对象的思想突出出来(实力有限只能这样了),这也是我对这个程序最不满意的的方。但是相比之前的那个版本,这个版本还是比以前那个好很多。。。。

 着重介绍一下我觉得“超级蘑菇2”的最大的亮点:之前我玩蘑菇1时发现它的游戏手感和经典游戏“超级玛丽&rdqu

...