更多可能
在《啊哈c>一書中學了簡易小遊戲走迷宮的寫法,之後的挑戰是寫乙個推箱子,於是嘗試去寫一下.
此段**是我在摸索中更改之後的最終**,存在改動痕跡.
#include #include #include #includeint main()
; int x, y;
char in, out;
x = 3; y = 4;
out = 'x';
// for (int i = 0; i <= 7; i = i + 1)
// while (a[1][4] != out || a[3][1] != out || a[3][7] != out || a[5][4] != out)
in = getch();
if (in == 'w')
else if (a[x - 1][y] == ' ')}}
if (in == 's')
else if (a[x + 1][y] == ' ')}}
if (in == 'a')
else if (a[x][y - 1] == ' ')}}
if (in == 'd')
else if (a[x][y + 1] == ' ')}}
system("cls");
}system("cls");
printf("恭喜你贏啦\n");
sleep(5000);
return 0;
}
所用的是vs2019,安裝easyx外掛程式後扔存在問題,解決方法參考了這位老哥的回答.
錯誤 1 error c4996.
陣列的序號從0開始,一開始忽略了這件事,實在是慚愧.
剛開始把迴圈條件寫成了四個座標 &&
實際上 完成條件是四個座標&&是x,
a[1][4] == out && a[3][1] == out && a[3][7] == out && a[5][4] == out
迴圈條件需是它的逆否命題,即
while (a[1][4] != out || a[3][1] != out || a[3][7] != out || a[5][4] != out)
if (in == 'w')
else if (a[x - 1][y] == ' ')
忽略了兩個箱子在一起的情況.
更改為
if (a[x - 1][y] == 'x' && a[x - 2][y] != '#' && a[x - 2][y] != 'x')
補充了兩個箱子在一起時的條件
將鍵入-迴圈部分寫為函式,可以只修改完成座標來寫出更多的關卡.
c語言小遊戲推箱子
代表小老鼠 代表箱子 o 代表終點 代表牆 展示 include include include intmain int argc,const char ar char m x 6,m y 3 for printf n 判斷是否結束if 4 cnt switch getch 前方是箱子 elseif...
C語言實現推箱子小遊戲
include include include define n 1000 r目的地 o箱子 i人 x牆 路 空格 w上 a左 d右 s下 void menu int level1 int level2 void swap char char int opera char p,int ren,int...
C語言推箱子小遊戲(可以悔步)
悔步是通過鍊錶來實現的,在人物推動箱子移動後,記錄人物移動方向和箱子運動情況,記錄資料時用頭插法,悔步時直接讀取鍊錶中資料即可。include include system cls getch include sleep include int map 10 10 遊戲地圖,int map 10 1...