# 積分戰與期末競賽 ###### tags: `物聯網實境遊戲應用課程` * [隊伍與積分表](https://docs.google.com/spreadsheets/d/1l-5mrQ2lcIxtM1tyzCV7Zf4egUjPZDbmUW6ketF0GzY/edit?usp=sharing) ## 賽程 * 採分組進行,4~5 人一組 (5人組只能有兩隊) * 每兩周會有一次積分賽,一共三次,積分賽會影響期末決戰的種子權 * 期末決戰採單敗淘汰制,種子權與賽程表如下:  * 期末評分 (50%) * 期末報告:10% * 依期末競賽最後名次給分:40% * A、B敗:20% * C、D敗:25% * E、F敗:30% * G敗:35% * G勝:40% ## 積分賽 * 以排名作為積分依據。第一名得 8 分、第二名得 7 分,依此類推。 * 三場積分賽的總分作為期末競賽的種子權依據。上圖賽程表即為總積分排名。 * 如果兩隊總積分相同,比三次積分賽的排名關係,三次中兩次排名較前者得到前位種子權。 * 如果上述方式無法分出勝負則抽籤決定先後位。 * 積分賽有個人戰與團體戰。個人戰先計算個人積分,再轉換成團隊積分,詳見個人賽的計分方式。 ### 12/01 第一戰:Loop Solver  * 目標 * 延續期中的自走車演算法,處理岔路死路的情況、卡牆應對、穩定行走等 * 設計解迷宮的演算法,如:左/右牆法則 * 進階目標:記錄走過的岔路轉彎的類型,推測未知的道路情況 * 迷宮  * 包含兩個入口、兩個岔路、一個迴圈 * 每個岔路及轉角都是間隔一格 * 規則 * 每人有五次嘗試機會,可以挑選對自己有利的入口 (A或B) * 通過為 A→B 或 B→A * 每失敗一次,耗時會加上 5 秒作為懲罰 * 個人排名 * 先比走過的路徑覆蓋率 (覆蓋率 = 走過的格數 / 迷宮格數) * **車體要完全進入到格內才會算有效走過** * 覆蓋率相同比耗時,若耗時相同則排名相同 * 五次皆沒走出迷宮者,不會有排名,也不會有積分 * 團隊分數計算 * 個人排名先轉換成對應的個人積分,團隊分數 = 隊員個人積分總合 / 隊員人數。最後比較團隊分數作為團隊排名的依據,高者先位。 ### 12/15 第二戰:自走車接力 Relay Race  * 目標:使用 wifi module 進行車間的通訊 * 迷宮  * 有四個簡單的單向道,S為起點,F是終點為死路 * 規則 * 每隊須派出 4 輛自走車參賽,分別置於迷宮的 4 個 S 位置。 * 每次可以派出不同的參賽組合,只要開始前告知執行順序即可 * 系統發出回合開始後,開始計時,第一台車出發,當第一台車抵達 F 位置 (會是死路) 後,發送訊息通知第二台車出發,依此類推,直到最後一台車抵達其 F 位置,發出回合完成,計時停止。 * 每隊有 3 次嘗試機會,取最佳成績 * 超過 120 秒為失敗,時間以 120 秒計 * 如果遭遇無法連線至 AP 的情況,則該組順延一次,不計嘗試次數 * 排名 * 先比完成度:四台車皆依序抵達 F 為前位 * 完成度相同比耗時,少者前位 ### 12/29 第三戰:RFID 尋寶 RFID Finder  * 目標 * 利用 RFID Reader 讀取地圖版的 RFID 並與中控台交換訊息取得座標 * 車間交換地圖座標,嘗試走過沒有走過的地方 * 迷宮  * 迷宮中每個有效的地圖版上都有一個 RFID tag,透過讀取到的 RFID number 與中控台交換訊息可以得到對應的座標與類型。 * 每次測驗會挑出三個死路底的 RFID 做為寶藏 * 規則 * 一隊分兩組進行,一組有兩台車輛,由兩個入口進入 * 嘗試找出所有在迷宮死路中的寶藏 * 車輛連上線後,由中控台發佈開始訊息,計時開始;直到所有寶藏皆找出來後,計時結束。不需要走出迷宮。 * 每一小組只有 1 次嘗試機會。**當車輛卡住時,可以拿回從起點開始** * 耗時超過 120 秒即算失敗,耗時以 120 秒記 * 排名 * 隊伍成績為兩組的總寶藏數與總耗時 * 先比找出寶物總數,多者先位;再比耗時,少者先位 ## 期末競賽 [請見這邊](https://hackmd.io/s/Hk5MNSZSx#) ## [函式庫](https://github.com/LanKuDot/iot_brc) 課堂會提供積分賽與期末對戰會用到的函式庫,並提供 API Reference * RFID (MFRC522):使用 SPI 通訊 * Wifi (KSM111 ESP8266):使用 UART 通訊 * 與中控台溝通的傳輸協定 ## 迷宮空間 * 未來會開放 65102 的教室,採登記制,詳細方式與時間之後會公布在課程社團
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.