斗地主游戏服务器[10]:房间、桌子、玩家"/>
golang制作一个斗地主游戏服务器[10]:房间、桌子、玩家
什么房间那些先暂时不管吧. 最简单的方法就是先快速加入桌子, 也不要准备了. 加入就算自动准备, 断线重连什么的也都不管, 现在的目标就是先跑通流程
一个斗地主房间 (高级场 中级场 初级场, 通常是倍率不同) 里面有很多桌子
package mainimport "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 mainimport ("log""sync"
)var nTableAutoInc = 0 // 自增的桌子ID
var mpTableList sync.Map // 桌子列表 TTable// TTabl
更多推荐
golang制作一个斗地主游戏服务器[10]:房间、桌子、玩家
发布评论