作者gpmm (银色)
看板PHP
标题[讨论] PHP 板活动
时间Tue Mar 8 01:27:26 2016
# 前言
首先对大家说声抱歉,接任板务近四年以来,
对於板上的活络或讨论风气一直没有帮上任何的忙,
虽然鲜少有板友说出来,
但看着原本就不甚活络的 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://webptt.com/cn.aspx?n=bbs/PHP/M.1457371649.A.A6B.html
1F:推 zx4109: 推 03/08 01:42
2F:推 y2468101216: 奖励发P币就好,我相信很多人在八卦版输了不少。 03/08 10:00
3F:推 wilson200106: 推 技术不够 在旁边观战 03/08 13:57
4F:→ Neisseria: 如果是五子棋呢?感觉变化比较多,应该会比较好玩 03/08 22:02
5F:→ Neisseria: 小弟不熟 AI,也没在写 PHP,就交给板上各位强者大大吧 03/08 22:04
6F:→ gpmm: 其实井字游戏就是五子棋的缩减版,就是担心大家觉得参与门槛 03/08 22:13
7F:→ gpmm: 太高,所以才从井字游戏开始的 :~ 03/08 22:13
8F:→ Neisseria: 刚刚突然想到,黑白棋 (Reversi) 也不错,棋盘不会太难 03/08 22:19
9F:→ Neisseria: 但是变化不少,应该会很有趣 03/08 22:19
10F:推 ns1234: 我记得之前有看到两个组TEAM写AI 比赛下围棋,看最後谁会. 03/08 22:23
11F:→ ns1234: 赢. 谁先当机谁就输了XD 不知道结果如何..如果玩这个应该 03/08 22:24
12F:→ ns1234: 崩溃吧XDD 03/08 22:24
13F:→ gpmm: 难的应该是 AI 判定吧,规则或变化越多的 AI(伪)越难写… 03/08 22:34
14F:→ Neisseria: 最近 Google 用 deep learning 写了很强的围棋演算法 03/08 22:34
补上竞赛进行方式
※ 编辑: gpmm (114.42.36.134), 03/08/2016 22:42:49
15F:→ Neisseria: 还发表到 nature 上,有空可以去看一看 03/08 22:35
16F:→ gpmm: 明天开始啊,单挑韩国棋神李世石 XDD 03/08 22:44
17F:→ lucky1lk: 奖励:把原PO打包回家(?) 03/09 07:46
18F:推 secondDim: 推 03/10 13:27
19F:推 slime756: 这三小朋友? 03/10 21:47
20F:推 MagicMomo19: 版主先出个范例 XD 03/11 11:16
21F:推 holishing: 先推用心XD 03/13 23:11