**
推箱子?小游戏?没错,于我而言,用来打发无聊 初中课余时光的好办法,当然就是写一个小游戏再自己玩个十几遍了吖当然,也是适合广大编程爱好者编写的程序,很好理解哟~~
对了,确定不给个赞或者关注?嘿嘿
话不多说,直接开始!
#include
#include
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行出头的代码,满足我一个下午的快乐,走之前请留下一个赞,关注一下哦,多谢大家!