个人作品

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

力学:模拟橡皮筋(by frxyz1)

一个模拟橡皮筋的程序。

执行效果:

以下是全部源代码:

///////////////////////////////////////////////////
// 程序名称:模拟橡皮筋
// 编译环境:Visual C++ 6.0 / 2010,EasyX 20120404(beta)
// 作  者:frxyz1 <http://hi.baidu.com/frxyz1>
// 最后修改:2012-4-15
//
#include <graphics.h>
#include <conio.h>

#define NODES 20
#define GRAVITY 1
#define ITER 8

struct Vector
{
	float x, y;
	
	void operator += (Vector v) { x += v.x; y += v.y; }
	void operator -= (
...

力学:模拟弹力的小程序(by frxyz1)

一个模拟弹力的小程序,执行效果如下:

感兴趣的可以再加上几个小球,类似的还可以模拟出绳子的效果。

以下是全部源代码:

///////////////////////////////////////////////////
// 程序名称:模拟弹力的小程序
// 编译环境:Visual C++ 6.0 / 2010,EasyX 20120404(beta)
// 作  者:frxyz1 <http://hi.baidu.com/frxyz1>
// 最后修改:2012-4-14
//
#include <graphics.h>
#include <conio.h>

#define BALL_RADIUS 30 // 小球的半径

void main()
{
	initgraph(640, 480);
	setfillstyle(RGB(255, 0, 0));

	// 小球的初始位置
	float 
...

黑白棋游戏(也叫翻转棋、奥赛罗棋)人机对战版(by 自然向日葵)

黑白棋(也叫翻转棋、奥赛罗棋)的棋盘是一个有8*8方格的棋盘。下棋时将棋下在空格中间,而不是像围棋一样下在交叉点上。开始时在棋盘正中有两白两黑四个棋子交叉放置,黑棋总是先下子。

下子的方法:把自己颜色的棋子放在棋盘的空格上,而当自己放下的棋子在横、竖、斜八个方向内有一个自己的棋子,则被夹在中间的全部翻转会成为自己的棋子。并且,只有在可以翻转棋子的地方才可以下子。

引用了QQ游戏黑白棋的图片。

游戏运行截图如下:

游戏中使用了大量图片、音乐、资源文件,<点这里下载该游戏的完整 VC 项目包>。

游戏代码如下(相关图片资源请下载完整 VC 项目包):

//////////////

...

对对碰 游戏 (v2.2)(by 自然向日葵)

本程序的操作与 Popcap 经典的宝石迷阵(Bejeweled)游戏类似。游戏运行截图如下:

游戏中使用了大量图片、音乐、资源文件,<点这里下载该游戏的完整 VC 项目包>。

游戏代码如下(相关图片资源请下载完整 VC 项目包):

///////////////////////////////////////////////////////////
// 程序名称:对对碰
// 编译环境:Visual C++ 2010/6.0,EasyX_v20120304(beta)
// 程序编写:自然向日葵 1164359890@qq.com
// 最后更新:2012-3-10
//
////////////////////

...

吃豆子游戏(PacMan)(by 水木淋溪)

经典的吃豆子游戏。

游戏运行截图如下:

游戏中使用了资源文件,<点这里下载该游戏的完整 VC 项目包>。

游戏主代码如下(相关图片资源请下载完整 VC 项目包):

///////////////////////////////////////////////////
// 程序名称:吃豆游戏
// 编译环境:Visual C++ 6.0 / 2010,EasyX 2011惊蛰版
// 作  者:水木淋溪 <577712541@qq.com>
// 最后修改:2012-3-3
// 注:此游戏我从网上看到的,觉得有意思,也比较简单
//     所以用自己的方式做了一下,其中部分代码有借鉴
//////

...

自创规则的军旗游戏(by shareli)

这是一款由 shareli 自创规则的军旗游戏,具体的游戏规则如下:

棋盘大小:6×6。
棋子总数:36。
敌对双方:红,蓝。
棋子类别:红棋(红方操作,14 个),蓝棋(蓝方操作,14 个),紫棋(功能棋,8 个)。
红棋(蓝棋)类型:司令,军长,师长,旅长,团长,营长,连长,班长,军旗,工兵×2,炸弹×2。
紫棋类型:地雷×4,变身棋×4。

【规则说明】
1. 司令最大,工兵最小,大的吃小的,一样就同归于尽,炸弹能炸紫棋和敌方除军旗外所有的棋(炸弹也会消失)。
2. 工兵可挖地雷,挖完后可扛对方棋变身(挖的雷越多,变成的人物越厉害)。
3. 人物棋可吃变,吃后能变成工兵~军长中的一种,有一定几率变成隐藏 BOSS。
4. 人物棋可自杀(算一次操作)。
5. 执棋方进行完一次有效操作后,就换对方执棋(边框颜色表当前执棋方)。
6. 一方棋子(军旗除外)全被消灭,就算输; 同时全部没有

...

黑白棋游戏(也叫翻转棋、奥赛罗棋)双人对战版(by 自然向日葵)

经典的黑白棋游戏(也叫翻转棋、奥赛罗棋)。

这个程序实现了双人对战的功能。

以下是该游戏运行抓图:

由于项目包含很多图片,因此这里给出整个项目的压缩包:【点击下载】

以下是项目的全部源代码:

///////////////////////////////////////////////////////////
// 程序名称:黑白棋
// 编译环境:Visual C++ 2010/6.0,EasyX_2011惊蛰版
// 程序编写:自然向日葵 1164359890@qq.com
// 最后更新:2012-2-8
//
/////////////////////////////////////////////

...

扫雷(by wysaid)

经典的扫雷游戏。

以下是该游戏运行抓图:

由于项目包含很多图片和音乐,因此这里给出整个项目的压缩包:【点击下载】

以下是项目的完整源代码:

文件 3-1,mine.cpp:

/*

 * author      wysaid
 * E-mail      admin@bnicer.com  OR  wysaid@gmail.com
 * date        20120214

*/

#include "wysaid.h"
#include <conio.h>
BlockType MARK;
MineArray g_mineArray;
HWND g_hwnd;
int g_scrWidt

...

贪吃蛇的核心代码(by shareli)

贪吃蛇的核心代码,很精简。

完整源代码如下:

///////////////////////////////////////////////////
// 程序名称:贪吃蛇的核心代码
// 编译环境:VC6.0 / VC2010,EasyX 2011惊蛰版
// 作  者:shareli,QQ: 953445224
// 最后修改:2012-2-4
//
#include <graphics.h>
#include <conio.h>
#include <time.h>
#include <stdlib.h>
#define SIZEMAX		100		// 定义蛇的最大长度
#define SNAKELEN	10		// 蛇的大小和蛇每次移动的距离
#define SPEED		100		// 初始速度 

/****************************************/
typedef enum	// 定义表示方向的枚举变量
...

推箱子游戏(by 自然向日葵)

经典的推箱子游戏。

游戏中使用了图片,【点击这里下载完整项目

以下是项目的代码(需要图片才能编译执行):

///////////////////////////////////////////////////////////
// 程序名称:推箱子
// 编译环境:Visual C++ 2010/6.0,EasyX_2011惊蛰版
// 程序编写:自然向日葵 1164359890@qq.com
// 最后更新:2012-1-21
//
////////////////////////////////////////////////////////////
//游戏中用0表示空地,1表示人物,2表示箱子,3表示目的地,6表示围墙
//
//画素材的x1和y1都是反的,因为x表示行,

...