⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 betoutside设计说明.txt

📁 魔域源代码需要的可以学习一下真么这么麻烦啊
💻 TXT
字号:
// BetOutside设计说明
// 服务端:仙剑修,2001.1.4
// 客户端:?

	一、消息流程:
	(一)加入:
	1、上传JOIN:申请加入赌局
	2、广播JOIN:文字广播某人加入了
	3、下传STATE:广播当前状态(状态、当前赌注表)		// 玩家表、
	4、上传LEAVE:申请离开
	5、广播LEAVE:文字广播某人离开(该玩家的下注同时撤销)
	(二)下赌:
	1、上传BET:押注(TYPE、金额)
	2、广播BET:押注(玩家、TYPE,金额)
	3、下传BET:出错时回传(超过下注时间/重复下注/超过金额限制/异常‘钱不足等’)		// “超过金额限制”保留
	(三)结果:
	1、广播DICE:色了点数(色子1、色子2、色子3、色子4)		// 色子3、4保留,以备扩充
	2、广播RESULT:多条赌局结果(玩家、输赢、金额)
	(四)时钟:
	1、广播TIMER:剩余时间(时间/清空)

	二、问题:
	1、每个游戏世界一个赌局,还是每个地图一个赌局?(多个)
	2、每注是否有金额上限?(有上限,按赔率算)
	3、赌局结果中是否显示“输钱”的玩家信息?(不显示)
	4、服务器保留当天输赢列表,用于统计。是指整个世界的所有此类赌博吧?
	5、每日赌王统计是以00:00截止,还是其它时间?
	6、组队状态下,队长不能加入赌局吧?
	7、玩家下注后退出赌局,不退还赌资吧?

	三、设计:
	(一)任务块:
	1、在地图类中加入一个BET类对象,BET对象属于地图类。
	2、在世界类中加入一个BETTOPS类对象,统计当日BET赌王。
	3、在频道中加入一个BET聊天频道。
	4、在全局心跳函数中调用BET类的时钟处理函数OnTimer()。
	(二)消息格式:
	1、CMsgBODice: char(1) + char(2) + char(3) + char(4)。表示这颗色子,通知客户端播放色子滚动的动画,以及色子的结果。
		每个char值域为 1 - 6 。
		(1)下传char(1) + char(2): 通知进入“开局”阶段。播放色子滚动的动画。
	2、CMsgBOBet: OBJID(玩家ID) + char(TYPE) + DWORD(MONEY)。表示玩家的下注类型和钱数。
		enum EDice { c_diceNone = 0, c_diceEqu, c_dice212, c_dice311, c_dice410, c_dice59, c_dice68, c_dice7, 
							c_diceSmall, c_diceBig, c_diceEndAll };
		(1)下传ID_NONE:通知进入“下注”阶段。
		(2)上传NPCID + TYPE + MONEY:下注。NPCID是指客户端记录下的NPC的ID号。
		(3)下传ID + TYPE + MONEY:“下注”阶段中广播下注。“开局”阶段中广播赢家结果。
		(4)下传ID + TYPE(c_diceNone) + MONEY:清除已下注(玩家离开时)
	3、CMsgNpc: EVENT_JOINBETOUTSIDE, EVENT_LEAVEBETOUTSIDE 子消息

	四、升级指南:
	当需要设计下一步扩充功能时:
	1、要将NPC的初始化从CGAMEMAP移到NPC创建模块中。
	2、NPC的ID要统一管理
	3、改造CMSGNPC,以适应各种NPC的消息处理。
	4、可在USER中加一指针,指向该NPC,以便于快速定位NPC,同时也可在切屏时检查是否需要LEAVE赌局。

	五、客户端接口:
	(一)上传:
	1、当玩家点击赌博NPC时,上传CMsgNpc(NPCID, EVENT_JOINBETOUTSIDE)消息。NPCID暂时与地图ID相同。
	2、当玩家关闭赌博界面时,上传CMsgNpc(NPCID, EVENT_LEAVEBETOUTSIDE)消息。NPCID暂时与地图ID相同。
	3、玩家下注时,上传CMsgBOBet消息(NPCID, DICETYPE, MONEY)消息。
	(二)下传:
	1、“下注”状态时,接收到CMsgBODice消息:立即切换到“开局”状态,并播放色子滚动的动画。
	2、“开局”状态时,接收到CMsgBODice消息:立即切换到“下注”状态,接受玩家下注动作。
	3、“下注”状态时,接收到CMsgBODice(ID,TYPE,MONEY):在列表框中显示玩家下注情况。如TYPE为0,则清除该玩家的下注内容。
	4、“开局”状态时,接收到CMsgBODice(ID,TYPE,MONEY):等待色子滚动动画播放完毕后,再在列表框中显示玩家赢钱的清单。

	六、修改:将色子滚动消息改为本地图广播(2002.1.18)
	1、MSGBODICE改为本地图广播
	2、玩家刚进入时有可能会再次收到MSGBODICE,这时应该只同步“状态”,不再重新播放色子滚动动画。

	七、文字消息类型:
	。组队时,禁止加入:	"带这么多人来干什么?打架呀?"
	。广播XX加入了:		"%s加入到赌局中。"
	。给本人的欢迎加入信息:"来了,下注吧。"
	。广播XX退出了:		"%s离开了赌局。"
	。给本人的欢送信息:	"不玩了? 下次再来哟。"
	。不允许重复下注的信息:"你已经下过注了。"
	。不允许作弊的信息:	"怎么,想出老千呀,我揍死你。"
	。下注小于最低限:		"兄弟,有没有钱呀,没钱就别来玩。"
	。下注过多,不允许:	"哇,原来是位款爷。你老下这么大的注,我可玩不起。"
	。下注太迟:			"你投注太慢了,下次请快一点。"
	。停止下注,将要开局的提示:"买定离手!"
	。开局的信息:			“开了,12点大”
	。开始下注的提示:		"下注了,下注了。"

2002-03-06 15:56:31  潘一郎(gogo)
七、文字消息类型:
	。组队时,禁止加入:	"带部队来干什么?想砸我的场子?我可是合法经营啊!"
	。广播XX加入了:		"%s准备试试手气,加入到赌局中。"
	。给本人的欢迎加入信息:"这位爷,请您下注吧。"
	。广播XX退出了:		"%s意志坚定,离开了赌局。"
	。给本人的欢送信息:	"爷咋不玩了呢? 下次一定再来哟。"
	。不允许重复下注的信息:"不要着急,你已经下过注了。"
	。不允许作弊的信息:	"怎么,想出老千呀,我揍死你。"
	。下注小于最低限:		"兄弟,有没有钱呀,没钱就站边上看啊。"
	。下注过多,不允许:	"哇,款爷啊。您老下这么大的注,是不是黑钱啊,恕不奉陪!"
	。下注太迟:			"拜托老弟,下次请快一点。"
	。停止下注,将要开局的提示:"买定离手!我开!"
	。开局的信息:			“各位爷看清楚,12点大!”
	。开始下注的提示:		"该出手时就出手!下注了!下注了!"

	八、改进:
	。每半小时统计总的输赢。
	。超过最大注的两倍(>20000)时,本地图公告。
	。新进入不要下传历史表。











⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -