看板 PHP 關於我們 聯絡資訊
# 前言 首先對大家說聲抱歉,接任板務近四年以來, 對於板上的活絡或討論風氣一直沒有幫上任何的忙, 雖然鮮少有板友說出來, 但看著原本就不甚活絡的 PHP 板討論日漸變少, 應該心裡多少都覺得越來越無聊吧。 最近因為暫時回鍋協助另一看板的緣故, 也好好思考了一下對於 PHP 板自己能做的事情。 自去年 PHP7 發佈以來,感覺 PHP 又漸漸開始注入了新的活力, 如前幾天板友分享的 Gameboy 模擬器也是, PHP 身上依然有著無限多的可能。 總而言之,小弟希望可以漸漸拉抬 PHP 板的交流和活絡, 而辦些有趣的活動是我現在能想到的方法之一。 # 關於活動 PHP 板的活動當然前提是希望以 Code 會友, 核心思維是舉辦「有趣、好入門、可深究」這個方向的活動。 以目前小弟第一個擬想的,就是 PHP 井字遊戲競賽。 下面所提的內容都還只是初步規劃階段,歡迎有興趣的板友一起討論。 # 井字遊戲競賽 ## 簡述 眾所皆知的井字遊戲,由參與者撰寫程式來相互競賽, 除了最基本的 3x3 之外,還包括 5x5、7x7 選 5 等變形棋盤和規則。 ## 規則 1. 每個參與者需撰寫一個可被執行的函式, 輸入參數和輸出參數皆為一個符合規範的二維陣列(棋盤), 每次行動後由莊家程式檢查資料是否正確,是否有人獲勝。 2. 不限制檔案數目、撰寫方式, 但對於所有棋盤類型必須使用同一隻(組)程式。 3. 以 Github 平台作為程式碼報名方式,要報名請直接送 PR。 僅限 PTT 板友參加。 ## 階段 正式規則公佈 -> 測試用 Code 公佈 -> 接受 PR 階段 -> 審理異議和測試階段 -> 對戰名單公佈 -> 競賽階段 -> 競賽結果公佈 ※ 審理異議 - 代表任何針對他人程式碼的檢舉都必須於此階段提出, 此後的檢舉一概不受理,所有進入競賽階段的 Code 皆視為有效。 ## 競賽進行方式 1. 挑選兩位競賽者 2. 透過莊家程式載入兩位競賽者的主要函式檔案,並決定先後手 3. 莊家程式生成棋盤陣列變數,呼叫並輸入到其中一位競賽者的主要函式, 取得回傳值(此競賽者行動後的棋盤陣列) 4. 莊家程式檢驗棋盤陣列,輸出棋譜陣列(供賽事轉撥使用), 並輪替到另一位競賽者再次執行步驟 3。 5. 以此輪替直到一方勝出或平局(無子可下)為止。 ## 評分 1. 競賽分為淘汰賽和總積分評比兩種。 2. 分數來源: a. 競賽主體:至少分為輸、和局、贏三種。 b. 繳交時間:Github 是公開平台,越早繳交(送 PR)越有程式碼曝光風險, 但越早繳交也可獲得越多的積分,目前規劃為階梯制。 c. 程式碼長度:移除所有空白符號後的總字數,越少分數越高, 目前規劃為階梯制。 d. 程式碼品質:例如有單元測試,或其他 PHP The Right Way 當中的部份建議。 此為加分項目。 e. 第三方套件:用越少加分加越多,到某個數量以上就不加分,規劃為階梯制。 我們不拒絕參賽者使用第三方套件,但更愛手刻。 ## 競賽 1. 參與人數夠的話,取四人為一組進行競賽,分數高的兩名進入下一回合。 2. 如果同組內所有人積分相同,則四人一起進入下一回合(不連續一次為限), 也就是說你如果連續兩次經歷「同組內積分均相同」,就會被淘汰。 3. 競賽主體以外的分數是算在積分制裡。 ## 獎勵 還沒有想法 (⊙ω⊙`) 看有沒有什麼好建議… ## 其他 1. 每位參與者請在自己的參賽資料夾內註明 License, 如未註明則以自動歸範為預設 License。 2. 溝通平台預計使用 Github issue(非即時)和 Gitter(即時)兩種。 3. 競賽過程希望能使用直播,並在板上開圖(棋盤圖)。 # 總之 嗯,歡迎大家補充,或是看看有沒有參與的意願, 是說希望大家都能玩的開心,又能活絡看板啊… -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.35.152 ※ 文章網址: https://www.ptt.cc/bbs/PHP/M.1457371649.A.A6B.html
zx4109: 推 03/08 01:42
y2468101216: 獎勵發P幣就好,我相信很多人在八卦版輸了不少。 03/08 10:00
wilson200106: 推 技術不夠 在旁邊觀戰 03/08 13:57
Neisseria: 如果是五子棋呢?感覺變化比較多,應該會比較好玩 03/08 22:02
Neisseria: 小弟不熟 AI,也沒在寫 PHP,就交給板上各位強者大大吧 03/08 22:04
gpmm: 其實井字遊戲就是五子棋的縮減版,就是擔心大家覺得參與門檻 03/08 22:13
gpmm: 太高,所以才從井字遊戲開始的 :~ 03/08 22:13
Neisseria: 剛剛突然想到,黑白棋 (Reversi) 也不錯,棋盤不會太難 03/08 22:19
Neisseria: 但是變化不少,應該會很有趣 03/08 22:19
ns1234: 我記得之前有看到兩個組TEAM寫AI 比賽下圍棋,看最後誰會. 03/08 22:23
ns1234: 贏. 誰先當機誰就輸了XD 不知道結果如何..如果玩這個應該 03/08 22:24
ns1234: 崩潰吧XDD 03/08 22:24
gpmm: 難的應該是 AI 判定吧,規則或變化越多的 AI(偽)越難寫… 03/08 22:34
Neisseria: 最近 Google 用 deep learning 寫了很強的圍棋演算法 03/08 22:34
補上競賽進行方式 ※ 編輯: gpmm (114.42.36.134), 03/08/2016 22:42:49
Neisseria: 還發表到 nature 上,有空可以去看一看 03/08 22:35
gpmm: 明天開始啊,單挑韓國棋神李世石 XDD 03/08 22:44
lucky1lk: 獎勵:把原PO打包回家(?) 03/09 07:46
secondDim: 推 03/10 13:27
slime756: 這三小朋友? 03/10 21:47
MagicMomo19: 版主先出個範例 XD 03/11 11:16
holishing: 先推用心XD 03/13 23:11