golang制作一个斗地主游戏服务器[10]:房间、桌子、玩家

什么房间那些先暂时不管吧. 最简单的方法就是先快速加入桌子, 也不要准备了. 加入就算自动准备, 断线重连什么的也都不管, 现在的目标就是先跑通流程一个斗地主房间 (高级场 中级场 初级场, 通常是倍率不同) 里面有很多桌子package mainimport "log"// TRoom 房间类type TRoom struct {}// NewRoo...
摘要由CSDN通过智能技术生成

什么房间那些先暂时不管吧.  最简单的方法就是先快速加入桌子,  也不要准备了.  加入就算自动准备,   断线重连什么的也都不管,   现在的目标就是先跑通流程

 

一个斗地主房间 (高级场 中级场 初级场, 通常是倍率不同) 里面有很多桌子

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
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值