[星月] PTT 五子棋程式解析(一)前言
=============================
前言:
在批踢踢下五子棋很多盤的棋友,勢必都知道,批踢踢五子棋
系統,針對禁點判斷,會有BUG存在。也就是他針對「以禁解禁」
判斷,是會有問題的。
雖然在棋國,由於大家對規則都十分熟悉,因此只要雙方協調
好,就不會有問題。
然而對於玩家,還是會有一些的影響。以這次五子棋比賽,也
出現過一盤五子棋系統解析錯誤問題,導致純選手本來勝,卻被系
統判負,最後由大會協調,以另一盤勝負為主。
至於對一般的玩家,這種判斷錯誤,自然會有比較深遠的影響
。甚至對大家學習以禁解禁概念會有問題。
是故,由我們熟悉程式且對於五子棋棋規熟悉玩家,針對批踢
踢五子棋程式進行解析,以幫助站方消除此 BUG,讓大家玩得更加
愉快。
=============================
目的:
考慮站務工作繁忙,因此我們必須幫忙解析到,知道程式要改
什麼部分。
並給予邏輯分析,讓站長知道這樣改是正確的。最後僅需要由
有權限的站長,將程式Commit上去即可。
當然,由於這是公開系統,因此,我們還必須證明我們最後的
修改,並不會耗費太多系統資源。可以的話,我們必須向站長說明
程式在時間複雜度以及空間複雜度上的增加。
我們希望僅在線性時間內,就完成禁點判斷的解析。
=============================
實作
讓我們開始解析PTT五子棋程式,PTT的所有程式原始碼
,都是可以下載的。也正因為如此,我們才可以嘗試去解析。
我們可以看到所有PTT原始碼都在這個地方可以下載到:
http://opensvn.csie.org/pttbbs/trunk/
我們很快注意到一個程式:
http://opensvn.csie.org/pttbbs/trunk/pttbbs/mbbsd/gomo.c
看來,五子棋程式,就是定義在這裡了...............
一個大工程即將開始,讓我們休息一下,開始解析這個程式......
--
對這部分工程有興趣,或是想藉此了解程式設計朋友,歡迎寫信給DreamYeh
或至Ptt2 DreamYeh2板進行討論。
本系列完成之後,才會將之貼在PTT站務系統,
由支持者統一向系統站長進行修改建言。
--
— 請多指教喔!!
/\●/\ ))
(( / /▲\ \
\\
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.169.79.199
推
04/03 00:31, , 1F
04/03 00:31, 1F