iT邦幫忙

2022 iThome 鐵人賽

DAY 17
0
自我挑戰組

50後阿嬤教你寫程式!系列 第 17

Day 17 阿嬤的猜字遊戲!(中)

  • 分享至 

  • xImage
  •  

Day 17 阿嬤的猜字遊戲!(中)

前論我們剛談完要如何設計出號玩的 Hangman 遊戲,這次我們要正式開始撰寫程式碼了。
有沒有很期待:)(被拖走

神秘的單字

這個遊戲怎麼能少了單字呢?所以我們的第一步就是抽選一個看起來還不錯的單字(阿沒錯我就是在
拖字數:)

var 神奇的單字 = [
  "abrogate",
  "repeal",
  "annul",
  "synonym"];

var 神奇的單字分身 = 神奇的單字[Math.floor(Math.random() * 神奇的單字.length)];
                               console.log(神奇的單字分身);

在這例的上半部,我們準備好了我精心挑選的「單字們」分別是:"abrogate"(廢除,取消),"repeal"(廢止,撤消,放棄),"annul"(廢除),"synonym"(同義字)。
在此例的下半部,我們使用了Math.floorMath.randomlength這三個大將~

空格的奧秘(x

緊接著,我們就要拿出我們上一章所提到的 "空罐子",來填滿我們的 "草莓果醬"(ㄟ這樣講好像怪怪
的。拉回正題,反正就是要創建一個數組,然後創造填字遊戲內的空格。看我操作:

var 空格 = [];
for (var i = 0; i < 神奇的單字.length; i++) {
  空格[i] = "_";
}

var 陣列 = 神奇的單字.length;

先不用著急,還沒寫完,跑不出來沒關係,因為這只是整個程式碼的冰山一角而已!!(不必驚訝

整個遊戲的循環

嘿看過來,循環階段來啦!!

while (陣列 > 0);

嗯嗯不用懷疑,就是這麼的短:)雖然看起來很短,但是要解釋起來還是不容易的呢!
我們使用while迴圈,他會一直反覆檢查陣列 > 0是否為true
每當參賽者猜對了一個字母,循環體就會修改陣列,若參賽者完成整個單字,
陣列他的值就會變成 0,並且結束迴圈。

目前狀態

我們也需要展示他目前的狀態阿!能讓玩家更清楚知道,鵝我寫到哪裡了:

alert(陣列.join(" "));

join方法把陣列數組串成一個字符串,用空格字符當作間隔,並且用alert方法顯
示給參賽者查看。

小總結

我們今天寫了冰山一角的程式碼,下一章應該會把整個程式碼寫出來,也要看進度啦,不然屬實說,還剩下蠻多的程式碼...那就下一章見啦!拜拜!~


上一篇
Day 16 阿嬤的猜字遊戲!(上)
下一篇
Day 18 阿嬤的猜字遊戲!(下)
系列文
50後阿嬤教你寫程式!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言