**
推箱子:用c++写一个推箱子小游戏**
推箱子?小游戏?没错,于我而言,用来打发无聊 初中课余时光的好办法,当然就是写一个小游戏再自己玩个十几遍了吖当然,也是适合广大编程爱好者编写的程序,很好理解哟~~
对了,确定不给个赞或者关注?嘿嘿
话不多说,直接开始!
- 游戏介绍:游戏中“!”是人,“o”是箱子,“x“是出口,需要做的是用人推着箱子,使箱子到出口,就酱
- 注意事项:注意何时用”==“,何时用”=“,区分三种函数,理清”{}“的位置,画地图时也要检查一下
具体代码如下
#include <iostream>
#include <cstdlib>
using namespace std;
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;
}
}
void PlayGame(){
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=='b'||ch=='B'){
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]=' ';
}
}
}
}
int main(){
while(map[8][7]=='x'){
DrawMap();
PlayGame();
system("cls");
}
DrawMap();
PlayGame();
return 0;
}
嗯嗯?没啦~100行出头的代码,满足我一个下午的快乐,走之前请留下一个赞,关注一下哦,多谢大家!