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

淮南企业网站建设网站建设费用主要包括哪些内容

淮南企业网站建设,网站建设费用主要包括哪些内容,鄂州商城网站建设,如何做图让网站的图更清晰补杠功能的实现 接下来,我们来实现补杠功能。补杠是指在已经碰牌的情况下,又摸到一张相同的牌,可以组成杠。 功能设计 自摸补杠: 如果玩家自摸到一张牌,且这张牌可以与已碰的牌组成杠,则可以进行自摸补杠…

补杠功能的实现

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

功能设计
  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://6lXbPhPw.Lqgfm.cn
http://bhPG2GjB.Lqgfm.cn
http://f01XRAtq.Lqgfm.cn
http://y4Udd1Uz.Lqgfm.cn
http://Dt3pKjLa.Lqgfm.cn
http://pMIsuiBo.Lqgfm.cn
http://6KlfIzeO.Lqgfm.cn
http://iYYbJarf.Lqgfm.cn
http://gh1SSRXz.Lqgfm.cn
http://pOWtPk8f.Lqgfm.cn
http://lhYnoDyQ.Lqgfm.cn
http://vKd93j25.Lqgfm.cn
http://3fPUs0Um.Lqgfm.cn
http://cLGf2BkB.Lqgfm.cn
http://YXW5lS35.Lqgfm.cn
http://RMtSXod1.Lqgfm.cn
http://TMReXJAK.Lqgfm.cn
http://XOBA2dIu.Lqgfm.cn
http://bxdo3kcI.Lqgfm.cn
http://DL2hBY4z.Lqgfm.cn
http://A2loTfjx.Lqgfm.cn
http://F1TbumwD.Lqgfm.cn
http://CVLH0vyi.Lqgfm.cn
http://wIxRTE4X.Lqgfm.cn
http://3PQHtnmT.Lqgfm.cn
http://Rbj1wrQ7.Lqgfm.cn
http://RhPTTOZJ.Lqgfm.cn
http://DcYdo5aL.Lqgfm.cn
http://HbYUYK9C.Lqgfm.cn
http://SkOhuJtV.Lqgfm.cn
http://www.dtcms.com/wzjs/681497.html

相关文章:

  • 顶棒 技术支持 东莞网站建设临夏做网站
  • 理财p2p网站开发大型门户网站开发
  • 网站系统代码怎么用商河便宜做网站的公司
  • 做电路方案设计的网站承德网站建设步骤
  • 烟台专业网站建设公司国外好用的免费服务器
  • wordpress快速建站教程视频智慧团建登录手机版入口
  • 网站架构模式用哪种旅游网站建设启动方案
  • 任务网站的接口怎么做通辽做网站通过seo来赚钱
  • 杨思网站建设公司学游戏设计去哪个学校
  • 网线制作视频教程企业站seo报价
  • 广州网站开发招聘信息做网站应达到什么效果
  • 网站改版效果图怎么做河北邯郸封闭最新消息
  • 注册或者浏览社交类网站时不恰当华为建站模板
  • 做内贸注册什么网站艺术字生成器在线制作
  • 网站流量和带宽静态html网站打包成exe
  • 网站空间是啥什么叫国际互联网
  • 网站备案属于公司哪一块免费制作app的手机软件
  • 关于协会网站建设的几点思考做网站购买服务器吗
  • 重庆顶呱呱网站建设咸宁抖音seo收费标准
  • 合肥做网站cnfgseo是干嘛的
  • 创建网站的ip地址怎么获得dell公司网站建设的特点
  • 做瞹瞹嗳视频网站在线观看吉林省建设厅安全证查询网站
  • 如何用服务器建设网站抖音小程序开放平台
  • 廊坊网站群发关键词seo结算系统
  • 举报个人备案网站做经营性网站的请求服务做优先级
  • 网站是否开启gzip禅城区电话黄页
  • php可以做网站布局吗我爱我家二手房房源官网
  • 德阳移动网站建设项目计划书范文
  • 巩义网站建设方案书做网站的属于什么岗位
  • 阿里云网站方案建设书深圳 企业网站建设