C语言正反比例函数代码格式,c语言推箱子代码.doc
#include void map1();
void map2();
void map3();
void show();
void move();
void main(int argc,char*argv[])
{
time_t a,b;
time(&a);
system("color 1E");
loop1:{
system("cls");//刷屏
printf("\n\n\n\n\n\n\t\t\t\t欢迎进入推箱子游戏\n\n\t\t\t\t 请按a b c选择游戏\n\n\t\t\t\t 按 d 键 结束");
int t=getch();
if(t==d)
{
printf("\n\t\t\t ");
}
else
{
if(t==a)
{
map1();
goto loop1;
}
if(t==b)
{
map2();
goto loop1;
}
if(t==c)
{
map3();
goto loop1;
}
else
{
printf("\n\n\t\t\t\t 请重新输入:");
goto loop1;
}
}
}
time(&b);
printf("\n\n\n\n\t\t\t\t 游戏总共用时%.3d秒\n\t\t\t ",b-a);
getch();//等待读取回车符以结束程序
}
void map1()
{
time_t p,q,o;
time(&p);
int i=4,j=4,m=6,n=2,t=1,k=3;
system("cls");//刷屏
system("color 2E");
int x=1,y=7;
char z,a[9][9]=
{ /*为背景设置初始资料*/
{#,#,#,#,#,#,#,#,#},
{#,#,#, 3, 0 , 0 , 0 , 1 ,#},
{#,#, 0 , 0 , 0 ,#, 0 ,#,#},
{#, 0 , 0 ,#, 0 , 0 , 5 , 0 ,#},
{#, 0 , 5 , 5 , 3 , 0 , 0 , 0 ,#},
{#,#, 0 ,#, 0 , 0 ,#,#,#},
{#,#, 3 , 0 , 0 , 0 ,#,#,#},
{#,#,#,#,#,#,#,#,#},
{#,#,#,#,#,#,#,#,#}
};
show(a);//调用输出函数
loop://语句标号
move(a,&x,&y,i,j,m,n,t,k,&z);
if(a[i][j]==!&&a[m][n]==!&&a[t][k]==!)
{
system("cls");//刷屏
show(a);
printf("\t\t\t\t YOU ARE WIN!\n");
time(&q);
printf("\t\t\t\t\t 用时%.3d秒\n",q-p);
printf("\t\t\t\t*******回车重 新选择*******\n\t\t\t\t");
getch();
}
else
{
time(&o);
if(z==d)
{
return;
}
if(o-p>30)
{
loop1:system("cls");//刷屏
printf("\t\t\t\t时间已过请重新回车选关!");
int g=getch();
if(g==13)//判断是否为回车符
{
return;
}
else
{
goto loop1;
}
}
system("cls");//刷屏
show(a);//调用输出函数
goto loop;
}
}
void map2()
{
time_t p,q,o;
time(&p);
int i=2,j=1,m=1,n=3,t=4,k=6;
system("cls");//刷屏
system("color 2E");
int x=4,y=1;
char z,b[9][9]=
{ /*为背景设置初始资料*/
{#,#,#,#,#,#,#,#,#},
{#,#,#, 3 , 0 ,#,#,#,#},
{#, 3 ,#, 0 , 0 , 0 , 0 ,#,#},
{#, 0 , 5 , 0 ,#,#, 0 , 0 ,#},
{#, 1 , 0 , 5 , 0 , 0 , 3 , 0 ,#},
{#, 0 , 0 , 0 , 0 , 0 , 0 ,#,#},
{#,#,#, 0 , 0 , 5 ,#,#,#},
{#,#,#,#, 0 , 0 ,#,#,#},
{#,#,#,#,#,#,#,#,#}
};
show(b);//调用输出函数
loop://语句标号
move(b,&x,&y,i,j,m,n,t,k,&z);
if(b[i][j]==!&&b[m][n]==!&&b[t][k]==!)
{
system("cls");//刷屏
show(b);
printf("\t\t\t\t YOU ARE WIN!\n");
time(&q);
printf("\t\t\t\t\t 用时%.3d秒\n",q-p);
printf("\t\t\t\t*******回车重 新选择*******\n\t\t\t\t");
getch();
}
else
{
time(&o);
if(z==d)
{
return;
}
if(o-p>30)
{
loop1:system("cls");//刷屏
printf("\t\t\t\t时间已过请重新回车选关!");
int g=getch();
if(g==13)//判断是否为回车符
{
return;
}
else
{
goto loop1;
}
}
system("cls");//刷屏
show(b);//调用输出函数
goto loop;
}
}
void map3()
{
time_t p,q,o;
time(&p);
int i=2,j=1,m=6,n=2,t=7,k=6;
system("cls");//刷屏
system("color 2E");
int x=3,y=6;
char z,c[9][9]=
{ /*为背景设置初始资料*/
{#,#,#,#,#,#,#,#,#},
{#,#,#,#,#, 0 , 0 , 0 ,#},
{#, 3 ,#, 0 , 0 , 0 , 0 , 0 ,#},
{#, 0 , 5 , 0 , 5 ,#, 1 ,#,#},
{#, 0 , 0 , 0 , 0 , 0 , 5 , 0 ,#},
{#,#, 0 , 0 , 0 , 0 , 0 , 0 ,#},
{#,#, 3 , 0 ,#, 0 ,#, 0 ,#},
{#,#,#, 0 , 0 , 0 , 3 ,#,#},
{#,#,#,#,#,#,#,#,#}
};
show(c);//调用输出函数
loop://语句标号
move(c,&x,&y,i,j,m,n,t,k,&z);
if(c[i][j]==!&&c[m][n]==!&&c[t][k]==!)
{
system("cls");//刷屏
show(c);
printf("\t\t\t\t YOU ARE WIN!\n");
time(&q);
printf("\t\t\t\t\t 用时%.3d秒\n",q-p);
printf("\t\t\t\t*******回车重 新选择*******\n\t\t\t\t");
getch();
}
else
{
time(&o);
if(z==d)
{
return;
}
if(o-p>30)
{
loop1:system("cls");//刷屏
printf("\t\t\t\t时间已过请重新回车选关!");
int g=getch();
if(g==13)//判断是否为回车符
{
return;
}
else
{
goto loop1;
}
}
system("cls");//刷屏
show(c);//调用输出函数
goto loop;
}
}
void show(char b[9][9])
{
printf("\t\t\t\t***************************\n");
printf("\t\t\t\t 推箱子游戏 ");
printf("\n\t\t\t\t***************************\n");
printf("\t\t\t\t 人:★ 墙:■\n\t\t\t\t 箱子:◎ 目的地:□\n\t\t\t\t 按 d 键 退出游戏\n\t\t\t\t 限时30秒!");
printf("\n\t\t\t\t***************************\n");
int i;
int k;
for(i=0;i<9;i++) //使用循环将地图转换输出
{
printf("\t\t\t\t ");
for(k=0;k<9;k++)
{
if(b[i][k]==#)
{
printf("■");
}
else
{
if(b[i][k]==3)
{
printf("□");
}
else
{
if(b[i][k]==5)
{
printf("◎");
}
else
{
if(b[i][k]==1)
{
printf("★");
}
else
{
if(b[i][k]==0)
{
printf(" ");
}
else
{
if(b[i][k]==!)
{
printf("⊙");
}
else
printf("%c ",b[i][k]);
}
}
}
}
}
}
printf("\n");
}
printf("\t\t\t\t***************************\n");
}
void move(char c[9][9],int *x,int *y,int X,int Y,int A,int B,int N,int M,char *t)
{
*t=getch();//用getch()得到上下左右键,要调用二次getch(),上键72,下键80,左键75,右键77.
if(*t==d){}//遇到d返回
if(*t==75)//左键
{
if(c[*x][*y-1]==#||c[*x][*y-1]==5&&c[*x][*y-2]==5
||c[*x][*y-1]==5&&c[*x][*y-2]==!){}//遇到墙或推两个箱子
else
{
if(c[*x][*y-1]==!)//把箱子推出目的地
{
if(c[*x][*y-2]!=0){}
else
{
c[*x][*y]=0;
*y-=1;
c[*x][*y]=1;
c[*x][*y-1]=5;
}
}
else
{
if(c[*x][*y-1]==5&&c[*x][*y-2]!=#)//推箱子
{
if(c[*x][*y]==c[X][Y]||c[*x][*y]==c[A][B]
||c[*x][*y]==c[N][M]) //推着箱子离开目的地
{
c[*x][*y]=3;
*y-=1;
c[*x][*y]=1;
c[*x][*y-1]=5;
}
else
{
c[*x][*y]=0;
*y-=1;
c[*x][*y]=1;
c[*x][*y-1]=5;
}
}
else
{
if(c[*x][*y-1]==5&&c[*x][*y-2]==#){}//推不动箱子
else
{
if(c[*x][*y-1]==c[X][Y]||c[*x][*y-1]==c[A][B]
||c[*x][*y-1]==c[N][M])//进到目的地
{
c[*x][*y]=0;
*y-=1;
c[*x][*y]=1;
}
else
{
if(c[*x][*y]==c[X][Y]||c[*x][*y]==c[A][B]
||c[*x][*y]==c[N][M]) //离开目的地
{
c[*x][*y]=3;
*y-=1;
c[*x][*y]=1;
}
else //走到空地
{
c[*x][*y]=0;
*y-=1;
c[*x][*y]=1;
}
}
}
}
}
}
if(c[X][Y]==5||c[A][B]==5||c[N][M]==5)//箱子推到目的地
{
c[*x][*y-1]=!;
}
}
if(*t==77)//右键
{
if(c[*x][*y+1]==#||c[*x][*y+1]==5&&c[*x][*y+2]==5
||c[*x][*y+1]==5&&c[*x][*y+2]==!){}//遇到墙或推两个箱子
else
{
if(c[*x][*y+1]==!)//把箱子推出目的地
{
if(c[*x][*y+2]!=0){}
else
{
c[*x][*y]=0;
*y+=1;
c[*x][*y]=1;
c[*x][*y+1]=5;
}
}
else
{
if(c[*x][*y+1]==5&&c[*x][*y+2]!=#)//推箱子
{
if(c[*x][*y]==c[X][Y]||c[*x][*y]==c[A][B]
||c[*x][*y]==c[N][M]) //推着箱子离开目的地
{
c[*x][*y]=3;
*y+=1;
c[*x][*y]=1;
c[*x][*y+1]=5;
}
else
{
c[*x][*y]=0;
*y+=1;
c[*x][*y]=1;
c[*x][*y+1]=5;
}
}
else
{
if(c[*x][*y+1]==5&&c[*x][*y+2]==#){}//推不动箱子
else
{
if(c[*x][*y+1]==c[X][Y]||c[*x][*y+1]==c[A][B]
||c[*x][*y+1]==c[N][M])//进到目的地
{
c[*x][*y]=0;
*y+=1;
c[*x][*y]=1;
}
else
{
if(c[*x][*y]==c[X][Y]||c[*x][*y]==c[A][B]
||c[*x][*y]==c[N][M]) //离开目的地
{
c[*x][*y]=3;
*y+=1;
c[*x][*y]=1;
}
else //走到空地
{
c[*x][*y]=0;
*y+=1;
c[*x][*y]=1;
}
}
}
}
}
}
if(c[X][Y]==5||c[A][B]==5||c[N][M]==5)//箱子推到目的地
{
c[*x][*y+1]=!;
}
}
if(*t==72)//上键
{
if(c[*x-1][*y]==#||c[*x-1][*y]==5&&c[*x-2][*y]==5
||c[*x-1][*y]==5&&c[*x-2][*y]==!){}//遇到墙或推两个箱子
else
{
if(c[*x-1][*y]==!)//把箱子推出目的地
{
if(c[*x-2][*y]!=0){}
else
{
c[*x][*y]=0;
*x-=1;
c[*x][*y]=1;
c[*x-1][*y]=5;
}
}
else
{
if(c[*x-1][*y]==5&&c[*x-2][*y]!=#)//推箱子
{
if(c[*x][*y]==c[X][Y]||c[*x][*y]==c[A][B]
||c[*x][*y]==c[N][M]) //推着箱子离开目的地
{
c[*x][*y]=3;
*x-=1;
c[*x][*y]=1;
c[*x-1][*y]=5;
}
else
{
c[*x][*y]=0;
*x-=1;
c[*x][*y]=1;
c[*x-1][*y]=5;
}
}
else
{
if(c[*x-1][*y]==5&&c[*x-2][*y]==#){}//推不动箱子
else
{
if(c[*x-1][*y]==c[X][Y]||c[*x-1][*y]==c[A][B]
||c[*x-1][*y]==c[N][M])//进到目的地
{
c[*x][*y]=0;
*x-=1;
c[*x][*y]=1;
}
else
{
if(c[*x][*y]==c[X][Y]||c[*x][*y]==c[A][B]
||c[*x][*y]==c[N][M]) //离开目的地
{
c[*x][*y]=3;
*x-=1;
c[*x][*y]=1;
}
else //走到空地
{
c[*x][*y]=0;
*x-=1;
c[*x][*y]=1;
}
}
}
}
}
}
if(c[X][Y]==5||c[A][B]==5||c[N][M]==5)//箱子推到目的地
{
c[*x-1][*y]=!;
}
}
if(*t==80)//下键
{
if(c[*x+1][*y]==#||c[*x+1][*y]==5&&c[*x+2][*y]==5
||c[*x+1][*y]==5&&c[*x+2][*y]==!){}//遇到墙或推两个箱子
else
{
if(c[*x+1][*y]==!)//把箱子推出目的地
{
if(c[*x+2][*y]!=0){}
else
{
c[*x][*y]=0;
*x+=1;
c[*x][*y]=1;
c[*x+1][*y]=5;
}
}
else
{
if(c[*x+1][*y]==5&&c[*x+2][*y]!=#)//推箱子
{
if(c[*x][*y]==c[X][Y]||c[*x][*y]==c[A][B]
||c[*x][*y]==c[N][M]) //推着箱子离开目的地
{
c[*x][*y]=3;
*x+=1;
c[*x][*y]=1;
c[*x+1][*y]=5;
}
else
{
c[*x][*y]=0;
*x+=1;
c[*x][*y]=1;
c[*x+1][*y]=5;
}
}
else
{
if(c[*x+1][*y]==5&&c[*x+2][*y]==#){}//推不动箱子
else
{
if(c[*x+1][*y]==c[X][Y]||c[*x+1][*y]==c[A][B]
||c[*x+1][*y]==c[N][M])//进到目的地
{
c[*x][*y]=0;
*x+=1;
c[*x][*y]=1;
}
else
{
if(c[*x][*y]==c[X][Y]||c[*x][*y]==c[A][B]
||c[*x][*y]==c[N][M]) //离开目的地
{
c[*x][*y]=3;
*x+=1;
c[*x][*y]=1;
}
else //走到空地
{
c[*x][*y]=0;
*x+=1;
c[*x][*y]=1;
}
}
}
}
}
}
if(c[X][Y]==5||c[A][B]==5||c[N][M]==5)//箱子推到目的地
{
c[*x+1][*y]=!;
}
}
}
C语言正反比例函数代码格式,c语言推箱子代码.doc相关推荐
- c语言实验七 函数实验报告,C语言实验七函数实验报告.doc
C语言实验七函数实验报告 C语言程序设计 实 验 报 告 实验题目 实验七 函数 实验目的 掌握函数定义的方法: 掌握函数实参与形参的对应关系,以及值传递的方式. 掌握函数的嵌套调用和递归调用的方法: ...
- vue应用axios.get请求的代码格式(2种)- 代码篇
vue应用axios.get请求的代码格式(2种)- 代码篇 代码: axios.get(this.serverPath+'/supermarket/fruits/options?id='+id, { ...
- 世嘉新人培训教材学习_第一章 (推箱子代码)
第一章 第一个游戏--"推箱子" 自己也把代码实现一遍. 游戏程序,就是获取输入,将输入反映到游戏世界,显示结果这三项 的无限循环.这个过程称为游戏循环或者主循环. while(t ...
- 推箱子、纯前端实现推箱子、推箱子代码
推箱子.纯前端实现推箱子.推箱子代码 今天分享一款非常经典的HTML5小游戏,一款考验你智力的推箱子游戏,这个游戏很常见,你应该是玩过的,这次我们用HTML5来重写了这款推箱子游戏,游戏设置和很多关卡 ...
- c语言如何让函数一直执行,C语言如何实现在每天某个特定时间执行某个函数?
慕仙森 Windows提供了定时器,帮助编写定期发送消息的程序.定时器一般通过一下两中方式通知应用程序间隔时间已到.⑴ 给指定窗口发送WM_TIMER消息,也就是下面的给出在窗口类中使用的方法.⑵ 调 ...
- c语言推箱子代码_C语言烂大街的东西都学不会!C语言多关卡推箱子制作教程
C语言多关卡推箱子,兄台了解一下?没错,C语言完整简单项目实战 很高兴你能光临小编寒舍 首先感谢百忙之中你能从万千文章中点小编得专属页面.这不是娱乐篇,这是学习道场.开始前,小编就做一个简单得自我介绍 ...
- c语言中的函数的组成,c语言函数由哪几部分组成
c语言函数由哪几部分组成 发布时间:2020-07-16 15:46:42 来源:亿速云 阅读:476 作者:Leah 这篇文章将为大家详细讲解有关c语言函数由哪几部分组成,文章内容质量较高,因此小编 ...
- vscode代码格式排列_vscode 一键规范代码格式的实现
使用vscode的过程中 自己或者push代码以后 代码的格式可能会出现错乱, 作为一个成熟的开发 , 当然应该遵守一些代码规范, 首先代码整洁度应该排在第一位 使用vscode 格式化代码 在少量的 ...
- C语言 const 修饰函数返回值 - C语言零基础入门教程
目录 一.const 简介 1.const 修饰变量 2.const 修饰指针 二.const 修饰在函数名前面 三.const 修饰在函数名后面 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : ...
最新文章
- python GUI编程( 二 ) (基于PyQt5)
- html,css,javascript之间的关系是什么?各是负责哪方面工作的?
- 前端需要了解的 Cookies 和 WebStorage
- 大数据挖掘在销售管理中的应用价值
- taskset设置CPU affinity
- mysql主从从配置详解_MySQL主从配置详解
- 《Python Cookbook 3rd》笔记(2.19):实现一个简单的递归下降分析器
- matlab sizeof size,使用Matlab进行MEXing C时,size_t和mwSize之间的差异
- audio_policy.conf说明(翻译)
- 让/etc/profile文件修改后立即生效
- mysql查看当前连接数据
- fer2013人脸表情数据实践
- 单片机原理及应用第四版林立课后选择题
- EXCEL VBA入门(课堂随机点名系统)
- 嵌入式 Linux 入门(一、Linux 基本介绍及文件结构)
- python输入个人所得税计算_python实例个税计算
- PAT Basic 1031
- 我为什么放弃网易博客
- 工作之外的闲暇时光(玩魔方)
- manjaro 安装的艰辛历程,常用软件安装以及踩坑