C++實現(xiàn)走迷宮小游戲
更新時間:2020年03月30日 17:08:12 作者:hh_cnyali
這篇文章主要為大家詳細介紹了C++實現(xiàn)走迷宮小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了C++實現(xiàn)走迷宮小游戲的具體代碼,供大家參考,具體內(nèi)容如下
源碼下載:C++實現(xiàn)走迷宮小游戲
主程序代碼:
#include<conio.h>
#include<stdlib.h>
#include<time.h>
#include<string.h>
#include<windows.h>
#include<iostream>
using namespace std;
char pr[10]={1,' ','E','O'} ;
int level,n,m,map[50][50],i,j,x,y,k,ex,ey;
char c[1001];
int main(){
system("cls");
puts("if you no full screen,please press full screen");
getch();
system("cls");
puts("please choose level");
again:;
cin>>level;
if(level>1||level<1){
puts("haven't this level");
goto again;
}
puts("loading...");
sprintf(c,"%d.map",level);
freopen(c,"r",stdin);
cin>>n>>m;
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
cin>>map[i][j];
fclose(stdin);
for(i=1;i<=n;i++)
for(j=1;j<=m;j++)
if(map[i][j]==3){
x=i;
y=j;
}
else if(map[i][j]==2){
ex=i;
ey=j;
}
while(x!=ex&&y!=ey){
system("cls");
for(i=1;i<=n;i++,putchar('\n'))
for(j=1;j<=m;j++)
putchar(pr[map[i][j]]);
k=getch();
if(k=='w')
if(map[x-1][y]&&(x-1)){
map[x-1][y]=3;
map[x][y]=1;
x--;
}
if(k=='s')
if(map[x+1][y]&&(x+1)<=n){
map[x+1][y]=3;
map[x][y]=1;
x++;
}
if(k=='a')
if(map[x][y-1]&&(y-1)){
map[x][y-1]=3;
map[x][y]=1;
y--;
}
if(k=='d')
if(map[x][y+1]&&(y+1)<=m){
map[x][y+1]=3;
map[x][y]=1;
y++;
}
}
system("cls");
return 0;
}
更多C++精彩小游戲請點擊專題:經(jīng)典游戲 進行學(xué)習(xí)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
C++ 數(shù)據(jù)結(jié)構(gòu)之水洼的數(shù)量算法
這篇文章主要介紹了C++ 數(shù)據(jù)結(jié)構(gòu)之水洼的數(shù)量算法的相關(guān)資料,需要的朋友可以參考下2017-06-06
關(guān)于C語言 const 和 define 區(qū)別
這篇文章主要介紹了關(guān)于C語言 const 和 define 區(qū)別 的相關(guān)資料,需要的朋友可以參考下面文章內(nèi)容2021-09-09

