[讨论] PHP 板活动规划讨论

楼主: gpmm (银色)   2016-03-08 01:27:26
# 前言
首先对大家说声抱歉,接任板务近四年以来,
对于板上的活络或讨论风气一直没有帮上任何的忙,
虽然鲜少有板友说出来,
但看着原本就不甚活络的 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. 竞赛过程希望能使用直播,并在板上开图(棋盘图)。
# 总之
嗯,欢迎大家补充,或是看看有没有参与的意愿,
是说希望大家都能玩的开心,又能活络看板啊…
作者: zx4109 (阿仲)   2016-03-08 01:42:00
作者: y2468101216 (芸)   2016-03-08 10:00:00
奖励发P币就好,我相信很多人在八卦版输了不少。
作者: wilson200106 (种子种子)   2016-03-08 13:57:00
推 技术不够 在旁边观战
作者: Neisseria (Neisseria)   2016-03-08 22:02:00
如果是五子棋呢?感觉变化比较多,应该会比较好玩小弟不熟 AI,也没在写 PHP,就交给板上各位强者大大吧
楼主: gpmm (银色)   2016-03-08 22:13:00
其实井字游戏就是五子棋的缩减版,就是担心大家觉得参与门槛太高,所以才从井字游戏开始的 :~
作者: Neisseria (Neisseria)   2016-03-08 22:19:00
刚刚突然想到,黑白棋 (Reversi) 也不错,棋盘不会太难但是变化不少,应该会很有趣
作者: ns1234 (FAR)   2016-03-08 22:23:00
我记得之前有看到两个组TEAM写AI 比赛下围棋,看最后谁会.赢. 谁先当机谁就输了XD 不知道结果如何..如果玩这个应该崩溃吧XDD
楼主: gpmm (银色)   2016-03-08 22:34:00
难的应该是 AI 判定吧,规则或变化越多的 AI(伪)越难写…
作者: Neisseria (Neisseria)   2016-03-08 22:34:00
最近 Google 用 deep learning 写了很强的围棋算法还发表到 nature 上,有空可以去看一看
楼主: gpmm (银色)   2016-03-08 22:44:00
明天开始啊,单挑韩国棋神李世石 XDD
作者: lucky1lk (赌到没钱的人)   2016-03-09 07:46:00
奖励:把原PO打包回家(?)
作者: secondDim ( 祈求备取会上)   2016-03-10 13:27:00
作者: slime756 (肥龙)   2016-03-10 21:47:00
这三小朋友?
作者: MagicMomo19 (Momo)   2016-03-11 11:16:00
版主先出个范例 XD
作者: holishing   2016-03-13 23:11:00
先推用心XD

Links booklink

Contact Us: admin [ a t ] ucptt.com