移动函数又可分为上、下、左、右四种移动方式。在移动的时候还会遇到许多情况,如遇到墙不能移动、不能同时推动两个箱子、进入目的地后需要改变图标、离开目的地后要还原图标等问题。在可操作情况下设置相应操作,在不可操作情况下设置空执行从而不进行任何操作(也起到规范化输入作用)。
(2) 输出函数:
通过for语句套用从而达到输出二维数组的效果,另外通过if语句判断转义进而实现输出更加人性化的背景,从而达到更高的可用性。
(3) 设置背景函数:
通过二维数组初始化对游戏背景进行设置,并在其内部设计移动函数调用从而达到每一关都是一个独立的个体,可以单独实现计时、限时、刷屏等功能,另外还可以输出相应的提示界面。从而为下一步添加场景提供了宽阔的空间。
(4) 计时、限时、刷屏和调色函数:
提供了更加人性化的游戏界面,提高了使用者的游戏兴趣。使dos界面不再仅是黑白的、毫无生气的操作窗口。
3 程序各界面截图及说明
3.1 开始界面
通过按abcd四个键来选择是进入特定游戏还是退出。
3.2 a、b或c对应界面及计时和限时功能
第一层游戏界面,按方向键移动 星号(代人)去推箱子; 同时有提示限制时间30秒。
第二层游戏界面,按方向键移动 星号(代人)去推箱子; 同时有提示限制时间30秒。
第三层游戏界面,按方向键移动 星号(代人)去推箱子; 同时有提示限制时间30秒。
游戏结束,下部有提示单个共用时数,提高游戏乐趣。
游戏结束,下部有提示单个共用时 数,提高游戏乐趣。
游戏结束,下部有提示单个共用时
数,提高游戏乐趣。
提示游戏已超时按回车键回到主界面重新选择游戏。
3.3 选d后进入界面
回到主界面后继续按d,结束总游戏并计算游戏过程 总共用时。
4 程序相关源代码及相应注释
4.1 输出函数
void show(char b[9][9]) {
printf(\printf(\推箱子游戏 \printf(\
printf(\ 人:★ 墙:■\\n\\t\\t\\t\\t 箱子:◎ 目的
地:□\\n\\t\\t\\t\\t 按 d 键 退出游戏\\n\\t\\t\\t\\t 限时30秒!\
printf(\
for(int i=0;i<9;i++) //使用循环将地图转换输出 {
printf(\for(int k=0;k<9;k++) {
if(b[i][k]=='#') { } else {
if(b[i][k]==3) { } else {
if(b[i][k]==5) { } else {
if(b[i][k]==1) { } else
printf(\★\printf(\◎\printf(\ printf(\
}
}
}
}
}
}
{ }
if(b[i][k]=='!') { } else { }
printf(\printf(\⊙\
printf(\
printf(\
4.2 移动函数(仅以向左代表)
4.2.1 当输入d时
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(); { }
if(*t=='d')//遇到d返回
4.2.2 向左移动
if(*t==75) {
if(c[*x][*y-1]=='#'||c[*x][*y-1]==5&&c[*x][*y-2]==5||c[*x][*y-1]==5&&
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库推箱子游戏毕业论文设计(4)在线全文阅读。
相关推荐: