测试类的微信小程序小游戏算是微信小游戏吗

部署一个微信小程序4 | 测试剪刀石头布的小游戏 - 简书
部署一个微信小程序4 | 测试剪刀石头布的小游戏
内容摘抄来源:腾讯云开发者实验室视频教程
Step1 实现游戏房间逻辑
创建 /data/release/webapp/game 目录用于存放剪刀石头布小游戏的代码
sudo mkdir -p /data/release/webapp/game
添加 game/Room.js 实现游戏房间逻辑
cd /data/release/webapp/game
sudo touch Room.js
sudo chmod a+rw Room.js
修改 game/Room.js,处理游戏开始、计算结果、积分等逻辑
enum GameChoice {
Scissors = 1,
function judge(choice1, choice2) {
if (choice1 == choice2) return 0;
// Player 1 没出,Player 2 胜出
if (!choice1) return 1;
// Player 2 没出,Player 1 胜出
if (!choice2) return -1;
// 都出了就这么算
return (choice1 - choice2 + 3) % 3 == 1 ? -1 : 1;
/** @type {Room[]} */
const globalRoomList = [];
// 每个房间最多两人
const MAX_ROOT_MEMBER = 2;
// 游戏时间,单位秒
const GAME_TIME = 3;
let nextRoomId = 0;
/** 表示一个房间 */
module.exports = class Room {
/** 获取所有房间 */
static all() {
return globalRoomList.slice();
/** 获取有座位的房间 */
static findRoomWithSeat() {
return globalRoomList.find(x =& !x.isFull());
/** 创建新房间 */
static create() {
const room = new Room();
globalRoomList.unshift(room);
constructor() {
this.id = `room${nextRoomId++}`;
this.players = [];
/** 添加玩家 */
addPlayer(player) {
const { uid, uname } = player.
console.log(`Player ${uid}(${uname}) enter ${this.id}`);
this.players.push(player);
if (this.isFull()) {
this.startGame();
/** 删除玩家 */
removePlayer(player) {
const { uid, uname } = player.
console.log(`Player ${uid}(${uname}) leave ${this.id}`);
const playerIndex = this.players.indexOf(player);
if (playerIndex != -1) {
this.players.splice(playerIndex, 1);
if (this.players.length === 0) {
console.log(`Room ${this.id} is empty now`);
const roomIndex = globalRoomList.indexOf(this);
if (roomIndex & -1) {
globalRoomList.splice(roomIndex, 1);
/** 玩家已满 */
isFull() {
return this.players.length == MAX_ROOT_MEMBER;
/** 开始游戏 */
startGame() {
// 保留这行日志输出可以让实验室检查到实验的完成情况
console.log('game started!');
// 当局积分清零
this.players.forEach(player =& player.gameData.roundScore = 0);
// 集合玩家用户和游戏数据
const players = this.players.map(player =& Object.assign({}, player.user, player.gameData));
// 通知所有玩家开始
for (let player of this.players) {
player.send('start', {
gameTime: GAME_TIME,
// 计时结束
setTimeout(() =& this.finishGame(), GAME_TIME * 1000);
/** 结束游戏 */
finishGame() {
const players = this.
// 两两对比算分
for (let i = 0; i & MAX_ROOT_MEMBER; i++) {
let p1 = players[i];
for (let j = i + 1; j & MAX_ROOT_MEMBER; j++) {
let p2 = players[j];
const result = judge(p1.gameData.choice, p2.gameData.choice);
p1.gameData.roundScore -=
p2.gameData.roundScore +=
// 计算连胜奖励
for (let player of players) {
const gameData = player.gameD
// 胜局积分
if (gameData.roundScore & 0) {
gameData.winStreak++;
gameData.roundScore *= gameData.winS
// 败局清零
else if (gameData.roundScore & 0) {
gameData.roundScore = 0;
gameData.winStreak = 0;
// 累积总分
gameData.totalScore += gameData.roundS
// 计算结果
const result = players.map(player =& {
const { uid } = player.
const { roundScore, totalScore, winStreak, choice } = player.gameD
return { uid, roundScore, totalScore, winStreak, choice };
// 通知所有玩家游戏结果
for (let player of players) {
player.send('result', { result });
Step2 实现玩家逻辑
添加 game/Player.js
cd /data/release/webapp/game
sudo touch Player.js
sudo chmod a+rw Player.js
修改 game/Player.js,处理玩家加入游戏、选择出拳、通知其他玩家等逻辑
const Room = require("./Room");
* 表示一个玩家,处理玩家的公共游戏逻辑,消息处理部分需要具体的玩家实现(请参考 ComputerPlayer 和 HumanPlayer)
module.exports = class Player {
constructor(user) {
this.id = user.
this.user =
this.room =
this.gameData = {
// 当前的选择(剪刀/石头/布)
choice: null,
roundScore: 0,
totalScore: 0,
// 连胜次数
winStreak: 0
* 上线当前玩家,并且异步返回给玩家分配的房间
online(room) {
// 处理玩家 'join' 消息
// 为玩家寻找一个可用的房间,并且异步返回
this.receive('join', () =& {
if (this.room) {
this.room.removePlayer(this);
room = this.room = room || Room.findRoomWithSeat() || Room.create();
room.addPlayer(this);
// 处理玩家 'choise' 消息
// 需要记录玩家当前的选择,并且通知到房间里的其它玩家
this.receive('choice', ({ choice }) =& {
this.gameData.choice =
this.broadcast('movement', {
uid: this.user.uid,
movement: "choice"
// 处理玩家 'leave' 消息
// 让玩家下线
this.receive('leave', () =& this.offline);
* 下线当前玩家,从房间离开
offline() {
if (this.room) {
this.room.removePlayer(this);
this.room =
this.user =
this.gameData =
* 发送指定消息给当前玩家,需要具体子类实现
* @abstract
* @param {string} message 消息类型
* @param {*} data 消息数据
send(message, data) {
throw new Error('Not implement: AbstractPlayer.send()');
* 处理玩家发送的消息,需要具体子类实现
* @abstract
* @param {string} message 消息类型
* @param {Function} handler
receive(message, handler) {
throw new Error('Not implement: AbstractPlayer.receive()');
* 给玩家所在房间里的其它玩家发送消息
* @param {string} message 消息类型
* @param {any} data 消息数据
broadcast(message, data) {
if (!this.room)
this.others().forEach(neighbor =& neighbor.send(message, data));
* 获得玩家所在房间里的其他玩家
others() {
return this.room.players.filter(player =& player != this);
2.1 实现电脑玩家ComputerPlayer.js
cd /data/release/webapp/game
sudo touch ComputerPlayer.js
sudo chmod a+rw ComputerPlayer.js
修改 ComputerPlayer.js ,测试游戏逻辑的时候,可能没有其它人可以一起参与,实现一个电脑玩家是不错的选择
const EventEmitter = require('events');
const Player = require('./Player');
let nextComputerId = 0;
* 机器人玩家实现,使用 EventEmitter 接收和发送消息
module.exports = class ComputerPlayer extends Player {
constructor() {
const computerId = `robot-${++nextComputerId}`;
uid: computerId,
uname: computerId,
uavatar: 'http://www.scoutiegirl.com/wp-content/uploads/2015/06/Blue-Robot.png'
this.emitter = new EventEmitter();
* 模拟玩家行为
simulate() {
this.receive('start', () =& this.play());
this.receive('result', () =& this.stop());
this.send('join');
* 游戏开始后,随机时间后随机选择
this.playing =
const randomTime = () =& Math.floor(100 + Math.random() * 2000);
const randomChoice = () =& {
if (!this.playing)
this.send("choice", {
choice: Math.floor(Math.random() * 10000) % 3 + 1
setTimeout(randomChoice, randomTime());
setTimeout(randomChoice, 10);
* 游戏结束后,标记起来,阻止继续随机选择
this.playing =
* 发送消息给当前玩家,直接转发到 emitter
send(message, data) {
this.emitter.emit(message, data);
* 从当前的 emitter 处理消息
receive(message, handle) {
this.emitter.on(message, handle);
2.2 实现人类玩家HumanPlayer.js
人类玩家通过 WebSocket 信道来实现玩家的输入输出,我们需要添加 game/Tunnel.js 和 game/HumanPlayer.js 来实现人类玩家逻辑
cd /data/release/webapp/game
sudo touch Tunnel.js
sudo touch HumanPlayer.js
sudo chmod a+rw Tunnel.js
sudo chmod a+rw HumanPlayer.js
修改 game/Tunnel.js 文件
const EventEmitter = require('events');
* 封装 WebSocket 信道
module.exports = class Tunnel {
constructor(ws) {
this.emitter = new EventEmitter();
ws.on('message', packet =& {
// 约定每个数据包格式:{ message: 'type', data: any }
const { message, data } = JSON.parse(packet);
this.emitter.emit(message, data);
} catch (err) {
console.log('unknown packet: ' + packet);
on(message, handle) {
this.emitter.on(message, handle);
emit(message, data) {
this.ws.send(JSON.stringify({ message, data }));
修改 game/HumanPlayer.js 文件,人类玩家和电脑玩家的逻辑是一致的,但是 IO 不同,人类玩家使用之前实现的 WebSocket 服务进行输入输出,而电脑玩家直接使用 EventEmiter 处理
const co = require('co');
const Player = require('./Player');
const ComputerPlayer = require('./ComputerPlayer');
const Tunnel = require('./Tunnel');
* 人类玩家实现,通过 WebSocket 信道接收和发送消息
module.exports = class HumanPlayer extends Player {
constructor(user, ws) {
super(user);
this.tunnel = new Tunnel(ws);
this.send('id', user);
* 人类玩家上线后,还需要监听信道关闭,让玩家下线
online(room) {
super.online(room);
this.ws.on('close', () =& this.offline());
// 人类玩家请求电脑玩家
this.receive('requestComputer', () =& {
const room = this.
while(room && !room.isFull()) {
const computer = new ComputerPlayer();
computer.online(room);
computer.simulate();
* 下线后关闭信道
offline() {
super.offline();
if (this.ws && this.ws.readyState == this.ws.OPEN) {
this.ws.close();
this.tunnel =
if (this.room) {
// 清理房间里面的电脑玩家
for (let player of this.room.players) {
if (player instanceof ComputerPlayer) {
this.room.removePlayer(player);
this.room =
* 通过 WebSocket 信道发送消息给玩家
send(message, data) {
this.tunnel.emit(message, data);
* 从 WebSocket 信道接收玩家的消息
receive(message, callback) {
this.tunnel.on(message, callback);
Step3 添加游戏服务入口
游戏的实现已经完成了,接下来,编辑 websocket.js 添加服务入口,可参考下面的代码:
// 引入 url 模块用于解析 URL
const url = require('url');
// 引入 ws 支持 WebSocket 的实现
const ws = require('ws');
// 引入人类玩家
const HumanPlayer = require('./game/HumanPlayer');
// 导出处理方法
exports.listen =
* 在 HTTP Server 上处理 WebSocket 请求
* @param {http.Server} server
* @param {wafer.SessionMiddleware} sessionMiddleware
function listen(server, sessionMiddleware) {
// 使用 HTTP Server 创建 WebSocket 服务,使用 path 参数指定需要升级为 WebSocket 的路径
const wss = new ws.Server({ server });
// 同时支持 /ws 和 /game 的 WebSocket 连接请求
wss.shouldHandle = (request) =& {
const path = url.parse(request.url).
request.path =
return ['/ws', '/game'].indexOf(path) & -1;
// 监听 WebSocket 连接建立
wss.on('connection', (ws, request) =& {
// request: 要升级到 WebSocket 协议的 HTTP 连接
// 被升级到 WebSocket 的请求不会被 express 处理,
// 需要使用会话中间节获取会话
sessionMiddleware(request, null, () =& {
const session = request.
if (!session) {
// 没有获取到会话,强制断开 WebSocket 连接
ws.send(JSON.stringify(request.sessionError) || "No session avaliable");
ws.close();
console.log(`WebSocket client connected with openId=${session.userInfo.openId}`);
// 根据请求的地址进行不同处理
switch (request.path) {
case '/ws': return serveMessage(ws, session.userInfo);
case '/game': return serveGame(ws, session.userInfo);
default: return ws.close();
// 监听 WebSocket 服务的错误
wss.on('error', (err) =& {
console.log(err);
* 进行简单的 WebSocket 服务,对于客户端发来的所有消息都回复回去
function serveMessage(ws, userInfo) {
// 监听客户端发来的消息
ws.on('message', (message) =& {
console.log(`WebSocket received: ${message}`);
ws.send(`Server: Received(${message})`);
// 监听关闭事件
ws.on('close', (code, message) =& {
console.log(`WebSocket client closed (code: ${code}, message: ${message || 'none'})`);
// 连接后马上发送 hello 消息给会话对应的用户
ws.send(`Server: 恭喜,${userInfo.nickName}`);
* 使用 WebSocket 进行游戏服务
function serveGame(ws, userInfo) {
const user = {
uid: userInfo.openId,
uname: userInfo.nickName,
uavatar: userInfo.avatarUrl
// 创建玩家
const player = new HumanPlayer(user, ws);
// 玩家上线
player.online();
Step4 安装 co 模块
源码中使用到了 co 进行协程管理,启动游戏服务前,需要先安装:
cd /data/release/webapp
sudo npm install co --save
Step5 测试游戏服务
重启 Node 服务:
pm2 restart app
打开配套的小程序,点击 实验四 - 剪刀石头布小游戏,点击 开始 按钮进行游戏。
P165 --------------------第6章-概念设计------------------- 不断迭代、提炼、升华的,比初始理念更加成熟的作品 这个过程会随着游戏设计师、游戏项目、灵感来源的不同,带来不同的结果 “我没有一个固定的设计流程,恰恰相反,我认为相同的...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金相信有很多朋友...
用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你能获得这些料: 知道setContentView()之后发生了什么? ... Android 获取 View 宽高的常用正确方式,避免为零 - 掘金 相信有很多...
This article is a record of my journey to learn Game Development and it will keep updating. 由于这篇文章的长度早已超出了简书编辑器的限制,因此后续内容将不在本文中更新,请移步本人的独...
来到简书,我想我可以看到更多文章。希望有一天可以成为一个腹有诗书气自华的人
每一天都有黎明,每一天都有黑暗,我们在黑暗中等黎明,在黎明中前行。但往往等待黎明的过程,是如此漫长而艰辛。 我的母亲的黑暗是从十八岁那年开始的。 母亲在花样的年纪,先后失去了父母。她永远记得独自一人坐在破旧的房屋里,看着天花板,心里念着父母,情不自禁的喊他们,却无人应答的悲...
安妮宝贝,也是我喜欢的作家之一。很久以前,看过她的全集,已经印象模糊,但是,很喜欢她的风格。阴暗、伤感,又温暖,有种让人心碎的美丽。所以,看到她的作品拍成电影,就迫不及待地看啦。 《七月与安生》,讲述七月和安生两个女孩从13岁开始相识相知、相爱相杀的成长故事。七月和安生,名...
today when i wake up,i think today Is weekend.
转自:http://blog.csdn.net/jackfrued/article/details/ Java面试题全集(中) :
http://www.jianshu.com/p/cbc7fcb62951Java面试题全集(下) :
http://ww...微信小程序的游戏都是抄的它们,我发现了这些小游戏的 5 个特点
我玩了6个 Ketchapp 小游戏,发现它们的这些特点。
Ketchapp 一直有着「小游戏之王」的美誉,久慕盛名的我,趁着周末特意下了几个小游戏,一一体验了下,试图弄明白,这些小游戏究竟因何而有趣?
▎益智不烧脑
游戏荒的时候最希望能够有一个可以减压,有趣又不烧脑的游戏。
一天的忙碌过后,希望既能够得到一定的休闲与放松,又有一定的趣味性,这样是最好不过了。
▎手快心不慌
Thief 有点像跑酷类游戏,要求玩家有平和的心态和准确的判断,最好手速快。
简单易操作可以说是这个小游戏的一个经典之处,如今的许多小游戏里都能看到它的影子。
▎有趣不伤肝
喜欢有一定操作性,同时想挑战自己的反应能力,还可以试试 Circle 。
点击屏幕来控制圆环,使它位于线路的中间,磕碰到边缘则游戏结束。这个游戏看着简单,操作起来还是挺有难度,对预判要求很高。
▎组队老司机
是时候检验真正的技术了!Swing 的玩法很简单,操作游戏中的角色撑杆跳到对岸。玩家通过点按屏幕来设定撑杆的长度,松开则起跳。
除了需要预判之外,这个游戏不需要其他的操作。如果撑杆过长和过短,迎接我们的都是 Game Over 这个悲伤的结局。
Stick Hero 和 Swing 非常像,后者是撑杆跳,前者则是像荡秋千一样借助绳子晃过去。同样的,如果绳子过长或过短,都会坠入崖底。
预备——跳!你是否准备好开始你的征途了呢?和朋友一起 PK 看看谁走得更远,谁才是前进路上的老司机。
▎落地不怕摔
组队吃鸡,不如试一下 Jelly Jump ,不需要很高的配置,一部手机就可以随时游戏。
一个果汁浇筑成的方块,需要不断地跳跃向上攀登,前方阻挡它的障碍物,同时也是它向上的阶梯。
玩家通过点击屏幕来实现跳跃,在出口关闭时帮助小方块跳到上一级,实现属于它的阶级跨越。
小方块很结实,你再也不必担心落地成盒的惨剧发生了。至于它能够走到哪里,就看你的操作是否流畅、准确。不如我们试试?
▎Ketchapp 的优秀,远不止于此
Ketchapp 系列的小游戏还有很多,以上列举的这些都只是其中的凤毛麟角,更多的,还得等你亲自去体验。
它们不像氪金游戏那样需要每天去打卡,做各种日常耗时伤肝,同样也不需要像端游那样对设备和配置高要求。
整体而言,Ketchapp 这些小游戏的优点就在于它既不会让人花费大量的时间,同时又可以让人得到适度的休闲和放松。
忙碌了一天之后、开会的间隙、通勤路上,你都可以打开它操作一把,来舒缓自己紧张的心情和辛劳一天后的疲惫,然后又可以斗志满满地投入到紧张的学习、工作中。娱乐、放松两不误,也是一件美滋滋的事情。
在最美应用微信后台回复「 KG 」,可以获得这几个小游戏的下载地址。
——————
玩过2048的
评论区请举起你们的爪子
大家都爱看:
责任编辑:
声明:该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。
今日搜狐热点查看: 1320|回复: 115
大家要的知识答题类小程序来了,刚测试可以用
阅读权限120
在线时间 小时
刚从某宝买来的知识答题类小程序,已经在者工具中打开了。可以使用
微信截图_37.jpg (0 Bytes, 下载次数: 3)
08:36 上传
微信截图_06.jpg (0 Bytes, 下载次数: 0)
08:36 上传
1.jpg (0 Bytes, 下载次数: 1)
08:36 上传
送上附件:
(53.98 KB, 下载次数: 69, 售价: 25 铜板)
08:37 上传
点击文件名下载附件
售价: 25 铜板 &
看压缩包54K不到还想后端···&
只有前端吗??&
没有后端你发个鸡毛,别下载了.
阅读权限120
在线时间 小时
这个可以下载试试效果
阅读权限120
在线时间 小时
有没有后端?
阅读权限80
在线时间 小时
田润叶热热
阅读权限120
在线时间 小时
阅读权限120
在线时间 小时
阅读权限120
在线时间 小时
阅读权限120
在线时间 小时
阅读权限120
在线时间 小时
阅读权限120
在线时间 小时
完美龙喵官方1.1
完全带后端,游戏无bug,开源无
模块名称:
人人商城V3 3.6.5 开源版 新增支付
看见论坛很多发布了只有老虎淘客的破解模块,但
老虎新微信淘宝客5.66.0+代223理2.80.0加密+拼多
| 联系方式
COPYRIGHT(C)2015 ZHONGQINGLONGTU NETWORK CO.LTD ALL RIGHTS RESERVED.ICP备号-4
北京中清龙图网络技术有限公司微信小程序游戏类目开放测试:开发者可开发、调试小游戏
稿源:站长之家
站长之家(Chinaz.com) 3 月 23 日消息&&&&&微信官方今天宣布,小程序游戏类目开放测试,开发者可开发、调试小游戏。同时,对小游戏开放微信社交关系链、虚拟支付能力。据介绍,开发者注册小程序帐号后可选择“游戏”类目,并开发、调试小游戏。开发者的小游戏暂不可对微信用户发布,具体发布时间尚未公布。此外,微信还对小游戏开放新的能力,包括:微信社交关系链,开发者可在小游戏内实现好友PK、排行榜竞技、微信群内互动等功能;虚拟支付,开发者可在安卓版本小游戏内提供道具购买等服务。
有好的文章希望站长之家帮助分享推广,猛戳这里
本网页浏览已超过3分钟,点击关闭或灰色背景,即可回到网页微信小程序
各种软件层出不穷,下载安装时,比较麻烦,当不需要安装就能使用的微信小程序推出时,立刻受到了广大用户推崇,更便捷的操作方法,小巧、实用,小编把微信小程序大全带给大家,多款不同功能的小程序,等你使用。
大小:58.40MB
类别:系统工具
简介:微信公开课相信很多用户都用过,而现在最新的微信公开课pro版2018也已推出,感兴趣的朋友快来一起查看吧,随时帮你查看需要的数据哦。 微信公...
大小:40MB
类别:趣味娱乐
简介:印象成绩单测试由游迅网小编为广大喜欢尝试新鲜测试游戏的小伙伴献上,最近最好玩的测试莫过于这款印象成绩单测试了,赶紧前来本站开启你的测试之旅,...
大小:58.40MB
类别:学习教育
简介:微信聚能答小程序,这是由微信上线的手机答题神器,该软件能够帮助参与答题活动的朋友们快速通关,而且冲顶大会、芝士超人等各个答题平台都支持的哦!...
大小:58.40MB
类别:趣味娱乐
简介:全民猜图推荐给大家,一款小巧、有趣的看图片猜字软件,感兴趣的朋友现在就能下载参与哦,也能邀请朋友一起对战,看谁猜的更多。 全民猜图特色介绍 ...
大小:58.40MB
类别:趣味娱乐
简介:全民猜图是款超级有趣的娱乐小程序,由微信推出,玩法简单,通过一张图,来猜正确答案,快来试试自己能猜出几张图吧。 全民猜图特色介绍 一个人猜图...
大小:32MB
类别:系统工具
简介:微信2018我的许愿灯关键词最近还是比较火爆的,其实就是2018你的过年关键词,大家可以轻松做新年测试,好运滚滚来,还能和小伙伴pk一下谁的...
大小:15.32MB
类别:资讯阅读
简介:较真辟谣神器是微信最新推出的辟谣小程序,相信大家有遇到过微信里面真假难辨的消息,特别是一些父母长辈的温馨提示总是有毒,有时候你想解释是假消息...
大小:58.40MB
类别:系统工具
简介:微信公开课相信很多用户都用过,而现在最新的微信公开课pro版2018也已推出,感兴趣的朋友快来一起查看吧,随时帮你查看需要的数据哦。 微信公...
大小:40MB
类别:趣味娱乐
简介:印象成绩单测试由游迅网小编为广大喜欢尝试新鲜测试游戏的小伙伴献上,最近最好玩的测试莫过于这款印象成绩单测试了,赶紧前来本站开启你的测试之旅,...
大小:40MB
类别:趣味娱乐
简介:印象成绩单是一款微信最新小程序,不知道大家朋友圈是不是被小伙伴的印象成绩单刷屏,据说非常准的小测试哦,很多没玩过的小伙伴必须要试试哦,本站也...
大小:5.60MB
类别:趣味娱乐
简介:喜欢在无聊时,听听好听的音乐,光听音乐还不够,小编把微信猜歌达人小程序带给大家,边听音乐边猜测听到音乐歌名哦。 微信猜歌达人小程序特色 上千...
大小:5.60MB
类别:趣味娱乐
简介:猜歌达人小程序推荐给大家,占用内存极低,随时随地都能下载一起玩哦,边听每首音乐,边猜测它的歌名,快来试试自己的曲库丰富吗。 猜歌达人小程序特...
大小:47MB
类别:系统工具
简介:微信你说包是当下人气最高的一款口令红包神器,在这里,你可以随时随地自定义你的红包口令,各种或高难度或奇葩的绕口令随你选择,让好友接招,当然你...
大小:46.70MB
类别:系统工具
简介:包你说小程序外挂由游迅网小编为大家献上,这款微信小程序一上线就吸引了大家的关注,主要是功能比较完善,你想要的各类外挂功能全都支持,不仅只是抢...
大小:46.70MB
类别:系统工具
简介:包你说小程序下载地址由本站献上,最好玩的语音绕口令红包由这里为你提供,让你感受最奇葩的绕口令,绝对挑战你对普通话的认识,普通话不好的小伙伴慎...
大小:1.5MB
类别:趣味娱乐
简介:头脑王者小程序答题器由本站推出,好友之前的头脑pk大赛已经拉开序幕,玩家们可以在这里邀请小伙伴答题pk,答题时间有限制,在规定时间内谁答对问...
大小:7.90MB
类别:手游辅助
简介:微信跳一跳自动跳辅助是一款专为微信跳一跳的游戏玩家们准备的游戏辅助工具,微信跳一跳自动跳辅助拥有十分实用的自动跳辅助功能,定可以帮助玩家轻松...
大小:58.40MB
类别:手游辅助
简介:微信小游戏开发工具可以帮助用户快捷使用卫星小程序,最近微信小程序更新频繁,为了给大家提供最快速的切换功能,本站为大家提供了微信小游戏开发工具...
大小:58.40MB
类别:手游辅助
简介:微信小游戏跳一跳刷分工具由游迅网小编为大家献上,这款高分辅助一上线就受到玩家的热爱,专为微信小游戏跳一跳打造,支持快速修改游戏数据,刷分无上...
类别:手游辅助
简介:微信跳一跳辅助刷分器是款非常好用的微信小游戏辅助工具,真实可用,一键为你刷取高分,让你稳居排行榜榜首,感兴趣的朋友,不妨下载体验下吧。 微信...
类别:手游辅助
简介:跳一跳辅助器是款火爆朋友圈的微信小游戏的辅助软件,大家想要的高分,就可以使用这款辅助哦,直接可以设置游戏分数,支持分享朋友圈,有需要的朋友快...
类别:手游辅助
简介:跳一跳外挂作弊器是款好玩的跳一跳游戏辅助软件,玩家通过这款作弊器,想拿多少分就拿多少分,可以帮助大家自动跳跃哦,感兴趣的朋友,快来下载吧。 ...
类别:手游辅助
简介:微信小程序跳一跳外挂是一款非常安全稳定、操作简单的高分辅助外挂,能够轻而易举地帮你获得高分数,向你的朋友圈好友进行炫耀。...
大小:58.40MB
类别:社交聊天
简介:微信小游戏跳一跳是小编分享给大家的一款全新微信小游戏,这是最新微信版本的功能,用户在微信里就可以快捷畅玩,快来下载试玩吧。 微信小游戏跳一跳...
大小:58.40MB
类别:社交聊天
简介:生活中,经常懒得出门,手机里也不想下载太多购物软件,没关系,小编把微信官方精品店推荐给你,不需要另外下载app,就能在微信上购物啦。 微信官...
大小:58.40MB
类别:交通导航
简介:生活中,有时需要用到地图导航,但是手机里却没有备着地图软件,这时,你可以来微信搜一搜地图,随时查询当前地图情况哦,更有现金红包可以领取。 微...

我要回帖

更多关于 测试类的微信小程序怎么做 的文章

 

随机推荐