本文实例为大家分享了C++实现走迷宫小游戏的具体代码,供大家参考,具体内容如下
源码下载:C++实现走迷宫小游戏
主程序代码:
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
#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;
}
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://blog.csdn.net/hh_cnyali/article/details/51916495








发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。