C++實現簡單推箱子小遊戲
阿新 • • 發佈:2020-08-25
本文例項為大家分享了C++實現簡單推箱子的具體程式碼,供大家參考,具體內容如下
遊戲演示
程式碼展示
#include<stdio.h> #include<stdlib.h> #include<getch.h> int main(int argc,const char*argv[]) { int cut=0; int a[8][8]={ {0,3,0},{0,5,4,{3,3},2,3}}; int x=6,y=3; for(;;) { int cunt=0; system("clear"); for(int i=0;i<8;i++) { for(int j=0;j<8;j++) { if(a[i][j]==9) { cunt++; } switch(a[i][j]) { case 0:printf(" ");break; case 2:printf("@ ");break;//人 case 3:printf("# ");break;//牆 case 4:printf("$ ");break;//箱子 case 5:printf("o ");break;//目標位置 case 7:printf("@ ");break; case 9:printf("$ ");break; } } printf("\n"); } if(4==cunt) { printf("成功\n步數:%d",cut); return 0; } //根據資料的大小來判斷當前的座標上的情況 switch(getch()) { case 183: if(0!=x&&3==a[x-1][y]) { a[x][y]=2; } else if(5==a[x-1][y]||0==a[x-1][y]) { a[x][y]-=2; a[x-1][y]+=2; x--; cut++; } else if((5==a[x-2][y]||0==a[x-2][y])&&(4==a[x-1][y]||9==a[x-1][y])) { a[x-2][y]+=4; a[x-1][y]-=4; a[x-1][y]+=2; a[x][y]-=2; x--;cut++; }break; case 184: if(0!=x&&3==a[x+1][y]) { a[x][y]=2; } else if((5==a[x+1][y])||(0==a[x+1][y])) { a[x][y]-=2; a[x+1][y]+=2; x++;cut++; } else if((5==a[x+2][y]||0==a[x+2][y])&&(4==a[x+1][y]||9==a[x+1][y])) { a[x+2][y]+=4; a[x+1][y]-=4; a[x+1][y]+=2; a[x][y]-=2; x++;cut++; }break; case 185: if(0!=x&&3==a[x][y+1]) { a[x][y]=2; } else if(5==a[x][y+1]||0==a[x][y+1]) { a[x][y]-=2; a[x][y+1]+=2; y++;cut++; } else if((0==a[x][y+2]||5==a[x][y+2])&&(4==a[x][y+1]||9==a[x][y+1])) { a[x][y+2]+=4; a[x][y+1]-=4; a[x][y+1]+=2; a[x][y]-=2; y++;cut++; }break; case 186: if(0!=x&&3==a[x][y-1]) { a[x][y]=2; } else if(5==a[x][y-1]||0==a[x][y-1]) { a[x][y]-=2; a[x][y-1]+=2; y--;cut++; } else if((0==a[x][y-2]||5==a[x-1][y])&&(4==a[x][y-1]||9==a[x][y-1])) { a[x][y-2]+=4; a[x][y-1]-=4; a[x][y-1]+=2; a[x][y]-=2; y--;cut++; }break; } } }
更多有趣的經典小遊戲實現專題,分享給大家:
C++經典小遊戲彙總
python經典小遊戲彙總
python俄羅斯方塊遊戲集合
JavaScript經典遊戲 玩不停
java經典小遊戲彙總
javascript經典小遊戲彙總
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。