遊戲我們經常玩,通過我們自己編寫遊戲會有很多樂趣,也在不知不覺之中學到了程式設計語言。學習具體的程式設計固然重要,更重要的是我們要學會程式設計的思想。程式設計語言就像工具,我們要用這個工具來具體解決問題,而不是為了學習工具而學習。
本期介紹推箱子遊戲,通過編寫推箱子來學習c語言。
首先我們先看一下效果
遊戲界面比較醜,見諒~~~
接下來我們來詳細分析推箱子遊戲:
首先,我們在編寫推箱子的時候,要想一想這個遊戲都有一些什麼東西。這裡我們看到地圖、人物、箱子、放箱子的地方、牆,以及其他的配置。
然後對于每一項進行具體分析:
對于地圖,可以看到共有9*10個格子,從左上角開始計算,每一個格子有唯一坐标,且格子的大小相同
接下來是人物,人物有坐标,且可以移動,可以推箱子
箱子可以被人推
放箱子的地方可以和人重合,也可以和箱子重合
牆不可動,用來阻止人和箱子的移動。
對于每一項進行具體分析完成了,現在開始分析遊戲規則:
對于人,可以走上下左右四個方向。當人向上走時,有兩種情況:1.人的上方不能是牆2.人的上方是箱子且箱子的上方不能是牆或者箱子。當人向下走時,有兩種情況:1.人的下方不能是牆2.人的下方是箱子且箱子的下方不能是牆或者箱子。其他依次類推
對于箱子,可以被人推,當被人從後方推時,箱子前方不能有障礙物(箱子或牆)
對于放箱子的地方,可以與人或者箱子重合
對于牆,不可動
當遊戲勝利時,所有放箱子的地方的地方都被箱子沾滿。
以上,對于此遊戲的編寫思路就分析好了。接下來就是具體編寫:
首先,定義資料,确定各個對象是怎麼區分的
然後,初始化所有對象,地圖、人物、箱子、牆、的初始位置
接着,編寫遊戲規則
最後,判定遊戲如何勝利
以上即為編寫推箱子遊戲的具體編寫流程,具體編寫大家先思考,我們到下期在公布,具體分析