跑胡子程序开发记录(三)——游戏过程控制的问题

好久没有继续了,只因这两三个月工作上的事比较多,而且之前完成了另一个程序:密码保管箱,所以最近才重新捡起这个问题。

前期的编程中,已经实现了界面上的很多问题,比如:牌的显示问题,鼠标事件响应问题,手中的牌的自动整理排序,自由拖动排序问题,吃字比字的选择问题等。

对于棋牌游戏的程序实现,游戏过程控制是不可避免的问题。不管是单机版的电脑思考,还是网络版中对手的思考或网络延时,为了避免程序的假死,必定是要用线程的技术来解决。

而且跑胡子的规则,比其他棋牌的规则要复杂一些,比如不能吃过张字,有的字,必须要进,这个也是流程控制中必须要考虑的问题。

为此,必须要使用线程的方法,并且能在恰当的时候,更新界面。对于这方面的处理还不熟悉,所以只能根据自己掌握一种方法去做,当然可能还有更好的方法。

设计一个游戏流程控制的线程,三个玩家的取字打字吃字等操作循环,都是在这个线程中,采用循环结构进行,直到底牌取完。在需要更新界面显示时,交给一个代理函数进行处理,将相应的界面更新显示问题,进行分类,比如说牌的移动、显示、隐藏、牌面的显示、相应选择区域的显示等。控制线程将界面更新的数据按类别写入一个队列,代理函数根据队列中数据的类别再调用不同的函数进行处理。

通过实验,游戏过程控制算是解决了,现在需要将前期所做事项再完美的融合在一起。

 

你可能感兴趣的:(跑胡子程序开发记录(三)——游戏过程控制的问题)