iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 5
1

本日閱讀進度:第二章 撰寫真正的程式碼(43~60頁)

重點摘要:
接著要挑戰做一個簡單的戰艦小遊戲。
有一個1x7的網格,戰艦佔用3個連續網格,使用者需猜測是哪3格,全部猜對可擊沈戰艦。
遊戲該怎麼做呢?

  1. 弄清楚遊戲的執行流程
    ①使用者啟動遊戲
    A. 遊戲會把戰艦隨機地放在網格的某個位置上。
    ②開始玩遊戲
    反覆進行以下步驟,直到戰艦被擊沈:
    A. 提示使用者猜測1個數字。
    B. 檢查使用者所做的猜測,判斷結果是命中、失誤或擊沈。
    ③結束遊戲
    根據猜測的次數給使用者一個評價。

  2. 撰寫虛擬碼
    寫程式碼之前,先用自己熟悉的語言來描述程式的運作。如:

宣告3個變數,用於保存戰艦的每個網格(location)的位置。
...中略...
宣告1個變數,用於記錄船艦是否被擊沈。

  1. 將虛擬碼改寫成程式碼
var location1 = 3;
...中略...
var isSunk = false;
  1. 加入迴圈、條件判斷
while (isSunk == false){
  guess = prompt("準備、瞄準、射擊!(鍵入範圍0-6的數字):");
  if (guess < 0 || guess > 6) {
    alert("請鍵入一個有效的數字!");
  } else {
    guesses = guess + 1;
  }
}
  1. 提供遊戲後的分析
var stats = "你猜了" + guesses + "次便擊沈了戰艦," + "射擊準確率為" + (3/guesses);
alert(stats);

其他補充:prompt的運作原理
prompt函式和alert函式很像,但多了一個輸入框,輸入的內容(字串形式)會被函式呼叫的結果傳回。如果使用者關掉對話框或是沒有輸入任何值,那麼null會被當成結果回傳。

到第8章的時候會做一個7x7網格的戰艦遊戲,到底能不能撐到那時候呢?讓我們繼續看下去......

本文同步發表於cichen


上一篇
Day.04 到底要放哪裏?JavaScript你搞得我好亂啊!
下一篇
Day06. 毫無反應,就只是個NPC戰艦?快呼叫random!
系列文
Head First!從頭開始學JS 《深入淺出 JavaScript 程式設計》讀書筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言