什么房间那些先暂时不管吧. 最简单的方法就是先快速加入桌子, 也不要准备了. 加入就算自动准备, 断线重连什么的也都不管, 现在的目标就是先跑通流程
一个斗地主房间 (高级场 中级场 初级场, 通常是倍率不同) 里面有很多桌子
package main
import "log"
// TRoom 房间类
type TRoom struct {
}
// NewRoom 新建房间
func NewRoom() *TRoom {
p := &TRoom{}
return p
}
// QuickJoin 快速加入一张桌子
// pPlayer *TPlayer 玩家指针
func (self *TRoom) QuickJoin(pPlayer *TPlayer) bool {
// 1 快速找到一个新桌子
pTable := FindEmptyTable()
if pTable == nil {
log.Println("没有空桌子了. 需要新建一个空桌子")
pTable = NewTable()
}
// 桌子里加入个新玩家
pTable.playerJoin(pPlayer)
// 如果桌子坐满了. 那么就开局
if pTable.isFull() {
pTable.playing()
}
return true
}
每个桌子可以“坐” 3个人, 再来的人就是“站着”观战, 目前不考虑观战
// table.go
//
package main
import (
"log"
"sync"
)
var nTableAutoInc = 0 // 自增的桌子ID
var mpTableList sync.Map // 桌子列表 TTable
// TTabl