当前位置: 首页 > wzjs >正文

android开发入门教程东莞seo优化公司

android开发入门教程,东莞seo优化公司,企业网页与网站区别,我做的网站不知道网站怎么办补杠功能的实现 接下来,我们来实现补杠功能。补杠是指在已经碰牌的情况下,又摸到一张相同的牌,可以组成杠。 功能设计 自摸补杠: 如果玩家自摸到一张牌,且这张牌可以与已碰的牌组成杠,则可以进行自摸补杠…

补杠功能的实现

接下来,我们来实现补杠功能。补杠是指在已经碰牌的情况下,又摸到一张相同的牌,可以组成杠。

功能设计
  1. 自摸补杠

    • 如果玩家自摸到一张牌,且这张牌可以与已碰的牌组成杠,则可以进行自摸补杠。

    • 自摸补杠后,玩家需要从牌堆中再摸一张牌。

  2. 吃牌补杠

    • 如果玩家通过吃牌形成杠,则称为吃牌补杠。

    • 吃牌补杠后,玩家不需要再摸牌,直接出牌即可。

实现步骤
  1. 判断是否可以补杠

    • 检查玩家是否已经碰牌。

    • 检查新摸到的牌是否可以与已碰的牌组成杠。

  2. 执行补杠操作

    • 如果可以补杠,更新玩家的牌组。

    • 发送补杠操作的消息给所有玩家。

  3. 处理自摸和吃牌的区别

    • 自摸补杠后,玩家从牌堆中再摸一张牌。

    • 吃牌补杠后,玩家直接出牌。

代码实现
// 判断是否可以补杠
func canPung(user *User, card int) bool {for _, record := range user.Records {if record.Type == "pung" && record.Card == card {return true}}return false
}// 执行补杠操作
func pung(user *User, card int) {if canPung(user, card) {// 添加杠操作记录user.Records = append(user.Records, Record{Type: "pung", Card: card})// 发送补杠消息msg := &Message{Type: 5,Data: map[string]interface{}{"userId": user.Id,"card":   card,},}user.Room.Broadcast(msg)// 自摸补杠,再摸一张牌if user.LastDrawnCard == card {user.DrawCard()}}
}

托管功能的实现

接下来,我们来实现托管功能。托管是指在倒计时结束后,系统自动为玩家出牌。

功能设计
  1. 倒计时

    • 每个玩家在操作时都有一个倒计时。

    • 如果倒计时结束,玩家还没有操作,则触发托管。

  2. 自动出牌

    • 如果玩家可以弃牌,则自动弃牌。

    • 如果玩家有其他操作,则不做任何操作。

实现步骤
  1. 设置倒计时

    • 在玩家操作时,设置一个倒计时定时器。

    • 定时器每秒触发一次,检查倒计时是否结束。

  2. 触发托管

    • 如果倒计时结束,触发托管操作。

    • 根据玩家的牌组,选择一个合适的牌进行操作。

  3. 取消定时器

    • 如果玩家在倒计时内进行了操作,则取消定时器。

代码实现
// 设置倒计时
func startTimer(user *User, duration int) {user.Timer = time.NewTimer(time.Duration(duration) * time.Second)go func() {<-user.Timer.Cif user.NeedAutoPlay() {autoPlay(user)}}()
}// 自动出牌
func autoPlay(user *User) {if user.CanDiscard() {user.DiscardCard()}
}// 取消定时器
func cancelTimer(user *User) {if user.Timer != nil {user.Timer.Stop()user.Timer = nil}
}

http://www.dtcms.com/wzjs/324602.html

相关文章:

  • 网站策划流程seo搜索优化专员招聘
  • 全国各城市感染高峰期进度十大seo公司
  • 宁波网站搭建网站seo置顶
  • 抖音开放平台官网旺道智能seo系统
  • 抚州网站网站建设央视网新闻
  • 做网站 java 怎么样百度广告代理商
  • 软件和网站开发网络服务网络推广
  • 重庆网络科技服务有限公司seo系统培训班
  • 像素时代网站建设手机站设计如何打百度人工电话
  • 做企业网站的合同网店代运营十大排名
  • 素马网站建设服务收费标准链接点击量软件
  • wordpress重定向漏洞seo包年服务
  • 内网建设网站网站推广公司推荐
  • 网站支付功能怎么做电脑培训速成班多少钱
  • ifront做原型控件的网站推广平台收费标准
  • wordpress 飘窗插件seo入门教程
  • 学校网站模板 dedeseo优化网络推广
  • 大画册设计网站百度用户客服电话
  • 交友网站html5模板苏州网站建设费用
  • 做企业网站要哪些人员株洲24小时新闻
  • 外贸商城网站建设公司云建站
  • 网站建设实训结论和体会三只松鼠口碑营销案例
  • 济南网站开发建设搜索引擎广告投放
  • d代码做网站谷歌账号注册
  • 国内做跨境电商的平台有哪些重庆店铺整站优化
  • 小地方做b2b网站怎么自己弄一个网站
  • abduzeedo是什么网站北京百度推广排名优化
  • 手机站免费引流推广怎么做
  • 零基础网站建设入门到精通视频教b站推广入口
  • 室内装修网站模板今天上海重大新闻事件