日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

简易走迷宫游戏

發布時間:2024/4/11 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 简易走迷宫游戏 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

簡易走迷宮游戲

#include<stdio.h> #include<stdlib.h> #include<conio.h> #include<windows.h> #pragma comment(lib,"Winmm.lib") #include<time.h> using namespace std;int cot, flag1, flag2, flag3;//cot是計步器 flag1,2,3指示是否拿到鑰匙 int x, y, i, p, q, z, book, a3, a4, a5, a6; int a1, a2; char ch; char c[100][100] = { "■■■■■■■■■■","■◎ ■■","■ ■ ■ ■ ★■","■ ■ ■ ■ 勇者啊,記得拿到鑰匙之后才能打開牢房逃離","■ ■■■ ■ ■■ ■表示墻 ◎表示你 ★表示鑰匙 卍表示出口","■ ■■ ■ 卍","■ ■ ■ ■","■ ■ ■■■■ ■","■ ■","■■■■■■■■■■", }; char b[200][200] = { "■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■","■ ■ ■ ■■■■■■■ ■ ■","■ ■■ ■■■■ ■■ ■ ■■ ■■ ■■","■ ■ ■ ■ ■ ■ ■■ ■ ■","■ ■■■■ ◎ ■ ■■■ ■ ■■ ■■","■ ■ ■ ■ ■ ■■ ■ 卍","■■ ■■ ■ ■■■■■■ ■■■ ■","■ ■■■■ ■ ■ ■ ■ ■■ ■■ ■","■ ■★ ■ ■■■■ ■ ■ ■■ ■ ■","■ ■ ■■ ■ ■■ ■■ ■■","■■■■ ■ ■ ■■■■ ■ ■ ■ ■■■","■ ■■ ■ ■■ ■ ■ ■■■■","■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■", }; char a[200][300] = {"■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■","■ ■ ■ ■■■ ■■■■ ■","■ ■ ■■■■■ ■ ■■ ■■■ ■ ■ ■■ ■■■■■ ■■■■■■■ ■","■ ■ ■ ■ ■ ■ ■ ■ ■ ■■■■■ ■■ ■ ■","■ ■■■■ ■ ■ ■ ■■■■ ■ ■■ ■ ■■■■ ■■■■■ ■■■","■ ■ ■■■■ ■ ■ ■ ■ ■ ■ ■ ■■■■■ ■■ ■■■","■ ■ ■ ■■ ■■■■■■ ■ ■ ■■■■■■ ■■■■■■ ■ ■■■","■ ■■■ ■ ◎ ■ ■ ■ ■ ■ ■■ ■■ ■■■■","■ ■ ■■■■■ ■■■ ■■■■■■■■■■ ■■■■■■ ■ ■ ■■■■ 卍","■ ■■■■■ ■■■■ ■ ■■ ■■■■■ ■ ■ ■■■■■ ■","■ ■ ★■ ■ ■■■■■■■ ■■ ■ ■ ■■■■■■■■ ■■■■■■ ■","■■■ ■ ■ ■■■■ ■ ■ ■■■■■ ■ ■■■■ ■ ■ ■","■ ■■ ■ ■■ ■■■■ ■■ ■ ■■ ■ ■ ■■■■■■ ■ ■","■ ■ ■ ■ ■ ■ ■■■ ■ ■ ■ ■ ■■■ ■ ■ ■ ■ ■","■ ■ ■■■■■■ ■■ ■ ■ ■■■■ ■ ■■■ ■ ■ ■ ■","■ ■ ■ ■■■ ■■■ ■■■■■■■ ■ ■ ■ ■■■■■ ■ ■","■ ■■■ ■ ■ ■■ ■ ■ ■■■■■ ■ ■ ■ ■ ■","■ ■ ■ ■■■■ ■ ■ ■ ■■■ ■ ■ ■■■■■","■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■", }; void status()//狀態函數 {void gotoxy(int x, int y);if (c[x][y + 1] == -17 && c[x][y] == -95 && z == 1){flag1 = 1;//flag1變為1 拿到鑰匙gotoxy(11, 5);printf("勇者,恭喜你!得到了遺失在迷宮中的鑰匙!");}else if (b[x][y + 1] == -17 && b[x][y] == -95 && z == 2){flag2 = 1;//flag1變為1 拿到鑰匙gotoxy(14, 5);printf("勇者,恭喜你!得到了遺失在迷宮中的鑰匙!");}else if (a[x][y + 1] == -17 && a[x][y] == -95 && z == 3){flag3 = 1;//flag1變為1 拿到鑰匙gotoxy(20, 5);printf("勇者,恭喜你!得到了遺失在迷宮中的鑰匙!");} } void gotoxy(int x, int y)//輔助函數:光標移動 {COORD coord;//光標結構體coord.X = y;//設置坐標coord.Y = x;SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), coord);//同步到控制臺/設置控制臺光標位置 } void HideCursor() //隱藏光標,防止干擾視線 {CONSOLE_CURSOR_INFO cursor;cursor.bVisible = FALSE;cursor.dwSize = sizeof(cursor);HANDLE handle = GetStdHandle(STD_OUTPUT_HANDLE);SetConsoleCursorInfo(handle, &cursor); } void getpd(char js) {if (z == 1){if (js == 'w' && ((c[x - 1][y] != -95 && c[x - 1][y] != -10) || (c[x - 1][y + 1] == -17) || (c[x - 1][y + 1] == -14))){if (c[x - 1][y] == -123 && !flag1)//判斷走到出口時是否拿到鑰匙goto out1;gotoxy(x, y);printf(" ");x--;gotoxy(x, y);printf("◎");cot++;gotoxy(10, 10);printf("%d", cot);status();}if (js == 's' && ((c[x + 1][y] != -95 && c[x + 1][y] != -10) || (c[x + 1][y + 1] == -17) || (c[x + 1][y + 1] == -14))){if (c[x + 1][y] == -123 && !flag1)goto out1;gotoxy(x, y);printf(" ");x++;gotoxy(x, y);printf("◎");cot++;gotoxy(10, 10);printf("%d", cot);status();}if (js == 'd' && ((c[x][y + 2] != -95 && c[x][y + 2] != -10) || (c[x][y + 3] == -17) || (c[x][y + 3] == -14))){if (c[x][y + 2] == -123 && !flag1)goto out1;gotoxy(x, y);printf(" ");y += 2;gotoxy(x, y);printf("◎");cot++;gotoxy(10, 10);printf("%d", cot);status();}if (js == 'a' && ((c[x][y - 2] != -95 && c[x][y - 2] != -10) || (c[x][y - 1] == -17) || (c[x][y - 1] == -14))){if (c[x][y - 1] == -123 && !flag1)goto out1;gotoxy(x, y);printf(" ");y -= 2;gotoxy(x, y);printf("◎");cot++;gotoxy(10, 10);printf("%d", cot);status();}out1:{}}if (z == 2){if (js == 'w' && ((b[x - 1][y] != -95 && b[x - 1][y] != -10) || (b[x - 1][y + 1] == -17) || (b[x - 1][y + 1] == -14))){if (b[x - 1][y] == -123 && !flag2)//判斷走到出口時是否拿到鑰匙goto out2;gotoxy(x, y);printf(" ");x--;gotoxy(x, y);printf("◎");cot++;gotoxy(13, 10);printf("%d", cot);status();}if (js == 's' && ((b[x + 1][y] != -95 && b[x + 1][y] != -10) || (b[x + 1][y + 1] == -17) || (b[x + 1][y + 1] == -14))){if (b[x + 1][y] == -123 && !flag2)goto out2;gotoxy(x, y);printf(" ");x++;gotoxy(x, y);printf("◎");cot++;gotoxy(13, 10);printf("%d", cot);status();}if (js == 'd' && ((b[x][y + 2] != -95 && b[x][y + 2] != -10) || (b[x][y + 3] == -17) || (b[x][y + 3] == -14))){if (b[x][y + 2] == -123 && !flag2)goto out2;gotoxy(x, y);printf(" ");y += 2;gotoxy(x, y);printf("◎");cot++;gotoxy(13, 10);printf("%d", cot);status();}if (js == 'a' && ((b[x][y - 2] != -95 && b[x][y - 2] != -10) || (b[x][y - 1] == -17) || (b[x][y - 1] == -14))){if (b[x][y - 1] == -123 && !flag2)goto out2;gotoxy(x, y);printf(" ");y -= 2;gotoxy(x, y);printf("◎");cot++;gotoxy(13, 10);printf("%d", cot);status();}out2:{}}if (z == 3){if (js == 'w' && ((a[x - 1][y] != -95 && a[x - 1][y] != -10) || (a[x - 1][y + 1] == -17) || (a[x - 1][y + 1] == -14))){if (a[x - 1][y] == -123 && !flag3)//判斷走到出口時是否拿到鑰匙goto out3;gotoxy(x, y);printf(" ");x--;gotoxy(x, y);printf("◎");cot++;gotoxy(19, 10);printf("%d", cot);status();}if (js == 's' && ((a[x + 1][y] != -95 && a[x + 1][y] != -10) || (a[x + 1][y + 1] == -17) || (a[x + 1][y + 1] == -14))){if (a[x + 1][y] == -123 && !flag3)goto out3;gotoxy(x, y);printf(" ");x++;gotoxy(x, y);printf("◎");cot++;gotoxy(19, 10);printf("%d", cot);status();}if (js == 'd' && ((a[x][y + 2] != -95 && a[x][y + 2] != -10) || (a[x][y + 3] == -17) || (a[x][y + 3] == -14))){if (a[x][y + 2] == -123 && !flag3)goto out3;gotoxy(x, y);printf(" ");y += 2;gotoxy(x, y);printf("◎");cot++;gotoxy(19, 10);printf("%d", cot);status();}if (js == 'a' && ((a[x][y - 2] != -95 && a[x][y - 2] != -10) || (a[x][y - 1] == -17) || (a[x][y - 1] == -14))){if (a[x][y - 1] == -123 && !flag3)goto out3;gotoxy(x, y);printf(" ");y -= 2;gotoxy(x, y);printf("◎");cot++;gotoxy(19, 10);printf("%d", cot);status();}out3:{}} } void time(int t, int r)//怪物隨機移動函數 {clock_t s, f;int a1;s = clock();f = clock();srand(time(NULL));if (z == 2){while (1){HideCursor();if (b[x][y] == -123 && flag2)//如果走到出口,跳出break;if (!_kbhit()){f = clock();if (f - s >= 200){a1 = rand() % 100 + 1;if (a1 >= 1 && a1 <= 25 && b[t][r + 2] != -95 && b[t][r + 2] != -123)//向四個方向隨機移動且不能走到非法區域{gotoxy(t, r);printf(" ");r += 2;gotoxy(t, r);printf("◆");}if (a1 >= 26 && a1 <= 50 && b[t][r - 2] != -95 && b[t][r - 2] != -123){gotoxy(t, r);printf(" ");r -= 2;gotoxy(t, r);printf("◆");}if (a1 >= 51 && a1 <= 75 && b[t + 1][r] != -95 && b[t + 1][r] != -123){gotoxy(t, r);printf(" ");t++;gotoxy(t, r);printf("◆");}if (a1 >= 76 && a1 <= 100 && b[t - 1][r] != -95 && b[t - 1][r] != -123){gotoxy(t, r);printf(" ");t--;gotoxy(t, r);printf("◆");}if (t == x && y == r)//如果被怪抓住,將鑰匙和起始點重新打印{gotoxy(t, r);printf(" ");gotoxy(4, 14);printf("◎");gotoxy(8, 8);printf("★");flag2 = 0;//鑰匙掉落book = 1;break;}s += 200;}}else{HideCursor();ch = getchar();getpd(ch);status();}}}else if (z == 3){while (1){HideCursor();if (a[x][y] == -123 && flag3)break;if (!_kbhit()){f = clock();if (f - s >= 200){a1 = rand() % 100 + 1;int js1 = rand() % 100 + 1, js2 = rand() % 100 + 1;//三個怪的隨機移動if (a1 >= 1 && a1 <= 25 && a[t][r + 2] != -95 && a[t][r + 2] != -123){gotoxy(t, r);printf(" ");r += 2;gotoxy(t, r);printf("◆");}if (a1 >= 26 && a1 <= 50 && a[t][r - 2] != -95 && a[t][r - 2] != -123){gotoxy(t, r);printf(" ");r -= 2;gotoxy(t, r);printf("◆");}if (a1 >= 51 && a1 <= 75 && a[t + 1][r] != -95 && a[t + 1][r] != -123){gotoxy(t, r);printf(" ");t++;gotoxy(t, r);printf("◆");}if (a1 >= 76 && a1 <= 105 && a[t - 1][r] != -95 && a[t - 1][r] != -123){gotoxy(t, r);printf(" ");t--;gotoxy(t, r);printf("◆");}if (js1 >= 1 && js1 <= 25 && a[a3][a4 + 2] != -95 && a[a3][a4 + 2] != -123){gotoxy(a3, a4);printf(" ");a4 += 2;gotoxy(a3, a4);printf("◆");}if (js1 >= 26 && js1 <= 50 && a[a3][a4 - 2] != -95 && a[a3][a4 - 2] != -123){gotoxy(a3, a4);printf(" ");a4 -= 2;gotoxy(a3, a4);printf("◆");}if (js1 >= 51 && js1 <= 75 && a[a3 + 1][a4] != -95 && a[a3 + 1][a4] != -123){gotoxy(a3, a4);printf(" ");a3++;gotoxy(a3, a4);printf("◆");}if (js1 >= 76 && js1 <= 105 && a[a3 - 1][a4] != -95 && a[a3 - 1][a4] != -123){gotoxy(a3, a4);printf(" ");a3--;gotoxy(a3, a4);printf("◆");}if (js2 >= 1 && js2 <= 25 && a[a5][a6 + 2] != -95 && a[a5][a6 + 2] != -123){gotoxy(a5, a6);printf(" ");a6 += 2;gotoxy(a5, a6);printf("◆");}if (js2 >= 26 && js2 <= 50 && a[a5][a6 - 2] != -95 && a[a5][a6 - 2] != -123){gotoxy(a5, a6);printf(" ");a6 -= 2;gotoxy(a5, a6);printf("◆");}if (js2 >= 51 && js2 <= 75 && a[a5 + 1][a6] != -95 && a[a5 + 1][a6] != -123){gotoxy(a5, a6);printf(" ");a5++;gotoxy(a5, a6);printf("◆");}if (js2 >= 76 && js2 <= 105 && a[a5 - 1][a6] != -95 && a[a5 - 1][a6] != -123){gotoxy(a5, a6);printf(" ");a5--;gotoxy(a5, a6);printf("◆");}if ((t == x && y == r) || (x == a3 && y == a4) || (x == a5 && y == a6)){gotoxy(t, r);printf(" ");gotoxy(a3, a4);printf(" ");gotoxy(a5, a6);printf(" ");gotoxy(7, 32);printf("◎");gotoxy(10, 10);printf("★");book = 1;flag3 = 0;//鑰匙掉落break;}s += 200;}}else{HideCursor();ch = getchar();getpd(ch);status();}}} } int main() {HideCursor();printf(" 親愛的勇者,你總算醒了。 (按下enter鍵繼續)");system("color B");while (1){char ss;ss = getchar();if (ss == '\n')break;}printf(" 什么,你問現在什么個情況?");while (1){char ss;ss = getchar();if (ss == '\n')break;}printf(" 你忘了么,你被怪物偷襲了,這之后他們把昏迷的你帶到了這座迷宮并關了起來");while (1){char ss;ss = getchar();if (ss == '\n')break;}printf(" 好在有我跟了進來并找到了牢房鑰匙的位置,所以趁現在快離開這里吧");while (1){char ss;ss = getchar();if (ss == '\n')break;}printf(" 但可惜的是你的武器被他們帶走了,因此你只能想辦法避開怪物,不被它們發現");while (1){char ss;ss = getchar();if (ss == '\n')break;}printf(" 你問我是誰?這并不重要,你就把我當作一個樂于助人但未交課程設計作業的大學生吧");while (1){char ss;ss = getchar();if (ss == '\n')break;}printf(" 好了,話不多說,快開始吧");while (1){char ss;ss = getchar();if (ss == '\n')break;}system("CLS");//清屏for (z = 1; z <= 3; z++){if (z == 1){// mciSendString("open bgm1.mp3 alias bgm1", NULL, 0, NULL);//打開音樂// mciSendString("play bgm1 repeat", NULL, 0, NULL);//循環播放x = 1, y = 1, p = 5, q = 9;for (i = 0; i < 10; i++){printf("%s", c[i]);printf("\n");}printf("當前步數: %d\n狀態: \n", cot);system("color B");x = 1, y = 2;while (c[x][y] != -123 || !flag1)//只有在到達出口的坐標并且有鑰匙的情況下退出循環{HideCursor();ch = getchar();getpd(ch);}system("CLS");//清屏printf(" 恭喜你!勇者,你成功逃出了第一層迷宮\n");printf(" 請按下enter鍵以前往下一層\n");printf("(注意!下一層開始會出現你無法擊敗的強大怪物,請注意躲避)");while (1){char ss;ss = getchar();if (ss == '\n')break;}system("CLS");//清屏}if (z == 2){cot = 0;srand(time(0));x = 4, y = 14, p = 5, q = 57, book = 0;for (i = 0; i <= 12; i++){printf("%s", b[i]);printf("\n");}printf("當前步數: %d\n狀態: \n", cot);system("color B");while (1){a1 = rand() % 10 + 3;a2 = rand() % 47 + 3;if (!(a2 % 2))//一定要讓光標列數在偶數位{if (b[a1][a2] != -95)//在可走的道路上隨機生成形狀為“◆”的怪物{gotoxy(a1, a2);printf("◆");time(a1, a2);break;}}}if (book == 1){system("CLS");//清屏z = 1;printf(" 很遺憾,勇者,你被怪物抓住了\n");printf(" (請按下enter鍵重新挑戰)\n");}else{system("CLS");//清屏printf("真不愧是天選之子,恭喜你!勇者,你可以前往最終試煉了\n");printf(" (請按下enter鍵以前往下一層)\n");}while (1){char ss;ss = getchar();if (ss == '\n')break;}system("CLS");//清屏}if (z == 3){cot = 0;x = 7, y = 32, p = 8, q = 118, book = 0;for (i = 0; i <= 18; i++){printf("%s", a[i]);if (i != 18)printf("\n");}printf("當前步數: %d\n狀態: \n", cot);while (1){a1 = rand() % 17 + 1;a2 = rand() % 117 + 1;a3 = rand() % 17 + 1;a4 = rand() % 117 + 1;a5 = rand() % 17 + 1;a6 = rand() % 117 + 1;if (!(a2 % 2) && !(a4 % 2) && !(a6 % 2)){if (a[a1][a2] != -95 && a[a3][a4] != -95 && a[a5][a6] != -95){gotoxy(a1, a2);printf("◆");gotoxy(a3, a4);printf("◆");gotoxy(a5, a6);printf("◆");time(a1, a2);break;}}}if (book == 1){system("CLS");//清屏z = 2;printf(" 很遺憾,勇者,你被怪物抓住了\n");printf(" (請按下enter鍵重新挑戰)\n");while (1){char ss;ss = getchar();if (ss == '\n')break;}system("CLS");//清屏}else{system("CLS");//清屏printf("太強了,恭喜你!勇者,你成功逃出了迷宮\n");printf("當然我也沒有閑著,我替你找回了你的武器:\n");system("color 2");printf(" * \n");printf(" *** \n");printf(" *** \n");printf(" *** \n");printf(" *** 圣遺物:湖女劍\n");printf(" *** \n");printf(" *******\n");printf(" *** \n");printf(" *** \n");system("color 6");printf("那么,請你在以后繼續用它懲奸除惡,做最強的勇者吧");Sleep(10000);}}}return 0; } 超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的简易走迷宫游戏的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品国产三级国产三级人妇 | 黄色国产在线观看 | 九九热综合 | 99综合视频 | 男人操女人免费 | 久久久久国产一区二区三区 | 手机av在线播放 | 污网在线观看 | 一级片网址 | 一区二区三区日韩精品 | 麻豆av一区二区三区在线观看 | 美女隐私黄www网站动漫 | 国产精品99re| 日韩欧美猛交xxxxx无码 | 青娱乐超碰在线 | 久久全国免费视频 | 一级性生活大片 | 亚洲女人天堂色在线7777 | 扒开美女内裤狂揉下部 | 中文字幕1区2区 | 扩阴视频 | a级黄色在线观看 | 都市豪门艳霸淫美妇 | 亚洲无人区码一码二码三码的含义 | 天天弄天天干 | 少妇搡bbbb搡bbbb | 欧美涩色| 国产毛片视频网站 | 手机看片欧美日韩 | jizz欧洲 | 国产精品成人av性教育 | 男人日女人在线观看 | 国产伦精品一区二区三区网站 | 国产成人精品一区二区三区在线 | 芒果视频在线观看免费 | 悠悠色综合| 欧美久久久久久久久久久久久久 | 久久国产视频网 | 99综合视频 | 四色最新网址 | 亚州综合视频 | 激情999| 美女又爽又黄视频 | 亚洲亚裔videos黑人hd | 中文字幕永久在线观看 | aa成人| 欧美日日操 | www.天堂av | 91正在播放 | 久操视频在线观看 | 少妇精品视频 | 国产精品久久久网站 | 九月丁香婷婷 | 亚洲中文字幕久久无码 | 草草草av | 亚洲涩涩 | 麻豆影片 | 青青草手机视频在线观看 | 黄色一级片免费观看 | 国产精品久久视频 | 另类小说色 | 91国偷自产中文字幕久久 | www国产精品内射熟女 | www黄在线观看| 丰满人妻中伦妇伦精品app | 精品国产综合区久久久久久 | 午夜视频在线 | 久久亚洲AV无码 | 顶臀精品视频www | 97色综合 | 中文av一区二区三区 | gogo人体做爰大胆视频 | 桃色视屏 | 国产农村妇女精品一二区 | 秋霞午夜鲁丝一区二区 | 草草在线观看视频 | 成人在线观看一区 | 奶罩不戴乳罩邻居hd播放 | 欧美一区二区三区婷婷 | 欧美色图视频在线 | 国产免费美女 | 怡红院一区二区 | bt天堂新版中文在线地址 | 久色成人 | 丰满岳妇伦在线播放 | 在线免费看黄视频 | 日本黄页网址 | 精品国产91乱码一区二区三区 | 青青草久 | 无码任你躁久久久久久老妇 | 日韩视频一二三 | 丁香婷婷在线 | 好吊色欧美一区二区三区视频 | 青青视频免费在线观看 | 精品无码国产av一区二区三区 | 久久亚洲av午夜福利精品一区 | 成年人黄色免费视频 | 国产黄a | 国产av人人夜夜澡人人爽 |