微信小游戏开发实战2-使用表格处理数据

简介: 本篇内容包括微信小游戏开发工具中的表格的使用。重点学习表格中的数据的设置,遍历和查找操作,以及如何使用“调试场景”来验证游戏中的逻辑是否正确。如果你没有任何的游戏开发经验,欢迎阅读我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。

本篇内容包括微信小游戏开发工具中的表格的使用。重点学习表格中的数据的设置,遍历和查找操作,以及如何使用“调试场景”来验证游戏中的逻辑是否正确。

如果你没有任何的游戏开发经验,欢迎阅读我的“人人都能做游戏”系列教程,它会手把手的教你做出自己的第一个小游戏。



上一节中讲过使用表格来存储和处理游戏中的数据。这一节我们直接上手,学习表格中的数据处理,我们将会实现以下的内容:


  • 创建一个10行10列(10x10)的表格,默认值都设置为0
  • 随机的在表格中插入一行数据1
  • 逐行遍历,找到满足条件的行(即整行的数据都是1)


# 创建表格


在“数据区”中点击“新建表格”按钮,创建一个叫做“网格”的全局变量。


会看到一个表格编辑的窗口,点击“新增行”和“新增列”创建一个10行10列的表格。


将所有格子中的数据都设置为“0”,最后看起来应该是这样。

这样一个10x10的所有默认数据为0的表格就创建好了。


# 随机在表格中插入一行数据1


为了方便演示,我在场景中增加了两个按钮,一个叫做“加入一行”,一个叫做“查找匹配”。我们会把插入逻辑和查找逻辑分别放在对应的按钮对象上。


你可以对照着下图添加你的素材。


在“加入一行”对象上创建两个局部变量:行号和列号。


接着,我们直接看代码逻辑。

如果一下看不明白,也无需着急。对着下面的分析再多看几遍。


因为我们的表格一共10行,所以这里我们取了1~10之间的随机整数,作为将要设置的行,并且将这个数字保存在了局部变量“行号”中(通常对于后续需要用到的数据,都会用局部变量来存储)。循环开始前将列号设置为1,因为要从第1列开始依次向后设置,直到第10列。假设随机到了第1行后,开始进入循环,首先会将表格中第1行第1列的数字设置为1,接着第1行第2列,直到第1行第10列后,循环结束。这样第1行中所有的10个数字就都从0变为了1。


接下来,我们验证一下,点击预览场景右侧的下拉小箭头,选择“调试场景”。


调试场景像下面这样,你以后会经常用到。点击“系统全局”可以看到我们创建的全局变量“网格”,鼠标移动网格的数据上,会显示当前网格的数据。


接着点击“加入一行”,可以看到我们为它创建的两个局部变量,“行号”和“列号”。


现在,点击一下场景中的“加入一行”按钮,你会看到“行号”和“列号”的局部变量发生了变化,当前“行号”为9,意味着我们随机到了数字9,即将表格中第9行的所有数据设置成了1。


看一下系统全局中的网格数据,是否是第9行被设置为了1。

第9行的数据确实都被设置为了1,证明了我们逻辑没有问题。你可以多点击几次“加入一行”按钮,多设置几行表格数据,在全局变量中查看。


# 查找满足条件的行


我们的查找逻辑是这样的:从上往下,依次查找表格中的每一行,如果一行中所有的数据都是1,那么记录一下这一行的行号,直到表格查找结束。


首先,我们创建4个局部变量。

“行号”和“列号”用于循环,“都是1”用来表示当前一行的数据是否都是1,如果满足条件的话设置为1,不满足的话设置为0,


新建一个列表局部变量“匹配行”,用于记录当前满足条件的行号,因为表格中可能会有多行满足条件,所以这里我们使用列表来记录所有满足条件的行号。


下面我们来看一下查找匹配的逻辑:

这里有一个难点就是“双重循环”,如果你遍历的数据只有一行的话,那么只需要一个循环就可以了,但是,当你要遍历10行10列的数据时,就需要用到“双重循环”。一个循环用于行,一个循环用于列。它只是看上去复杂,认真的分析一下其实不难理解。


我们从表格的第一行开始检查,想象一下我们从表格中拿出了第一行数据,然后从这一行数据的第一个一直检查到最后一个,看看是否有数字不为1,只要有一个数字不为1,就证明这一行不符合条件,就没有必要接着往下检查了。检查完一行后,如果它符合条件我们就把这一行的行号记录下来,放到“匹配行”的列表中。接下来再取出第二行,进行同样的操作,直到取完第十行为止。


点击“调试场景”,检查一下逻辑是否有问题,先点击几次“加入一行”按钮,随机的在表格中加入几行数据。


接着点击“查找匹配”按钮,选择“查找匹配”,看一下“匹配行”局部变量的数据。

如图,找到了第7,6,1行是满足条件的。

小提示:因为我们总是在列表中的第1项插入数据,所以最后的结果是[7,6,1],是倒序。真实过程是这样的,检查到第1行满足条件,插入列表,列表变为[1],接着检查到第6行满足条件,插入列表,列表变为[6,1],接着第7行满足条件,插入列表,列表变为[7,6,1]。


总结一下:

这一节我们学习了表格的创建,设置,遍历和查找操作。并且学习了使用“调试场景”在游戏运行时查看全局变量和局部变量,来验证逻辑是否正确。


练一下:

试着实现在表格中随机加入一列数据的功能,并且在查找时将所有满足条件的行和列都找出来。


如果你对游戏开发感兴趣,欢迎关注我,如果你有对游戏开发感兴趣的朋友,也欢迎把这个系列文章推荐给他。

相关文章
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
2895 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
|
小程序 JavaScript API
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
这篇文章介绍了使用uni-halo框架进行微信小程序开发的过程,包括选择该框架的原因、开发目标以及项目配置和部署的步骤。
735 0
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
小程序 PHP 图形学
热门小游戏源码(Python+PHP)下载-微信小程序游戏源码Unity发实战指南​
本文详解如何结合Python、PHP与Unity开发并部署小游戏至微信小程序。涵盖技术选型、Pygame实战、PHP后端对接、Unity转换适配及性能优化,提供从原型到发布的完整指南,助力开发者快速上手并发布游戏。
|
JSON 安全 定位技术
微信附近人提取v3脚本, 微信附近人id提取技术插件,采集附近人wxid数据工具
本内容介绍微信“附近的人”功能的技术原理与实现方法,基于LBS服务,涉及位置模拟、协议分析及数据解析。通过修改GPS坐标或使用Frida等工具hook位置函数
|
自然语言处理 搜索推荐 小程序
微信公众号接口:解锁公众号开发的无限可能
微信公众号接口是微信官方提供的API,支持开发者通过编程与公众号交互,实现自动回复、消息管理、用户管理和数据分析等功能。本文深入探讨接口的定义、类型、优势及应用场景,如智能客服、内容分发、电商闭环等,并介绍开发流程和工具,帮助运营者提升用户体验和效率。未来,随着微信生态的发展,公众号接口将带来更多机遇,如小程序融合、AI应用等。
|
JSON 小程序 JavaScript
uni-app开发微信小程序的报错[渲染层错误]排查及解决
uni-app开发微信小程序的报错[渲染层错误]排查及解决
4997 7
|
小程序 JavaScript 前端开发
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
uni-app开发微信小程序:四大解决方案,轻松应对主包与vendor.js过大打包难题
5426 1
|
人工智能 开发框架 机器人
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程
AstrBot 是一个开源的多平台聊天机器人及开发框架,支持多种大语言模型和消息平台,具备多轮对话、语音转文字等功能。
10617 38
AstrBot:轻松将大模型接入QQ、微信等消息平台,打造多功能AI聊天机器人的开发框架,附详细教程

热门文章

最新文章