资源简介
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++ SQL
- Exceptional C++(中文版).侯捷-侯老师的
- C++实现获取win7系统端口号IP状态和P
- C++编程规范_101条规则、准则与最佳实
- C++学校人员信息管理系统课程设计.
- 学生作业完成情况管理系统C++含报告
- mysql封装.zip
- 诊所信息管理系统.cpp
- 六子棋游戏即二打一棋C++源程序
- C++实现哈夫曼树及哈夫曼编码.rar
- C++ primer plus第五版学习笔记
- 判断一个代数系统的封闭性、结合律
- C++(CS起源GDI透视自瞄)+代码全写了
- 数据结构——迷宫问题
- C++读取csv到数组.zip
- MFC贪吃蛇游戏源代码
- C++四步相移求得包裹/展开相位
- [C++大学教程 C++ How to program(第九版)
- 基于QT的局域网聊天软件开发文献综述
- C++/MFC高清视频教程
- c++经典例题
- VS2010C++调用python报错无法打开包括文
- 一次性口令身份认证的设计与实现c
- 数据结构研讨代码以及ppt
- 画线算法C++的实现-鼠标交互
- n元哈夫曼编码
- C++机房收费系统
- 数据结构和算法案例-欢乐五子棋 C+
- 操作系统进程调度C++代码实现
评论
共有 条评论