日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

Android开发入门——推箱子游戏开发实战(十二)

發(fā)布時(shí)間:2024/3/26 Android 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android开发入门——推箱子游戏开发实战(十二) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

繪制游戲局面

  本文是推箱子游戲程序開發(fā)的第七步。系列文章前五篇描述準(zhǔn)備工作,故本文編號(hào)是(十二)。本文講解如何繪制游戲局面。

本文目標(biāo)
  本文講解如何繪制游戲局面。游戲局面的示例如圖1,圖2所示。這兩幅圖中,紅旗代表箱子的目的地。在任一關(guān)卡,玩家把全部箱子推到各個(gè)標(biāo)有紅旗的單元格上,就過了這一關(guān)。
  

  實(shí)現(xiàn)繪制游戲局面這一任務(wù),要解決兩個(gè)子問題:
  1. 如何在程序中存儲(chǔ)游戲局面?
  2. 如何讀取游戲局面的存儲(chǔ)數(shù)據(jù),顯示到手機(jī)屏幕上?
  第1個(gè)問題是本文的關(guān)鍵。我們知道,不僅每一關(guān)的游戲局面不一樣,而且由于搬運(yùn)工或箱子的移動(dòng),游戲局面是不斷變化的。因此,我們要用一個(gè)“變量”來存儲(chǔ)游戲局面。
  通過本文,你將學(xué)習(xí)到:
  1. 用數(shù)據(jù)類存儲(chǔ)游戲局面的方法。
  2. 靜態(tài)數(shù)據(jù)成員的用法。

實(shí)現(xiàn)思路
  解決第一個(gè)子問題,即“如何在程序中存儲(chǔ)游戲局面”,的思路是,采用矩陣來存儲(chǔ)游戲局面,用字符來表示單元格的內(nèi)容(例如,字符B (Box) 表示箱子;字符W (Wall) 表示墻體)。矩陣的元素與游戲局面上的單元格一一對(duì)應(yīng),如下一節(jié)的圖3所示。矩陣的元素是字符型的。
  解決第二個(gè)子問題的思路是,依次讀取矩陣的元素,根據(jù)元素的字符值在相應(yīng)的單元格內(nèi)繪制圖像。例如,如果矩陣元素值為’B’,則繪制箱子;如果矩陣元素值為’W’,則繪制墻體。
  我們約定,游戲局面固定為12行12列。這一約定是為了減少次要的細(xì)節(jié),使我們聚焦于核心內(nèi)容。
  
實(shí)現(xiàn)步驟
  我們要區(qū)分游戲開局和游戲局面這兩個(gè)概念。

  • 開局。推箱子游戲的每一關(guān),都有一個(gè)開局。這是玩家第一次玩(或者重頭玩)這一關(guān),最開始看到的游戲局面,也就是這一關(guān)的初始局面——搬運(yùn)工和箱子都沒有移動(dòng)過的局面。各個(gè)關(guān)卡的開局?jǐn)?shù)據(jù)始終要存在。這是說,推箱子游戲程序運(yùn)行期間,開局?jǐn)?shù)據(jù)要存在;程序下一次、下下次運(yùn)行,開局?jǐn)?shù)據(jù)還是要存在。這是因?yàn)?#xff0c;即使以前玩家一個(gè)玩過關(guān)卡,在以后玩家都有可能重頭玩這一關(guān)。還有一點(diǎn),開局是不會(huì)變化的。
  • 局面。玩家在玩一個(gè)關(guān)卡期間,這個(gè)玩家在游戲界面所看到狀態(tài)叫做局面。一個(gè)關(guān)卡的開局是這一關(guān)的初始局面。搬運(yùn)工或箱子移動(dòng)后,都將導(dǎo)致狀態(tài)變化,形成新的局面。可見,局面是不斷變化的。

下文中,首先詳細(xì)講解存儲(chǔ)游戲局面的方法。在代碼實(shí)現(xiàn)上,我們將講解:
1. 如何存儲(chǔ)游戲關(guān)卡的開局?
2. 如何從關(guān)卡號(hào)得到該關(guān)卡的開局?
3. 如何存儲(chǔ)和繪制游戲關(guān)卡的局面?

  具體的做法在《編寫推箱子游戲程序(第七步)——繪制游戲局面》一文(Word格式,13頁(yè))中有詳細(xì)闡述,敬請(qǐng)下載閱讀。
  代碼可從GitHub網(wǎng)站下載,鏈接是https://github.com/yeahatgithub/moveboxgame。本文對(duì)應(yīng)的提交版本是Commits on Aug 15, 2016。你可以點(diǎn)擊網(wǎng)頁(yè)上的“16 commits”查看各個(gè)提交版本。Android開發(fā)入門——推箱子游戲開發(fā)實(shí)戰(zhàn)(十一)文末介紹了如何獲取某個(gè)提交版本。

學(xué)習(xí)Android開發(fā),要做的就是實(shí)踐、實(shí)踐、再實(shí)踐。祝好運(yùn)!

總結(jié)

以上是生活随笔為你收集整理的Android开发入门——推箱子游戏开发实战(十二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。