C語言小遊戲 推箱子

2021-10-14 15:54:31 字數 1394 閱讀 9171

更多可能

在《啊哈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...