c++写推箱子小游戏 利用c++写一个简单的推箱子小游戏
诗一样的代码 人气:0想了解利用c++写一个简单的推箱子小游戏的相关内容吗,诗一样的代码在本文为您仔细讲解c++写推箱子小游戏的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:c++推箱子游戏代码,推箱子游戏代码,C语言写推箱子游戏,下面大家一起来学习吧。
效果图
相信各位都肯定完整这种推箱子的小游戏。游戏玩法很简单,那就是一个人把所有的箱子推动到对应的位置那就可以赢了。
那么我们接下来看看这个推箱子的游戏改怎么写
char map[10][10]= { {'#','#','#','#','#','#','#','#','#','#'}, {'#','#','#','#',' ',' ','!',' ',' ','#'}, {'#',' ',' ',' ',' ','o',' ',' ',' ','#'}, {'#',' ',' ',' ',' ',' ',' ',' ',' ','#'}, {'#','#',' ','#','#','#',' ','#','#','#'}, {'#',' ',' ',' ',' ',' ',' ',' ',' ','#'}, {'#',' ',' ',' ',' ',' ',' ',' ',' ','#'}, {'#','#',' ','#',' ','#','#','#','#','#'}, {'#','#',' ',' ',' ',' ',' ','x','#','#'}, {'#','#','#','#','#','#','#','#','#','#'} }; void DrawMap(){ for(int i=0;i<=9;i++){ for(int j=0;j<=9;j++){ cout<<map[i][j]; } cout<<endl; } }
首先先画出地图,这里面的#是墙壁,x是终点,o是推动的箱子,然后!是人,空的字符就是通道。别看界面比较简陋,我们学的是算法,只要思想学会了,随便移植到哪个有界面的程序都是可以的。
int r,l; //人的下标 for(int i=0;i<=9;i++){ for(int j=0;j<=9;j++){ if(map[i][j]=='!'){ r=i; //r,l相当于地图的宽度和长度 l=j; } } }
在一开始我们需要遍历,并且获取人的坐标。
cout<<"please enter w(up) s(down) a(left) b(right)"<<endl; char ch; cin>>ch; if(ch=='w'||ch=='W'){ if(map[r-1][l]==' '){ //若往上走没有障碍物 map[r][l]==' '; map[r-1][l]='!'; //走上去 } if(map[r-1][l]=='o'){ //若上面有箱子 if(map[r-2][l]==' '||map[r-2][l]=='x'){ //因为要推着箱子走,所以要确保上面的上面还可以走或者到达终点 map[r-2][l]='o'; map[r-1][l]='!'; map[r][l]=' '; } } } if(ch=='s'||ch=='S'){ if(map[r+1][l]==' '){ map[r][l]=' '; map[r+1][l]='!'; } if(map[r+1][l]=='o'){ if(map[r+2][l]==' '||map[r+2][l]=='x'){ map[r+2][l]='o'; map[r+1][l]='!'; map[r][l]=' '; } } } if(ch=='a'||ch=='A'){ if(map[r][l-1]=' '){ map[r][l]=' '; map[r][l-1]='!'; } if(map[r][l-1]=='o'){ if(map[r][l-2]==' '||map[r][l-2]=='x'){ map[r][l-2]='o'; map[r][l-1]='!'; map[r][l]=' '; } } } if(ch=='d'||ch=='D'){ if(map[r][l+1]==' '){ map[r][l+1]='!'; map[r][l]=' '; } if(map[r][l+1]=='o'){ if(map[r][l+2]==' '||map[r][l+2]=='x'){ map[r][l+2]='o'; map[r][l+1]='!'; map[r][l]=' '; } } }
这里就是进行wsad的上下左右操作。然后操作时候需要判空,判断人是否可以走动。如果是墙壁就不能走动。如果是箱子,那还有判断箱子的前一格是否可以走动,可以的话就直接推箱子了。
总的来说这种游戏并不算太难。如果是多个关卡的话,可以选择加一个关卡地图配置文件。然后让游戏策划进行配置。设计游戏的地图才是这游戏的难点所在。
总结
加载全部内容