资源简介
C++版的,攻克如何在DOS环境下加载图片资源,以及连连看的算法

代码片段和文件信息
#include “graphics.h“
#include “stdio.h“
#include “windows.h“
#include “conio.h“
#define WITH 360
#define HEIGHT 360
#define OK 1
#define NO 0
#define BLANK 99
#define MAX_NUM_WITH 16 //纵向目标位置数量
#define MAX_NUM_HIGHT 10 //横向目标位置数量
#define ZUO 30
#define SHANG 80
#define TEMP 88
enum { UP=‘w‘ DOWN=‘s‘ RIGHT=‘d‘ LEFT=‘a‘ }; // 键盘 输入 值
typedef struct coordinate{ //查找所得路径值,关键点 最多为四
int xy;
}Coordinate;
Coordinate S[(MAX_NUM_WITH+2)*(MAX_NUM_HIGHT+2)];
Coordinate T[(MAX_NUM_WITH+2)*(MAX_NUM_HIGHT+2)];
Coordinate R[(MAX_NUM_WITH+2)*(MAX_NUM_HIGHT+2)];
IMAGE image[36]PictureLifeblank(6060)blank2(30417)errorpic(6060);
Coordinate Path[4]life;
int chance=5;
int map[MAX_NUM_WITH+2][MAX_NUM_HIGHT+2];
MOUSEMSG Mouse;
int dengjifenshu;
int flag;
int error;
double longlife=151.0;
void Initializer_map();
void Reset_Map();
void Swap(int &aint &b) //交换两个位置的图片。为重排服务。
{
int temp;
temp=a;
a=b;
b=temp;
}
void Guan()
{
int xyx2y2;
switch(dengji)
{
case 1:break;
case 2:
{
for(x=1;x {
for(y=1;y {
x2=x;
y2=y;
if(map[x][y]==BLANK)
while(1)
{
if(map[ x2 ][ y2 ] == BLANK && y2 < MAX_NUM_HIGHT + 1 )
y2++;
else if(y2==MAX_NUM_HIGHT+1)
break;
else if(map[x2][y2]!=BLANK)
{
Swap(map[x2][y2]map[x][y]);
break;
}
else
{
MessageBox(NULL“error“00);
break;
}
}
}
}
}
break;
case 3:
{
for(y=1;y {
for(x=1;x {
x2=x;
y2=y;
if(map[x][y]==BLANK)
while(1)
{
if(map[ x2 ][ y2 ] == BLANK && x2 < MAX_NUM_WITH + 1 )
x2++;
else if(x2==MAX_NUM_WITH+1)
break;
else if(map[x2][y2]!=BLANK)
{
Swap(map[x2][y2]map[x][y]);
break;
}
else
{
// MessageBox(NULL“error“00);
break;
}
}
}
}
}
break;
case 4:
{
for(x=1;x {
for(y=MAX_NUM_HIGHT;y>1;y--)
{
x2=x;
y2=y;
if(map[x][y]==BLANK)
while(1)
{
if(map[ x2 ][ y2 ] == BLANK && y2 > 1 )
y2--;
else if(y2==0)
break;
else if(map[x2][y2]!=BLANK)
{
Swap(map[x2][y2]map[x][y]);
break;
}
else
{
//MessageBox(NULL“error“00);
break;
}
}
}
}
}
break;
case 5:
{
for(y=1;y {
for(x=MAX_NUM_WITH;x>1;x--)
{
x2=x;
y2=y;
if(map[x][y]==BLANK)
while(1)
{
if(map[ x2 ][ y2 ] == BLANK && x2 > 1 )
x2--;
else if(x2==0)
break;
else if(map[x2][y2]!=BLANK)
{
Swap(map[x2][y2]map[x][y]);
break;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 16462 2013-02-16 21:31 main.cpp
文件 262225 2013-02-16 21:32 main.exe
文件 23227 2013-01-06 16:37 resource\life.jpg
文件 388854 2013-01-07 11:43 resource\picture.jpg
目录 0 2013-01-24 22:14 resource
----------- --------- ---------- ----- ----
690768 5
- 上一篇:51单片机-数码管时钟秒表
- 下一篇:c语言编写的超级玛丽
相关资源
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 猜数字游戏 c语言代码
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- LINUX下命令行界面的C语言细胞游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 用C语言实现的一个打字游戏
- C语言版3D魔方游戏源代码
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
评论
共有 条评论