小程序实现猜数字游戏

简介: 小程序实现猜数字游戏

游戏是小程序一个比较有趣的分类,我们今天就带着大家实现一下猜数字的游戏。每次输入数字,显示结果,有以下几种情况:

1、猜高了

2、猜低了

3、猜对了,游戏结束


1 组件搭建


开发游戏的话,我们先搭建组件


2 变量定义


猜数字游戏我们需要定义几个变量,第一个是定义背景

focus、disable、isResetShow定义为布尔类型

guessCount、randomNumber、maxGuessCount为数字类型

其余变量定义为文本类型


3 变量绑定


变量定义好之后就需要进行绑定,文本框绑定为guessField

第一个按钮绑定为是否禁用,绑定为disable变量

第一个文本组件,我们绑定已经猜过的结果,guesses

第二个文本我们绑定猜的结果,猜错了就显示红色,猜对了就显示绿色

如果要动态改变背景色,需要绑定自定义样式

第三个文本显示猜高了还是猜低了

最后一个按钮要绑定条件展示,来控制游戏结束后显示重新开始


4 创建自定义方法


resetGame

export default function () {
   app.redirectTo({
    pageId: 'u_lian_xi_san',    // 页面 Id 
    packageName: '',   // 主应用为空或不填,子模块填写 子包目录,查找位置 子包编辑器 --- 页面 --- 子包目录
    params: {key: 'value'}
});
}

这个方法的作用是重定向,回到主页,再次点击的时候就重新开始新的游戏

setGameOver

export default function () {
    $page.dataset.state.disable = true;
    $page.dataset.state.isResetShow = true;
}

我们游戏结束设置提交按钮为不可用,然后显示重新开始按钮

checkGuess

import setGameOver from './setGameOver'
import resetGame from './resetGame'
export default function ({ event, data }) {
    let userGuess = Number($page.dataset.state.guessField);
    console.log('userGuess',userGuess)
    console.log(typeof userGuess)
    let guessCount = $page.dataset.state.guessCount;
    console.log('guessCount',guessCount)
    if (guessCount === 1) {
        $page.dataset.state.guesses = '上次猜的数:';
    }
    $page.dataset.state.guesses += userGuess + ' ';
    let randomNumber = $page.dataset.state.randomNumber
    if (userGuess === randomNumber) {
        $page.dataset.state.lastResult = '恭喜你!猜对了!';
        //lastResult.style.backgroundColor = 'green';
        $page.dataset.state.bg = {'background':'green'}
        $page.dataset.state.lowOrHi = '';
        setGameOver();
    } else if (guessCount === $page.dataset.state.maxGuessCount) {
        $page.dataset.state.lastResult = '!!!游戏结束!!!';
        $page.dataset.state.lowOrHi = '';
        setGameOver();
    } else {
        $page.dataset.state.lastResult = '你猜错了!';
        //lastResult.style.backgroundColor = 'red';
        $page.dataset.state.bg = {'background':'red'}
        if (userGuess < randomNumber) {
             $page.dataset.state.lowOrHi = '你刚才猜低了!';
        } else if (userGuess > randomNumber) {
             $page.dataset.state.lowOrHi = '你刚才猜高了!';
        }
    }
    $page.dataset.state.guessCount++;
     $page.dataset.state.guessField= '';
    //guessField.focus();
}

按照逻辑去检测猜数字的结果并设置文本的值

5 绑定行为


自定义方法定义好之后,我们就需要给组件设置行为。首先是文本输入组件,我们让输入的值赋值给变量

给提交按钮绑定点击事件,绑定为我们的checkGuess方法

最后给重新开始按钮绑定点击事件,绑定为我们的resetGame方法。一切做好之后,开始游戏吧

总结


本节我们介绍了猜数字小游戏的实现思路,开发游戏比较有意思,可以促进学习,按照教程试一试吧。

相关文章
|
5天前
|
JavaScript Java 测试技术
游戏账号交易微信小程序+ssm+vue.js附带文章和源代码设计说明文档ppt
游戏账号交易微信小程序+ssm+vue.js附带文章和源代码设计说明文档ppt
11 1
|
10天前
|
小程序 JavaScript Java
基于微信小程序的游戏账号交易微信小程序的设计与实现(源码+lw+部署文档+讲解等)
基于微信小程序的游戏账号交易微信小程序的设计与实现(源码+lw+部署文档+讲解等)
|
18天前
|
小程序 API
微信小程序飞机大战游戏步骤及代码
微信小程序飞机大战游戏步骤及代码
105 0
|
18天前
|
存储 小程序 开发者
微信小程序猜拳游戏步骤及代码
微信小程序猜拳游戏步骤及代码
86 0
|
18天前
|
小程序 开发者
微信小程序狼人杀游戏代码及步骤
微信小程序狼人杀游戏代码及步骤
103 0
|
9月前
|
弹性计算 小程序
起航吧,Clouder丨“百搭ECS”,搭网站、搭游戏、搭小程序随心选
玩转“搭建”实操场景,完成3个任务,赢取价值58元认证考试权益,更有Airpods、机械键盘、猫超卡等你来领~
|
12月前
|
人工智能 小程序 大数据
盲盒抽奖游戏APP及小程序系统开发(详情开发)丨盲盒抽奖游戏APP及小程序开发源码平台
  企业以互联网为依托,通过运用大数据、人工智能等先进技术手段,对商品的生产、流通与销售过程进行升级改造,进而重塑业态结构与生态圈,并对线上服务、线下体验以及现代物流进行深度融合的零售新模式。
|
小程序 JavaScript 前端开发
微信小程序 | 做一个小程序端的扫雷游戏
微信小程序 | 做一个小程序端的扫雷游戏
305 0
微信小程序 | 做一个小程序端的扫雷游戏
|
小程序 开发者
微信公众号在线答题小程序系统怎么做答题游戏活动
微信公众号在线答题小程序系统怎么做答题游戏活动
|
存储 前端开发 小程序
微信小程序│ 游戏开发 │连连看游戏
“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。“连连看”考验的是各位的眼力,在有限的时间内,只要把所有能连接的相同图案,两个一对地找出来,每找出一对,它们就会自动消失,只要把所有的图案全部消完即可获得胜利。所谓能够连接,指得是:无论横向或者纵向,从一个图案到另一个图案之间的连线不能超过两个弯,其中,连线不能从尚未消去的图案上经过。
311 0
微信小程序│ 游戏开发 │连连看游戏