日期:2014-05-20  浏览次数:20712 次

请教,如何实现牌类游戏房间的建模设计
参照模型是qq的游戏大厅里的牌类游戏,有n个房间,用户自己坐进去,准备——开始游戏,我现在已经用netty实现了长连接,但是在实现牌桌逻辑时,遇到了困难。因为每个人都有20秒的时间思考决定下哪一步,我目前的做法比较笨,先获得一个时间点,然后反复循环的检查新时间点和旧时间点的差值是否超过了时间限制,但是这样一来,单个房间内部就发生了阻塞,其它房间就无法工作了,我目前唯一能想到解决这个问题的困境就是多线程,但是这样一个房间就要一个线程了。而且这还涉及到房间线程和主线程通讯的问题,因为玩家数据的很多东西都是主线程才能获取的。有没有办法实现一个更好的模型呢
------解决方案--------------------
之前参与过棋牌游戏开发,“20秒的时间思考”这种情况我们是用quartz框架来处理的,每个思考时间都是一个定时任务,玩家在时间内操作了,就会取消掉对应的定时任务。反之定时任务就工作了。