Boop Game Requirements
Boop Game Requirements
Boop Game Requirements
22
1. Introduction
本文件簡述本學期計概課程 Final Project 的需求,並說明整體 Boop 遊戲平
台以及同學所設計撰寫的 Boop 策略程式在遊戲平台中的應有責任
(Responsibility)。由於同學的策略將會透過平台與其他策略對戰,所以進行策
略實做時,必須遵守溝通介面的規定,以確保同學的策略程式能與平台溝通。
本文件定義須遵守的溝通介面,請同學務必遵循溝通介面來完成策略程式的撰
寫。
(4) 依據目前的棋盤狀態,該策略程式會決定此回合欲執行的動作內容,並依
格式規定將欲執行的動作內容寫入至 決策檔案 (step.txt) 中,最後回傳
0 (return 0) 結束程式。
1
COMPUTER SCIENCE 2024 SPRING 2024.04.22
3. Game Rules
本節說明遊戲平台進行時的規則,同學的策略程式需依照 Boop 遊戲規則進
行決策(Boop 遊戲規則請參考 Boop Game Introduction 文件),一旦有犯規
情形發生,犯規策略將被強制判輸,由另一方策略獲勝,犯規狀況如表一所示:
Title Description
編譯錯誤 編譯錯誤。
超時 策略程式進行該回合動作的時間超過 5 秒。
無 step.txt 策略程式執行完畢後沒有 step.txt 檔輸出。
step.txt 格式錯誤 step.txt 格式與文件定義不同。
放貓位置已有貓 決策檔案 (step.txt) 之放貓位置在棋盤上已存在合法
的貓。
放貓位置超出定義域 決策檔案 (step.txt) 之放貓位置超出文件中位置之定
義域。
放置數量不足的貓 手中未持有決策檔案 (step.txt) 之欲放置的貓。
放貓大小超出定義域 決策檔案 (step.txt) 之放貓大小超出文件中貓大小之
定義域。
拿取對手的貓 決策檔案 (step.txt) 之拿取貓的位置為對手的貓的位
置。
應取貓而未取貓 當在未達成勝利條件時,有至少三隻己方的貓達成連線
或棋盤上存在八隻己方的貓,策略程式卻未輸出拿取貓
的位置。
取貓位置超出定義域 決策檔案 (step.txt) 之拿取貓的位置超出文件中位置
之定義域。
取貓數量有誤 決策檔案 (step.txt) 之拿取貓的位置數量,與能夠拿取
貓的數量不符合。
拿取不可拿取的貓 決策檔案 (step.txt) 之拿取貓的位置為己方不可拿取
之貓的位置(己方的貓未達成三隻連線或場上未有八隻
己方的貓)。
取貓位置沒有貓 決策檔案 (step.txt) 之拿取貓的位置沒有貓。
表一、犯規狀況
2
COMPUTER SCIENCE 2024 SPRING 2024.04.22
4. Overall Architecture
圖一、遊戲平台架構圖
註: 灰方的玩家為先手。
▪ [board.txt]: board.txt 的檔案路徑,此檔案描述當前場上貓咪的分布狀
況。
▪ [step.txt]: step.txt 的檔案路徑,策略程式須將該回合欲執行的動作內容
寫入此檔案中。
舉例來說:
6. 棋盤介紹
在遊戲進行時,遊戲平台會將貓咪呈現在棋盤中。
▪ 棋盤如圖二所示,棋盤由左至右、由上至下的格子編號依序為 1 ~ 36。
若以圖中兩個不同顏色的貓作為範例:橘貓位於編號為 11 的格子、灰
貓位於編號為 14 的格子。
圖二、棋盤示意圖
7. Data Format
在遊戲進行時,策略程式與遊戲平台會透過兩個檔案進行溝通,分別是:場
上貓咪分布檔案 (board.txt) 與 決策檔案 (step.txt)。
4
COMPUTER SCIENCE 2024 SPRING 2024.04.22
▪ 場上貓咪分布檔案 (board.txt) 格式
場上貓咪分布檔案 (board.txt) 紀錄了目前場上貓咪的分布狀況。表二
是場上貓咪分布檔案 (board.txt) 中各個數值所代表的意義:
註: 檔案當中每一行皆會以換行符號作為結束。
▪ 決策檔案 (step.txt) 格式
5
COMPUTER SCIENCE 2024 SPRING 2024.04.22
description value
CatOrKitten 表示玩家欲放置的是小貓或大貓。 1: 小貓
2: 大貓
PutLocation 玩家放置貓的位置。 1 ~ 36
TakeLocation 玩家選擇在晉升時移除的貓的位置(因被推 0: 不移除貓
出場外而移除的貓不須寫入),可能為一個 1 ~ 36: 欲移除的貓的
值或三個值。一個值代表移除一隻貓或不移
位置
除貓,三個值代表移除三個位置的貓。
範例:
不移除貓:0,
移除位置於 7 的貓:7,
移除位置於 11、16、21 的貓:11,16,21,
表三、step.txt 中的數值意義
line
1 2,27,
2 0,
圖四、step.txt 範例
註: 檔案當中每一行皆會以換行符號作為結束。
8. 實作注意事項
▪ 在執行策略程式時,遊戲資訊檔案不一定與策略程式置於同一工作目錄。
為減輕同學判定遊戲資訊檔案位置之負擔,執行策略程式時,所傳入的
檔案路徑參數將直接指定「檔案路徑」。
▪ 特別注意事項:策略程式在獲得勝利之後,請同學不要再移除貓。