没有合适的资源?快使用搜索试试~ 我知道了~
c语言实现的图形界面的推箱子
需积分: 10 26 下载量 155 浏览量
2009-05-13
15:14:33
上传
评论
收藏 23KB TXT 举报
温馨提示
试读
29页
用C语言实现的推箱子源代码 ,彩用了图形界面,非常的经典,值得去好好研究下。
资源推荐
资源详情
资源评论
#include<stdio.h>
#include<dos.h>
#include<string.h>
#include<stdlib.h>
#include<bios.h>
#include<graphics.h>
#include<conio.h>
#include <alloc.h>
#include<time.h>
#include <math.h>
#define MAX 3 /*游戏的总关数*/
#define STEPMAX 3 /*悔棋的最大步数*/
#define Key_R 0x1372
#define Key_Up 0x4800
#define Key_Enter 0x1c0d
#define Key_Down 0x5000
#define Key_P 0x1970
#define Key_Esc 0x11b
#define Key_Right 0x4d00
#define Key_Left 0x4b00
#define BKCOLOR GREEN /*设置背景颜色*/
#define STARTX 40 /*画游戏界面时,二维数组中ghose[0][0]左上角顶点在VGA模式下的横坐标*/
#define STARTY 80 /*画游戏界面时,二维数组中ghose[0][0]左上角顶点在VGA模式下的纵坐标*/
int ghose[10][10]; /*用来表示游戏中各种状态的二维数组*/
int BOXNUM; /*每关中箱子的个数*/
int MISSIONNUM; /*玩家正在玩的关数*/
int Key; /*从键盘读取按键值*/
int STEPNUM; /*人走的步数*/
int DIRECTIONKEY; /*用来记录玩家所按的方向键*/
int BOXMOVE[STEPMAX]; /*记录人行走时箱子移动了没有.如有,BOXMOVE[i]=1,否则BOXMOVE[i]=0*/
#include<dos.h>
#include<string.h>
#include<stdlib.h>
#include<bios.h>
#include<graphics.h>
#include<conio.h>
#include <alloc.h>
#include<time.h>
#include <math.h>
#define MAX 3 /*游戏的总关数*/
#define STEPMAX 3 /*悔棋的最大步数*/
#define Key_R 0x1372
#define Key_Up 0x4800
#define Key_Enter 0x1c0d
#define Key_Down 0x5000
#define Key_P 0x1970
#define Key_Esc 0x11b
#define Key_Right 0x4d00
#define Key_Left 0x4b00
#define BKCOLOR GREEN /*设置背景颜色*/
#define STARTX 40 /*画游戏界面时,二维数组中ghose[0][0]左上角顶点在VGA模式下的横坐标*/
#define STARTY 80 /*画游戏界面时,二维数组中ghose[0][0]左上角顶点在VGA模式下的纵坐标*/
int ghose[10][10]; /*用来表示游戏中各种状态的二维数组*/
int BOXNUM; /*每关中箱子的个数*/
int MISSIONNUM; /*玩家正在玩的关数*/
int Key; /*从键盘读取按键值*/
int STEPNUM; /*人走的步数*/
int DIRECTIONKEY; /*用来记录玩家所按的方向键*/
int BOXMOVE[STEPMAX]; /*记录人行走时箱子移动了没有.如有,BOXMOVE[i]=1,否则BOXMOVE[i]=0*/
int STEP[STEPMAX]; /*记录人行走的方向*/
typedef struct CURRENT
{
int x;
int y;
}PLAYER;
PLAYER p; /*p.x和p.y分别表示人当前所在的横纵坐标*/
typedef struct ADD
{
int x;
int y;
}ADD; /*人行走或悔棋时,用来表示人下一步移动需要增加的横纵坐标值*/
typedef struct STAR
{
int x;
int y;
int c;
} STAR;
STAR s[300]; /*画星星闪动的画面,x,y分别表示每颗星星所在的位置,c表示星星的颜色*/
DRAWSTAR1() /*画星星*/
{
int i,j,m,n,dotx,doty,color,maxcolor;
m=getmaxx();
n=getmaxy();
maxcolor=getmaxcolor();
for(i=0;i<300;i++)
{
s[i].x=random(m+1);
s[i].y=random(n+1);
s[i].c=random(maxcolor);
typedef struct CURRENT
{
int x;
int y;
}PLAYER;
PLAYER p; /*p.x和p.y分别表示人当前所在的横纵坐标*/
typedef struct ADD
{
int x;
int y;
}ADD; /*人行走或悔棋时,用来表示人下一步移动需要增加的横纵坐标值*/
typedef struct STAR
{
int x;
int y;
int c;
} STAR;
STAR s[300]; /*画星星闪动的画面,x,y分别表示每颗星星所在的位置,c表示星星的颜色*/
DRAWSTAR1() /*画星星*/
{
int i,j,m,n,dotx,doty,color,maxcolor;
m=getmaxx();
n=getmaxy();
maxcolor=getmaxcolor();
for(i=0;i<300;i++)
{
s[i].x=random(m+1);
s[i].y=random(n+1);
s[i].c=random(maxcolor);
剩余28页未读,继续阅读
资源评论
qq522393434
- 粉丝: 1
- 资源: 17
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 重启进行BIOS快捷方式,不需要开机按BIOS键
- 威纶通触摸屏编程软件Easy builder pro V6.09.01.556安装包(2024.04).txt
- WindowsAdminCenter
- 老飞飞搭建基础通用数据库V19数据库.rar
- jquery.js
- 机械设计多工位ACF贴胶带&预压设备sw18可编辑非常好的设计图纸100%好用.zip
- 基于Pytorch复现Point-Transformer,用于ShapeNet数据集点云分割
- 【医学影像分析】2D超声图像的分割检测(Ultrasound Nerve Segmentation - Kaggle数据集)
- 嘎嘎香的五款神仙谷歌插件
- .arch书源导入教程.mp4
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功