分享代码 快乐编程

一起学习,一起进步,从分享代码开始~

涂格子

涂格子游戏。游戏规则:

  1. 单击空格子,同时给上下中左右的空格子换色。
  2. 全部格子都上完颜色过关。
  3. 按任意键退出游戏。
  4. 右击重来,Ctrl 作弊键。

以下是该游戏的 VC++ 源代码:

/****************************************************************
 *																*
 *	程序名称:	《涂格子游戏》									*
 *	编译环境:	VC++6.0 && && EasyX_v20120603b					*
 *	作者相关:	Made In China by xiongfj <837942056@qq.com>		*
 *	最后修改:	2012.09.12										*
 *																*
 ****************************
...

贪吃蛇游戏的双人对战版

这是贪吃蛇游戏的双人对战版。

游戏双方分别控制蓝色和红色两条小蛇的前进,碰壁或咬到蛇身体算输。

这个对战版的贪吃蛇游戏网上有不少源代码,这个代码的特点就是为两个游戏者分别增加了命令队列,以实现更舒服的控制。

完整的游戏源代码如下:

///////////////////////////////////////////////////
// 程序名称:贪吃蛇游戏的双人对战版
// 编译环境:Visual C++ 6.0 / 2010,EasyX_20130322(beta)
// 作  者:yangw80 <yw80@qq.com>
// 最后修改:2012-7-23
//
#include <graphics.h>
#include <conio.h>
#include <time.h>
#include <queue>

using namespace std;

#define	WIDTH		64			/
...

三辆行驶的小车(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
// 注:本游戏可以说是网上一个游戏的复制
//     但是是用自己的思想编制的(生成算法

...

力学:鼠标用弹簧挂着一串小方块

看到最近力学程序受欢迎,我就翻出来以前收藏的一个 javascript 脚本,也是力学相关的,模拟出几个小方块用弹簧连接到鼠标上的效果。当鼠标在绘图窗口上移动时,可以看到小方块连续受力的效果。

动态程序就不再抓图了。源代码如下:

///////////////////////////////////////////////////
// 程序名称:力学:鼠标用弹簧挂着一串小方块
// 编译环境:Visual C++ 6.0 / 2010,EasyX 20120404(beta)
// 原 作 品:很早以前收藏的一个 javascript 脚本,源地址忘了
// 移植作者:yangw80 <yw80@qq.com>
// 最后修改:2012-4-27
//
#include <graphics.h>
#include <math.h>
#include <time.h>

const	int		WIDTH		= 640;		// 窗口宽
const	
...

力学:模拟橡皮筋(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 
...

力学:流体(Liquid)(VC版本)

这个程序原本是测试 HTML 5 效果的一个演示程序,动态效果很是漂亮。现在,我把这个精彩的程序移植到了 VC 上。

以下是完整的 VC 源代码:

///////////////////////////////////////////////////
// 程序名称:流体(Liquid)
// 编译环境:Visual C++ 6.0 / 2010,EasyX 20120404(beta)
// 原 作 品:http://spielzeugz.de/html5/liquid-particles.html (HTML5)
// 移植作者:krissi <zh@easyx.cn>
// 最后修改:2012-4-5
//
#include <graphics.h>
#include <math.h>
#include <time.h>


#define WIDTH		1024		// 屏幕宽
#define HEIGHT		576			// 屏幕高
#d
...