个人作品

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

三辆行驶的小车(by E_SHARE)

本程序模拟了以不同速度行驶的三辆小车。

源代码如下:

////////////////////////////////////////////
// 程序名称:3 辆行驶的小车
// 编译环境:Visual C++ 6.0,EasyX_20120603(beta) 
// 程序编写:E_SHARE <501748772@qq.com>
// 编写时间:2012-6-26
////////////////////////////////////////////
#include <graphics.h>
#include <conio.h>
#include <stdlib.h>
#include <stdio.h>

// 声明需要使用的函数
void carstart(int x, int y, int z);
void drawbus();
void init();

// 定义全局变量
IMAGE img;


/////////
...

图片转化为 ASCII 图,就是很多字符组成图片的那种(by Geodesic)

本程序实现将图片转换为 ascii 字符的效果。

使用说明:

支持 bmp / jpg / gif / emf / wmf / ico 类型的图片。gif 类型的图片仅加载第一帧,不支持透明。我只测试过jpg格式。

请把要转换的图片复制到 exe 程序所在的文件夹,并确保图片名中没有中文等无法输入的字符。

运行 exe 文件即可转换。

因为 txt 文件的行距,字符间距等原因,为了达到最好效果,请先把图片的高度压缩到原来的 1/2(宽度不变)。

转换根据图片的实际大小操作,如果图片过大,请修改图片尺寸,或者手工修改 txt 中字符的尺寸,以便能够完全显示。

这仅仅是一个 demo,里边存在不少问题,比如 ASCII 灰度实际上是按照 8*16 像素扫描的;实际使用的 ASCII 灰度值我修改过,并非原来的灰度等等。

为了更精确的控制字体的尺寸,间距,行距,html 文件是个不错的选择,如果你愿意的话,你可以选择完善这个 demo,做成一个很实用的小小的软件,但是让一个东

...

连连看(by 水木淋溪)

经典的连连看游戏。

游戏运行截图如下:

 

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

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

///////////////////////////////////////////////////
// 程序名称:连连看
// 编译环境:Visual C++ 6.0 / 2012,EasyX 20120501(beta)
// 作  者:水木淋溪 <577712541@qq.com>
// 最后修改:2012-4-28
// 注:本游戏可以说是网上一个游戏的复制
//     但是是用自己的思想编制的(生成算法

...

力学:模拟橡皮筋(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. 一方棋子(军旗除外)全被消灭,就算输; 同时全部没有

...