400字范文,内容丰富有趣,生活中的好帮手!
400字范文 > 用 Dev-C++ 编写简单的走迷宫小游戏

用 Dev-C++ 编写简单的走迷宫小游戏

时间:2020-01-14 20:00:10

相关推荐

用 Dev-C++ 编写简单的走迷宫小游戏

用 Dev-C++ 编写简单的走迷宫小游戏

前言基础版优化版

前言

以下是显示效果

B站视频讲解:【小游戏】用 Dev-C++ 编写简单的控制台走迷宫小游戏

【小游戏】用 Dev-C++ 编写简单的控制台走迷宫小游戏

基础版

#代表墙

用 空格 代表空地

O代表玩家

地图存储:a[x][y]

以下是代码:

#include <cstdio>#include <windows.h>#include <conio.h>//8*12char a[50][50]={"############","#O# # #","# ## # # #","##### # #","##### #","# ##### # #","# ## ","############"};int main(){int x=1,y=1;char ch;for(int i=0;i<=7;i++)puts(a[i]);while(1){ch=getch();if(ch=='s')//下{if(a[x+1][y]==' '){a[x][y]=' ';x++;a[x][y]='O';}}else if(ch=='w')//上{if(a[x-1][y]==' '){a[x][y]=' ';x--;a[x][y]='O';}}else if(ch=='a')//左{if(a[x][y-1]==' '){a[x][y]=' ';y--;a[x][y]='O';}}else if(ch=='d')//右{if(a[x][y+1]==' '){a[x][y]=' ';y++;a[x][y]='O';}}system("cls");for(int i=0;i<=7;i++)puts(a[i]);if(x==6 && y==11)break;}printf("你赢了!");Sleep(10000);return 0;}

优化版

以下有些函数的使用方法可以看看其他人的博客

#include <cstdio>#include <windows.h>#include <conio.h>//8*12char a[50][50]={"############","#O# # #","# ## # # #","##### # #","##### #","# ##### # #","# ## ","############"};void Hide()//用于隐藏控制台光标 {HANDLEhOut;CONSOLE_CURSOR_INFOcurInfo;hOut=GetStdHandle(STD_OUTPUT_HANDLE); curInfo.dwSize=1;curInfo.bVisible=0;SetConsoleCursorInfo(hOut,&curInfo);}void Welcome()//欢迎界面 {printf("\n\n 走 迷 宫");printf("\n\n 请按任意键开始");getch();system("cls");}void Set()//设置光标到初始位置 {HANDLE hOut;COORD pos={0,0};hOut=GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorPosition(hOut,pos); }int main(){Hide();Welcome();int x=1,y=1;char ch;for(int i=0;i<=7;i++)puts(a[i]);while(1){ch=getch();if(ch=='s')//下{if(a[x+1][y]==' '){a[x][y]=' ';x++;a[x][y]='O';}}else if(ch=='w')//上{if(a[x-1][y]==' '){a[x][y]=' ';x--;a[x][y]='O';}}else if(ch=='a')//左{if(a[x][y-1]==' '){a[x][y]=' ';y--;a[x][y]='O';}}else if(ch=='d')//右{if(a[x][y+1]==' '){a[x][y]=' ';y++;a[x][y]='O';}}Set();for(int i=0;i<=7;i++)puts(a[i]);if(x==6 && y==11)break;}printf("你赢了!");Sleep(10000);return 0;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。