日韩性视频-久久久蜜桃-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年碼齡,通宵達旦的技術人生

總結

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

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

主站蜘蛛池模板: 天堂久久一区 | 一区二区三区 欧美 | 一级黄色性生活片 | 香蕉综合在线 | 国产av电影一区二区 | 国产日产精品一区 | 国产ts三人妖大战直男 | 亚洲av无码一区二区三区人 | 日本高清网站 | 日韩黄视频| 午夜精品网站 | 好吊妞在线观看 | 玖玖视频国产 | 精品日韩在线观看 | 69精品一区二区 | 成年人拍拍视频 | 男同互操gay射视频在线看 | 日韩美女性生活 | 国产色一区二区 | 欧美视频免费看欧美视频 | 亚洲女人被黑人巨大进入 | 免费欧美在线 | 中文字幕在线导航 | 精品伊人久久 | 鸥美一级片 | 免费看黄色片的网站 | 国产精品三级电影 | 亚洲天堂不卡 | 中文人妻熟妇乱又伦精品 | 午夜福利视频一区二区 | 九九热精品在线观看 | 欧美男人又粗又长又大 | 国产剧情av在线播放 | 欧美大尺度做爰啪啪床戏明星 | 97成人资源站 | 免费看黄色小视频 | 88久久精品无码一区二区毛片 | 我我色综合| 人妖一级片 | 久热免费在线 | 欧洲精品码一区二区三区免费看 | 欧美一区免费 | 国产精品99久久久久久动医院 | 毛片免费视频 | 韩国av中文字幕 | 欧美自拍色图 | 视频区图片区小说区 | 精品av一区二区 | 国产精品一区二区视频 | 午夜伊人网 | av鲁丝一区鲁丝二区鲁丝三区 | 亚洲专区一区二区三区 | 欧美第一页在线观看 | 伊人国产女 | 九九热这里有精品视频 | 内射无码专区久久亚洲 | 精品一区二区三区三区 | www.第四色 | 精品三级电影 | av黄页| 日韩人妻精品无码一区二区三区 | 天天爱天天射 | 91激情网 | 小伸进喷水网站 | 欧美一二区 | 少妇一级视频 | 亚洲h| 日本a级片网站 | 欧美色图一区 | ⅹxxxxhd亚洲日本hd老师 | 精品人妻无码一区 | 欧美麻豆 | 9i在线看片成人免费 | 国产无码精品视频 | 成人久久精品 | 高潮一区二区三区乱码 | 欧美另类z0z变态 | 特级西西444www大精品视频 | 亚洲av无码专区在线 | 日本人性爱视频 | 中文自拍 | 欧美壮男野外gaytube | 日本不卡二区 | 国产一级在线观看视频 | 国产一级特黄aaa大片 | 成人性做爰片免费视频 | 黄色小说视频网站 | 好爽又高潮了毛片 | 国产伦精品一区二区三区高清 | 免费啪啪小视频 | 久草电影在线 | 爱爱视频网站免费 | 国产成人在线视频 | 有声小说 成人专区 | 五月婷在线观看 | 日韩夜夜高潮夜夜爽无码 | 黑人精品xxx一区一二区 | 操屁股视频| 色鬼久久|