C++小遊戲——走迷宮
阿新 • • 發佈:2019-02-20
大家想不想成名,那就一步步來吧,先寫一些小遊戲熱熱身。
下載地址
主程式程式碼:
#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;
}
娛樂圖一張: