- 14
- 0
- 约2.6千字
- 约 5页
- 2017-01-06 发布于贵州
- 举报
C语言推箱子程序C语言推箱子程序
#includestdio.h
#includestdlib.h
#includeconio.h
int m[12][13]={
1,1,1,1,1,1,1,1,1,1,1,1,1,
1,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,8,0,0,1,
1,0,0,0,0,0,0,0,0,8,0,0,1,
1,0,0,0,0,4,0,0,0,8,0,0,1,
1,0,0,0,0,4,0,0,0,8,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,4,0,0,0,4,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,1,
1,0,0,0,0,0,0,0,0,0,0,0,1,
1,1,1,1,1,1,1,1,1,1,1,1,1,
};
static int count=0; //成功点计数
static int x=2,y=1; //人物初始坐标
static int a=0,b=0; //移动指令辅助值
void help()
{
printf(请将四个箱子全部推向4个成功点通关游戏\n);
printf(W上 A左 S下 D右\n\n);
printf(游戏愉快\n);
}
int prnmap()
{
count=0; //每次刷新地图计数回零
system(cls);
help(); //温馨提示
for(int i=0;i12;i++)
{
printf(\t\t); //移到屏幕中间
for(int j=0;j13;j++)
{
if(m[i][j]==1)
printf(■);
else if(m[i][j]==0)
printf( );
else if(m[i][j]==8)
printf(☆);
else if(m[i][j]==2||m[i][j]==3) //分为人物在空地和人物在成功点
printf(⊙);
else if(m[i][j]==4)
printf(□);
else if(m[i][j]==5)
{
count++; //每扫描到一个成功值 计数加1
printf(★);}
}
printf(\n);
}
return count;
}
void key() //按键操作
{
char z;
for(;;)
{ z=getch();
if(z==w||z==W)
{
a=-1;
b=0;
break;
}
else if(z==a||z==A)
{
a=0;
b=-1;
break;
}
else if(z==s||z==S)
{
a=1;
b=0;
break;
}
else if(z==d||z==D)
{
a=0;
b=1;
break;
}
}
}
void move()
{
if(m[x+a][y+b]==0) //人物前面是否为空地
{
if(m[x][y]==3) //人物此时的位置在成功点上
{
x+=a;
y+=b;
m[x][y]=2;
m[x-a][y-b]=4;
}
else //人物此时的位置不在成功点上
{
x+=a;
y+=b;
m[x][y]=2;
m[x-a][y-b]=0;
}
}
else if(m[x+a][y+b]==4) //人物前面是成功点
{
if(m[x][y]==2) //此时在空地
{x+=a;
y+=b;
m[x][y]=3;
m[x-a][y-b]=0;
}
else if(m[x][y]==3) //此时在成功点
{x+=a;
y+=b;
m[x][y]=3;
m[x-a][y-b]=4;
}
}
else if(m[x+a][y+b]==8m[x+2*a][y+2*b]==0) //人物前面是箱子 并且箱子前面是空地
{
if(m[x][y]==2) //人在空地
{ x+=a;
y+=b;
m[x][y]=2;
m[x-a][y-b]=0;
m[x+a][y+b]=8;}
else if(m[x][y]==3) //人在成功点
{
x+=a;
y+=b;
m[x][y]=2;
m[x-a][y-b]=4;
m[x+a][y+b]=8;
}
}
else if(m[x+a][y+b]==8m[x+2*a][y+2*b]==4) //人物前面是箱子 并且箱子前面是成功点
{
x+=a;
y+=b;
m[x][y]=2;
m[x-a][y-b]=0;
m[x+a][y+b]=5;
}
else if(m[x+a][y+b]==5m[x+2*a][y+2*b]==0) //人物
您可能关注的文档
- C一期土方招标文件.doc
- C代码优化性能.doc
- C代码优化C代码优化.doc
- CVS搭建及应用.doc
- C_实验指导书.doc
- C习题及答案.doc
- CT基础知识介绍.doc
- C企业实训报告.doc
- C匝道土石方工程施工方案.doc
- C十月工作总结.doc
- 基于视觉SLAM建图的无人机路径规划:算法、应用与挑战.docx
- 低交联度分子印迹整体柱:制备工艺、性能评价与应用拓展.docx
- 地面道路交通评价分析系统中空间与属性数据处理的深度剖析与实践.docx
- 从战略领航到价值洞察:CEO视角下A企业财务分析体系的深度剖析与重构.docx
- 油田企业油藏寿命周期成本核算体系的构建与优化研究.docx
- 基于模式的特征建模技术及其支持工具的深度剖析与实践.docx
- 基于DSP的实时目标跟踪系统:架构、算法与应用的深度解析.docx
- 基于CobraNet的网络广播系统:技术、应用与发展探析.docx
- 增强型环路滤波算法赋能高效视频编码系统:原理、应用与性能提升.docx
- 大应力环境下功率型LED特性的深度剖析与研究.docx
原创力文档

文档评论(0)