2018/01/10



NXT 電腦積木新課程. 這個階段會著重在初階的計概觀念, 邏輯與程式編寫.

2017/8/12, 第二十五堂課. 

今天的課程主題很有趣~ 投籃機. 



這是兩兄弟第二次做這個主題, 先前的課程著重在投籃的機械手臂與遙控控制, (請參考: NXT 機器人, (32) 投籃機器人)


遙控的投籃機器人

這次則是著重在投籃機的遊戲規則與程式編寫.  


一般印象中, 投籃機的動作不外乎就是投球進籃框與得分超過標準則會有第二關做進階挑戰.



仔細研究投籃機的遊戲規則與機制, 會有好多細節:
1. 每個回合的遊戲時間長度是固定的.
2. 每個回合均訂定有得分與過關的分數標準.
3. 投籃機會偵測玩家的投球結果.
4. 投籃機會計算玩家的成績並顯示出來.
5. 若玩家的成績過關, 則會進到下一關進行挑戰.

該怎麼做這個投籃機呢? 

[1] 機構部份

這次課程的重點是在程式編寫, 機構部份就簡單以對吧. 只需要一個會擺頭的籃框 (用支架固定住馬達, 在馬達裝上籃框).





[2]  程式部份

* 遊戲關卡分成兩段:
* 第一關的遊戲規則為: 遊戲時間為 15秒, 進一球得 2分, 得分超過 10分過關.
* 程式演算法: 
- 初始設定: 設定 "得分" 與 "過關" 兩個變數, 並歸零.
- 啟動計時器 (15秒) 進入迴圈, 偵測觸踫感應器的按下次數. 計算玩家的得分, 直到遊戲時間終了.
- 顯示玩家的成績, 並判斷是否過關.

* 第二關的遊戲規則為: 遊戲時間為 10秒, 進一球得 2分, 累加第一關的得分, 總分超過 30分過關.
* 第二關的難度提高~ 籃框會開始擺動.
* 程式演算法:
- 啟動計時器 (10秒) 進入迴圈, 偵測觸踫感應器的按下次數. 計算玩家的得分, 直到遊戲時間終了.
- 顯示玩家的成績, 並判斷是否過關.

* 另外特別的地方~ 整隻程式分成兩個 process, 第一個 process 處理進球得分的運算, 第二個 process 專職做籃框擺動的控制.

這次課程的程式碼比較長, 截成兩半方便顯示.

Willie 的程式碼




Kenny 的程式碼




重點都在程式, 實作成品其實不夠 sexy. XD..



Willie 的作品







Kenny 的作品






兩兄弟的作品合照




[萊恩大兵的其它文章]

LEGO NXT 機器人 學習記錄

學習記錄, LEGO NXT 機器人, (20) 伸縮毛毛蟲 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (26) 母雞帶小雞之排隊機器人 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (27) 小雞找母雞之雷達機器人 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (28) 高爾夫球機器人 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (30) 會闖迷宮的機器人 (LEGO, NXT)
學習記錄, LEGO NXT 機器人, (31) 線控車 (LEGO, NXT)

或請參考




0 意見:

張貼留言