现在有一个游戏要2个人玩 在玩家A点击进入游戏的时候我需要在线上找寻另外一个进入游戏的玩家跟其匹配到一起游戏 但是怎样做才能让玩家A在点击进入游戏后等待直到找寻到另外一个玩家位置
我想用线程让他休眠在那里 但是被卡死了 请问怎么做才是正确的
就像QQ斗地主的网页版一样 点击开始游戏后能找寻玩家 并且直到找到为止
休眠肯定是不行的,把整个游戏卡死无论是谁也受不了啊。
正确的做法是把配对和开始游戏都做成一个单独的函数,点击开始后并不是真的开始,而是调用配对函数,配对成功后再由配对函数调用真正的开始函数:
用户点击开始 -> 调用配对函数 -> 开始游戏
配对的时候,需要让“开始”按钮变灰,也可以做的更好一点,显示一个“请等待”的提示,等等,让用户感觉到你的程序正在配对,而不是出问题死掉了。
希望回答可以帮到你
首先是等待的动态效果,让用户感觉到交互;
然后可以用SignalR来实现服务器推送;
你需要有一个玩家队列,当加入玩家后判断这个队列的人数是否能够组成一个游戏,能的话就吧他们组成一个游戏,并推送到客户端开始游戏
这个我做过。
首先,我的逻辑是单线程的。
当玩家进来的时候,我会把他放入一个队列。 这个队列每1秒(时间你自己看着办)检查一次,去寻找对手。 如果找到了,就通知他。 如果超过规定范围没有找到,就告诉他匹配失败。
你需要一个匹配玩家的队列,如果队列里面有,直接拿一个开始游戏。