目錄表

國立屏東大學 資訊工程系

2024電腦五子棋AI程式設計競賽

活動宗旨

為促進資訊工程系同學程式設計能力,特以五子棋遊戲為題舉辦本項競賽。限定以C語言做為開發語言,須依活動要求完成程式設計,採初賽與複賽方式進行。

  1. 每局獲勝規則為:黑子先行,五子連線為勝利
  2. 初賽由所有參賽者兩兩對奕比試10場,5場先手,5場後手,勝負記點採用:勝者2分、平局各1分、敗者0分。
  3. 初賽完成後挑選16位最高分的參賽者進入複賽(同分者比較勝場數及繳交時間參加複賽)。

規則

  所有參賽同學必須依下列規定完成程式。
  1. 可以自由地為你的檔案命名,也不限制程式必須分成幾個檔案… 但必須提供Makefile以完成編譯
  2. 所編譯完成的可執行檔案必須命名為「cbb10xxxx」(也就是使用你的系計中帳號做為可執行檔名)。
  3. 另外還要上傳一個300×300的webp照片 cbb10xxxx.webp
  4. 可執行檔必須接收一個引數來判斷應該下黑子(Black)還是白子(White)(黑子下1、白子下0),並以「 < 」(redirect)的方式接收一個19×19的棋盤。
  5. 19×19的棋盤是一個代表棋盤狀態的文字檔案,使用0表示白子、1表示黑子,至於還沒有下棋子的位置,則以 . 表示。這個檔案共有19列,每列顯示19個位置,每個位置中會安插一個空白字元。
  6. 你的程式必須針對所傳入的棋盤,判斷要在哪個位置下棋子,並輸出該位置後程式結束。所輸出的位置是由棋盤的是由水平及垂直方向的編號決定,其中水平方向以A, B, C, …, R, S編號,垂直方向則是1, 2, 3, …, 18, 19。如要在最左上角處下子,則輸出「 A, 1\n」,最右下角則輸出「 S, 19\n」
  7. 每一次執行時間必須小於10秒, 否則判定為失敗
  8. 下面是棋盤檔案的例子:

   A B C D E F G H I J K L M N O P Q R S
 1 . . . . . . . . . . . . . . . . . . .
 2 . . . . . . . . . . . . . . . . . . .
 3 . . . . . . . . . . . . . . . . . . .
 4 . . . . . . . . . . . . . . . . . . .
 5 . . . . . . . . . . . . . . . . . . .
 6 . . . . . . . . . . . . . . . . . . .
 7 . . . . . . . . . . . . . . . . . . .
 8 . . . . . . . 0 . 1 . . . . . . . . . 
 9 . . . . . . . . 1 . 0 . . . . . . . . 
10 . . . . . . 0 1 1 1 1 0 . . . . . . . 
11 . . . . . . 0 . 0 0 1 . . . . . . . .
12 . . . . . . . . . . 1 0 . . . . . . .
13 . . . . . . . . . . . . . . . . . . .
14 . . . . . . . . . . . . . . . . . . .
15 . . . . . . . . . . . . . . . . . . .
16 . . . . . . . . . . . . . . . . . . .
17 . . . . . . . . . . . . . . . . . . .
18 . . . . . . . . . . . . . . . . . . .
19 . . . . . . . . . . . . . . . . . . .

測試檔案

欲參賽的同學必須使用ssh連線到ws2.csie2.nptu.edu.tw,並使用使用turnin上傳(turnin code: gomoku2024) 例如參賽同學想上傳包含Makefile與mygomoku.h、cbb112000.c等檔案,可參考以下指令:

[19:38 cbb112000@gs]$ turnin gomoku2024-test Makefile mygomoku.h cbb112000.c
再次提醒同學,你可以自行決定所需要的檔案及其名稱,但“必須”提供Makefile以及確保編譯出的可執行檔檔名為你的系計中帳號(例如上例中的cbb112000)

上傳完成後,可至系計中ws2.csie2.nptu.edu.tw上進行測試,或至https://gomoku.csie2.nptu.edu.tw競賽網站(有網站操作問題可聯繫施漢昇林柏邑高英欽)進行測試

語法: gomoku|gomoku1|gomoku2 yourProgram 棋子顏色

範例:

gomoku ./cbb112000000 Black
或是
gomoku1 /some/where/cbb112000000 White

或是

gomoku2 /some/where/cbb112000000 White

執行以後會讓你的程式跟一個亂數程式互相下棋,並在畫面上顯示棋譜與下棋的位置,執行結束後會產生一個log檔記錄你的程式與亂數程式所下的每一步。

活動資訊

基本教學

參賽指引

入門篇

基礎篇

進階篇