微吧 > 棋人棋事 > 帖子详情

发现耍赖Bug,给应用程序改进提一点建议

网管及开发者,你们好!
        首先感谢你们的辛苦。我在手机围棋宝典中使用非即时对弈的过程中发现了一处bug,现向你们指出来,希望对你们有帮助:
        就是在非即时对弈的时候,对弈的某一方如果不遵守规则、故意为之的话,他可以在棋还没下完的时候,不断地提出“数子”申请,程序提醒另一方必须赶紧响应,也进行“数子”,这时候另一方只能有这么两种选择:要么数子结果与对方相同从而结束本局对弈;要么数子结果与对方不同从而拒绝对方的数子申请,继续对局;而且,这种耍赖性质的申请数子——数子结果不同——继续申请数子——再次数子结果不同……会进入一个死循环而无法被制止;再而且,一方提出数子申请后,另一方在一定时间之内(具体多长时间也没提示)必须“数子”,也就是必须在前边两个动作中选择,超时没响应即被超时判负。
       那问题来了,1,这bug给了不良对弈者胡搅蛮缠的机会,他可以通过不断的申请“数子”来耍赖,使得一局棋变成了影响心情的烂尾局;2,给了不良对弈者违规赢棋的机会,如果另一方因忙于工作或因懒得搭理这种无良行为,就会导致被系统判负。局号724514的对局就是这么个结果。
       为此,我提出几点建议:
       1,设立pass键,就是在一方认为官子已结束棋局已完成时,他可以选择pass。这样的话,另一方可以继续走子,也可以点pass。如果双方都点过pass,系统就可强制“数子”。
       2,设立拒绝“数子”的功能。在不是双方都点过pass的情况下,一方提出数子,另一方可以拒绝,拒绝之后,双方必须继续走子,或点pass;
       3,提醒“数子”的响应时间,一方提出数子,另一方需要在多长时间里做出响应,系统应该给予提醒,而且,这个响应时间最好是与每步的限时相一致;
       4,作为应用的改进方向之一,程序应该拥有自动判断一块棋的死活以及点目的能力。这个可以参考弈城围棋等电脑端应用的功能。
       再次感谢你们的付出,谢谢!