小程序实现猜数字游戏

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

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

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方法。一切做好之后,开始游戏吧

总结


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

相关文章
|
小程序 JavaScript
微信小程序——猜数字游戏小案例
微信小程序——猜数字游戏小案例
439 0
微信小程序——猜数字游戏小案例
|
5天前
|
存储 编解码 小程序
抖音小程序开发中遇见的坑点
在抖音小程序开发中,需注意10大坑点:遵守小程序限制与规范;解决兼容性问题;优化数据加载速度;适应分享功能限制;处理视频播放挑战;优化图片加载显示;管理资源文件;提升用户体验;考虑安全性;及时更新维护。通过测试、优化和遵循官方文档,可克服这些问题,打造优质小程序。
|
5天前
|
小程序 前端开发 API
小程序全栈开发中的多端适配与响应式布局
【4月更文挑战第12天】本文探讨了小程序全栈开发中的多端适配与响应式布局。多端适配涉及平台和设备适应,确保统一用户体验;响应式布局利用媒体查询和弹性布局维持不同设备的布局一致性。实践中,开发者可借助跨平台框架实现多平台开发,运用响应式布局技术适应不同设备。同时,注意兼容性、性能优化和用户体验,以提升小程序质量和用户体验。通过这些方法,开发者能更好地掌握小程序全栈开发。
|
5天前
|
小程序 前端开发 API
微信小程序全栈开发中的异常处理与日志记录
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的异常处理和日志记录,强调其对确保应用稳定性和用户体验的重要性。异常处理涵盖前端(网络、页面跳转、用户输入、逻辑异常)和后端(数据库、API、业务逻辑)方面;日志记录则关注关键操作和异常情况的追踪。实践中,前端可利用try-catch处理异常,后端借助日志框架记录异常,同时采用集中式日志管理工具提升分析效率。开发者应注意安全性、性能和团队协作,以优化异常处理与日志记录流程。
|
5天前
|
小程序 安全 数据安全/隐私保护
微信小程序全栈开发中的身份认证与授权机制
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中的身份认证与授权机制。身份认证包括手机号验证、微信登录和第三方登录,而授权机制涉及角色权限控制、ACL和OAuth 2.0。实践中,开发者可利用微信登录获取用户信息,集成第三方登录,以及实施角色和ACL进行权限控制。注意点包括安全性、用户体验和合规性,以保障小程序的安全运行和良好体验。通过这些方法,开发者能有效掌握小程序全栈开发技术。
|
5天前
|
小程序 前端开发 安全
小程序全栈开发中的跨域问题及其解决方案
【4月更文挑战第12天】本文探讨了小程序全栈开发中的跨域问题及其解决方案。跨域问题源于浏览器安全策略,主要体现在前后端分离、第三方服务集成和数据共享上。为解决此问题,开发者可采用CORS、JSONP、代理服务器、数据交换格式和域名策略等方法。实践中需注意安全性、兼容性和性能。通过掌握这些解决方案,开发者能更好地处理小程序的跨域问题,提升用户体验。
|
5天前
|
小程序 前端开发 JavaScript
微信小程序全栈开发中的PWA技术应用
【4月更文挑战第12天】本文探讨了微信小程序全栈开发中PWA技术的应用,PWA结合Web的开放性和原生应用的性能,提供离线访问、后台运行、桌面图标和原生体验。开发者可利用Service Worker实现离线访问,Worker处理后台运行,Web App Manifest添加桌面图标,CSS和JavaScript提升原生体验。实践中需注意兼容性、性能优化和用户体验。PWA技术能提升小程序的性能和用户体验,助力开发者打造优质小程序。
|
5天前
|
小程序 应用服务中间件 Linux
【Nginx】微信小程序后端开发、一个域名访问多个服务
【Nginx】微信小程序后端开发、一个域名访问多个服务
18 0
|
5天前
|
小程序
开发小程序只要几百块?
开发小程序只要几百块?
765 0
|
5天前
|
Web App开发 数据采集 移动开发
开发uniapp过程中对app、微信小程序与h5的webview调试
开发uniapp过程中对app、微信小程序与h5的webview调试
13 1

热门文章

最新文章