Ludo:海外飞行棋游戏玩法,文末附源码

Ludo起源于印度的古老游戏Pachisi,玩法类似国内的飞行棋,是一种适合2至4人玩的战略类棋盘游戏。

其游戏规则也很简单:对局中,每人有2颗或4颗棋子,通过投骰子的方式决定前进的步数,在前进过程中赶上对手即可将其淘汰回营地,谁先将棋子全部走到自己的大本营谁就赢了。

 

玩法介绍:分为经典模式和快速模式,棋子可选择2个/4个。

投掷出6点可起飞,且奖励一次投掷机会。如果连续掷出三个6点则本回合结束。踩中对手可淘汰至营地,且奖励一次投掷机会。

*在画有星星的安全区内,棋子不会被吃掉。

房主如果选择了趣味道具,那么棋盘中将有可能出现三种道具,分别为“金色骰子”、“吸铁石”和“炸弹”,它们有着不同的功能。

玩家拾取道具“金色骰子”后,投掷必定获得6点;

拾取道具“吸铁石”,自动前进8格,直到被其他棋子拦住;

拾取道具“炸弹”,自动轰炸前方8格目标,将对方淘汰回营地。

只有指定点数才可到达终点,且奖励一次投掷机会。

 

快速赛只需要1个棋子到达终点即可获胜;

而经典赛需要全部棋子到达终点才能获胜。

游戏结束,到达终点的棋子越多,未到达终点的棋子走得越远,排名越高。

Ludo的游戏规则虽然简单,但游戏的随机性较强,想要获胜除了运气还要合理布局棋子的先后顺序和移动速度,是一款休闲性与策略性并重的游戏。飞行棋玩腻了想要换个花样的小伙伴们可以试试玩Ludo哦!

群玩PAAS游戏平台新增了Ludo小游戏,有快速和经典两种游戏模式可选,房间创建者也可以选择棋子的数量和是否加入趣味道具,多样的玩法组合满足用户的不同游戏体验。除了Ludo之外,还提供多种类多玩法的小游戏,支持多场景多行业个性化定制,一键接入app更好玩!

群玩 SDK

安装依赖

  npm install

项目运行

npm run serve

项目打包

npm run build

使用文档

一、引入资源

<script src="./gp-js-sdk.min.js"></script>

二、初始化

GPJSSDK.ini({
  token,
  appid,
  im
})

三、接口 API 文档

GPJSSDK:顶层全局对象,包含全端可用的属性及方法

1. 全局可用

  • GPJSSDK.Env (Object):宿主环境变量,包含以下属性

    • ua (String):返回当前宿主环境完整 userAgent 字符串;
    • os (String):返回操作系统类型,包含以下枚举值:ios / android / mac / windows
  • GPJSSDK.ini (Object):初始化

    GPJSSDK.ini({
     mode: "dev", //可选参数 dev product,product模式下不会出现调试工具
     // debug: true, //默认配置开启
     debug: {
       type: "vconsole", //可选配置 eruda vconsole
       enable: true,
     },
    });
    
  • GPJSSDK.login (Object):登录

    GPJSSDK.login({
     token,
     appid,
     im
    });
    
  • GPJSSDK.Util (Object):常用工具函数集

    • getQuery (Function)(querystringKey):通过传递参数名,获取地址栏通过 querystring 格式传递的参数值;
    • formatTime (Function)(timestamp,format):格式化时间戳
    • requestAjax (Function)(config):ajax 请求
  • GPJSSDK.showToast (Function)(text,duration,overlay):全局 toast,文本内容,持续时间,是否可穿透蒙层点击

  • GPJSSDK.showConfirm (Function)(text,cb):全局 Confirm,文本内容,事件回调(0和1)

  • GPJSSDK.Application (Object):应用基本信息

2. webSocket 方法

  • GPJSSDK.Ws (Object):webSocket 方法
    • new Ws (Function)(im,cb):构造实例,传入 im 链接、回调函数
    • onmessage (Function)(cb):接收 WebSocket 消息
    • send (Function)():发送消息
    • onopen (Function)():监听成功

3. 游戏方法

  • GPJSSDK.Game (Object):游戏方法
    • link (Function)(config):链接 IM
    • initGame (Function)(accountSecToken, sessionId):初始化游戏状态
    • joinGame (Function)(config):加入游戏
    • selectGame (Function)(gameType):选择游戏,传入游戏类型
    • startGame (Function)(config):开始游戏
    • endGame (Function)(config):结束游戏
    • outRoom (Function)(config):退出房间
    • heartbeat (Function)(config):心跳
    • answerGame (Function)(msgData, currentSize):用户回答,传入答案、当前题次
    • knowAction (Function)(data):模型动作,传入原数据
      • status (Function)():游戏状态
      • start (Function)(duration):游戏开始,返回开始倒计时秒数
      • getQuestion (Function)():游戏题目消息
      • getAnswer (Function)():游戏答案消息
      • answerInfo (Function)():答题消息
      • getMembers(Function)(list,type):成员列表
      • end (Function)(): 游戏结束

极速飞行棋

  • GPJSSDK.FlyingChess (Object):游戏方法
    • link (Function)(config):链接 IM
    • startGame (Function)():开始游戏
    • upSeat (Function)(num):上座,传入座位号,座位号自己定
    • downSeat (Function)():下座
    • getSeats (Function)():获取座位上成员
    • rock (Function)(num):摇骰子,传入骰子点数(1-6),
    • savePlane (Function)({ id:123, pathNum:50,//pathNum和status有传就会有更新,不传或者null才不会更新 status:1 },): 保存飞机变动
    • selectPlane (Function)({"planeIds":[5446456,7984531],//选择要执行的飞机id,数组形式,长度1为单架,2是两架并着走 "delayTime":2,//秒,延时接收飞机信息,不传或者0则不用延时}): 选择飞机
    • endGame (Function)():结束游戏
    • outRoom (Function)():退出房间
    • flyAction (Function)(config):模型动作,传入原数据
      • message (Function)(info): 通知消息
      • seat (Function)(info): 座位信息
      • planes (Function)(info): 飞机消息
      • playerRock (Function)(info): 让用户摇骰子
      • diceNum (Function)(num, color): 骰子点数
      • selectAir (Function)(num, color, limit): 让用户选择飞机
      • planesFly (Function)(num, planes): 操作飞机
      • gameMessage (Function)(info): 游戏过程消息提示
      • ranking (Function)(): 游戏结束显示排行榜
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值