C語言鍵盤控制走迷宮小遊戲
阿新 • • 發佈:2020-06-17
本文例項為大家分享了C語言鍵盤控制走迷宮小遊戲的具體程式碼,供大家參考,具體內容如下
在看了《啊哈C語言》之後想寫一個遊戲demo
遊戲的截圖
首先是啟動介面
然後是初始化
接下來是鍵盤操控
地圖的複雜度也很容易修改。
也支援退出。按s鍵選擇退出遊戲這個選項即可。
下面是原始碼
#include <stdio.h> #include <stdlib.h> void startUp(); void gameInstructions(); void menu(char c); void gameMap(); char map[6][6]={"######","#o # ","# ## #","# # #","## #","######" }; int main() { startUp();//遊戲啟動介面 gameInstructions();//遊戲說明 //顯示選單 printf(" -> 開始遊戲\n"); printf(" 退出遊戲\n"); printf("按Enter進入遊戲\n"); char choose1; choose1 = getch(); menu(choose1); //載入遊戲地圖 gameMap(); //玩家進行操作 system("cls"); int i,x,y,p,q,j; char ch; x=1;y=1;p=1;q=5; for(i=0;i<6;++i){ printf(" "); for(j=0;j<6;++j){ printf("%c ",map[i][j]); } printf("\n"); } while(x != p || y != q){ ch = getch(); if(ch == 's' || ch == 'S'){ if(map[x+1][y] != '#'){ map[x][y] = ' '; x++; map[x][y] = 'o'; }else{ printf("\a"); } } if(ch == 'w' || ch == 'W'){ if(map[x-1][y] != '#'){ map[x][y] = ' '; x--; map[x][y] = 'o'; }else{ printf("\a"); } } if(ch == 'a' || ch == 'A'){ if(map[x][y-1] != '#'){ map[x][y] = ' '; y--; map[x][y] = 'o'; }else{ printf("\a"); } } if(ch == 'd' || ch == 'D'){ if(map[x][y+1] != '#'){ map[x][y] = ' '; y++; map[x][y] = 'o'; }else{ printf("\a"); } } system("cls"); for(i=0;i<6;++i){ printf(" "); for(j=0;j<6;++j){ printf("%c ",map[i][j]); } printf("\n"); } } system("cls"); printf("You Win!\n"); Sleep(3000); return 0; } void startUp(){ int i; int circle = 2; for(i=0;i<circle;++i){ system("cls"); printf(" 遊戲正在載入"); Sleep(500); system("cls"); printf(" 遊戲正在載入."); Sleep(500); system("cls"); printf(" 遊戲正在載入.."); Sleep(500); system("cls"); printf(" 遊戲正在載入..."); Sleep(500); } system("cls"); printf(" 遊戲載入完畢!\n"); Sleep(1000); } void gameInstructions(){ printf("<---操作按鍵:[W][S][A][D]--->\n"); printf("<---分別對應[上][下][左][右]--->\n"); printf("<---注意使用英文輸入法--->\n"); Sleep(1000); } void menu(char c){ system("cls"); if(c == 'S' || c == 's'){ printf(" 遊戲載入完畢!\n"); printf("<---操作按鍵:[W][S][A][D]--->\n"); printf("<---分別對應[上][下][左][右]--->\n"); printf(" 開始遊戲\n"); printf(" -> 退出遊戲\n"); printf("程式將在5s後關閉\n"); int i = 0; for(i=0;i<5;++i){ system("cls"); printf("程式將在 %ds後關閉\n",5-i); Sleep(1000); } exit(0);//退出程式 }else{ printf(" 遊戲載入完畢!\n"); printf("<---操作按鍵:[W][S][A][D]--->\n"); printf("<---分別對應[上][下][左][右]--->\n"); printf(" -> 開始遊戲\n"); printf(" 退出遊戲\n"); printf("按Enter進入遊戲\n"); } } void gameMap(){ system("cls"); printf("---正在載入遊戲地圖---\n"); int i,j; for(i=0;i<6;++i){ printf(" "); for(j=0;j<6;++j){ printf("%c ",map[i][j]); Sleep(100); } printf("\n"); Sleep(200); } system("cls"); printf("---Part1---\n"); for(i=0;i<6;++i){ printf(" "); for(j=0;j<6;++j){ printf("%c ",map[i][j]); } printf("\n"); } }
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。