基於C語言實現迷宮遊戲的範例程式碼
2022-05-27 14:04:06
C語言迷宮遊戲
這篇文章是給學完並學懂了C語言的分支(選擇和迴圈)結構和二維陣列的朋友看的。
要做一個遊戲或者程式先要想好有那些要求,以下是我認為一個迷宮必帶的要求:
- 迷宮要先列印出來(要設定牆、空氣、小球的起點),是牆就不能,是空氣就可以走。
- 每次輸入'w'、'a'、's'、'd'為上、左、下、右,並每次輸入後,不用按回車或任意鍵繼續就能輸出,每次走一步(按鍵盤的鍵走)後,先清屏再輸出現在迷宮以及小球現在在哪裡。
- 要有起點和終點的X、Y軸,如果小球與終點的位置相同了,就提示勝利並退出遊戲。
定義地圖
首先我們要列印出地圖,因為地圖有長和寬的長度,所以我們要用二維陣列來定義一個地圖,程式碼如下:
char map[50][50]={ "######",//申請50*50的二維字串當迷宮地圖,但這裡是6*6的地圖 "#O # ",//'#'是牆(不可以走的地方) "# ## #",//'O'是起點(可控制) "# # #",//' '是空氣(可以走的地方) "## #", "######",//橫豎都是012345,012345(陣列下標從0開始) };
列印地圖方法一
定義完二維陣列,就要把它列印出來,程式碼如下:
int i,j; for(i=0;i<6;i++)//i迴圈用來控制列印地圖的行數 { for(j=0;j<6;j++)//j迴圈用來控制列印地圖的列數 { printf("%c",map[i][j]);//列印每次i和j的行數和列數 } printf("n");//一行列印完畢需要換行 }
列印地圖方法二
上面這段程式碼是通過雙重回圈列印出地圖的每行每列。
如果學過puts函數來輸出字元陣列的朋友可以這樣寫,程式碼如下:
int i; for(i=0;i<6;i++)//從0到5,共進行了6次迴圈,依次輸出迷宮的第0至5行 puts(map[i]);//表示輸出每一行的字串
是不是簡單了許多,不懂puts函數的朋友也沒關係,你用第一種方法就行,對於puts函數你只需要知道:
- 使用 puts() 顯示字串時,系統會自動在其後新增一個換行符。
- 只有遇到 '