如何做一个微信答题小程序(一)

简介: 嗨!大家好,我是小蚂蚁。从今天开始,我将连续使用几篇文章分享一下如何制作一个微信答题小程序。使用的工具是微信小游戏制作工具,听起来这是一个做微信小游戏的工具,但是除了做游戏之外,我们还可以用它来做小程序。

嗨!大家好,我是小蚂蚁。从今天开始,我将连续使用几篇文章分享一下如何制作一个微信答题小程序。使用的工具是微信小游戏制作工具,听起来这是一个做微信小游戏的工具,但是除了做游戏之外,我们还可以用它来做小程序。


这个将要制作的答题小程序包含如下的功能:

  • 可编辑的题库,包含单选题库和多选题库。
  • 答题开始前可进行自定义设置,例如单选题数量,多选题数量以及答题时间。
  • 每次答题的题目会从不同的题库中随机的抽取,由这些随机抽取的题目组成一次答题过程。
  • 所有题目回答完毕后,可提交查看统计结果。
  • 可回看此次答题过程中的所有题目以及答题情况。

今天我们就从题库表格的设计开始,分享一下如何设计一个答题小程序的表格,以及如何从题库中随机的抽取指定数量的题目。


单选题库表格设计



对于一个答题小程序来讲,最合适当作题库的数据形式当然要属表格了。表格适合用于数据的组织和管理,对于单选题库来讲,我们使用如下的数据表格。

640.png

第 1 列是题目,第 2~5 列是题目的 4 个选项,第 6 列是当前题目的答案。在这样的一个表格中,我们只需要获取任意的一行数据,就能够获取到一道题目的完整信息,包括题目,选项和答案。


在微信小游戏制作工具中,我们可以点击数据区中的“新建表格”按钮,创建一个这样包含 6 列的表格。


640.png


这里有一点儿需要注意了,就是表格的第 1 行,我们这里是把它当作表头了,这样方便我们在编辑题库时,知道哪一列对应的是什么。所以,真正的题目是从表格的第 2 行开始的。


多选题库表格设计



跟单选题库的表格设计类似,多选题库表格多了 2 列,也就是多了 2 个题目选项。

640.png

这里我们为多选的题目预制了 6 个题目选项,在真实的题目中可能会出现这样的情况,例如一道多选题,只有 ABCD 四个选项,那么多余的这两个选项如何处理呢?


这里我们可以设置一个约定:如果当前列没有选项的话,就在当前的位置填写一个 0。这样在我们读取题目信息进行展示时,如果遇到一个选项是 0,就不显示该选项。


再次点击数据区新建表格按钮,创建一个包含 8 列的多选题库表格。


640.png


对于一个答题小程序或者小游戏来讲,表格设计好了,基本上就完成了一半了。我们回看一下上方的这两个简单的表格,利用表格的行和列,非常方便的就能够将每一道题(一行)和每一道题目中的所有信息(一列)区分出来。我们根据来获取题目,然后根据来获取题目中的具体信息(题目,选项,答案)。


从题库中随机抽取指定数量的题目



题库表格设计好了之后,接下来要做的就是将表格中的数据取出,然后在小程序中以合适的方式展现出来。一个题库中通常会包含很多道题目,我们通常不会在一次答题过程中将题库中的所有题目都做一遍,而是从中取出一些题目进行作答。随机抽取题目是一种非常好的方式,每次都从题库中随机抽取出一定数量的题目,这样每次答题过程中既能遇到一些旧的题目作为巩固,也能够遇到一些新的题目作为新知。


在进行题目抽取之前,需要先了解一个概念,叫做题目编号。这个题目编号就相当于为每一道题目设置一个标志,这个标志是唯一的,也就是说题目编号题目是一一对应的,只要有了题目编号,就能够找到那道唯一的题目。


那么题目编号在哪里呢?


640.png


题目编号其实就是题库表格中对应的题目的行号,看一下,这个行号跟题目是不是一一对应的关系呢?比如说当前获取了题目编号 7,根据这个行号,我就能拿到对应“谁会教你做游戏呀?”的题目了。


有了题目编号这个概念了,我们再来看一下随机从题库表格中抽取题目这个操作,有必要直接将题目的整行信息都抽取出来吗?没有必要,我们只需要随机抽取到指定数量的题目编号就好了,然后在答题时根据当前的题目编号读取到题目的具体信息来显示。


接下来这个问题就变的简单了,随机抽取指定数量的题目,其实就是在指定的数值区间内抽取指定数量的不重复的数字。例如,我们当前的题库中有 100 道题,编号从 2~101,随机抽取 10 道题,其实要做的就是从 2~101 这 100 个整数中随机的取出 10 个不重复的整数。


接下来,我们就实现一下这个在指定区间内随机抽取不重复的整数的功能,实现这个功能,需要借助列表。


首先,创建一个“随机选题列表”,这个列表用于存放随机抽取的题目编号。之后答题的时候,我们从这个列表中挨个取出题目编号,显示对应的题目即可。


640.png


然后,创建一个“随机数”的局部变量,用于记录当前的随机数。


640.png


最后,看一下具体的积木逻辑。


41834828991438ea2728dd10e22e0c8e.png


这里需要注意的一个地方是在题库表格中,题目是从第 2 行开始的,所以这里随机数的范围也是从 2 开始的。我们利用一个“随机选题列表”来对当前的随机数进行过滤,如果已经在列表中了,就重新进行随机,只有不在列表中的随机数才能够插入到列表中,这样就实现了获取不重复的随机数的功能了。


总结一下,这一节我们设计并创建了两种不同的题库表格,并且实现了从题库中抽取指定数量的不重复的题目编号的功能。下一节我们将利用这些随机抽取到的题目编号,获取题目的信息,然后以合适的方式展示出来。


相关文章
|
2月前
|
缓存 小程序 前端开发
商城/点餐/家政类小程序源码合集_微信抖音小程序源码开发从入门到精通实战
本文系统讲解如何利用现有源码快速开发商城、点餐、家政类微信/抖音小程序,涵盖环境搭建、核心功能实现、多平台部署与优化,提供完整技术方案。实战导向,助力开发者高效入门与落地。
|
2月前
|
存储 小程序 Java
热门小程序源码合集:微信抖音小程序源码支持PHP/Java/uni-app完整项目实践指南
小程序已成为企业获客与开发者创业的重要载体。本文详解PHP、Java、uni-app三大技术栈在电商、工具、服务类小程序中的源码应用,提供从开发到部署的全流程指南,并分享选型避坑与商业化落地策略,助力开发者高效构建稳定可扩展项目。
|
6月前
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
1349 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
|
6月前
|
JSON 监控 小程序
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
530 14
微信百度字节小程序包过大解决方案(实战经验总结)-优雅草卓伊凡|果果|小无
|
8月前
|
存储 移动开发 小程序
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
基于开源技术栈构建的校园圈子系统小程序,整合社交与生活服务功能,涵盖兴趣圈子、私信聊天、资料共享、二手交易、兼职跑腿等六大核心模块。通过多端账号同步(微信公众号/小程序/H5),实现数据实时交互,满足学生群体的多元化需求。项目精准锚定校园市场,以“社交+服务”双轮驱动,提供一站式解决方案,支持快速部署与多校区运营,同时具备广告、佣金、会员等多元变现能力,是打造校园生态的理想工具。
808 3
校园圈子系统小程序(圈子论坛、私信聊天、资料共享、二手交易、兼职,跑腿)开源码开发/微信公众号、小程序、H5多端账号同步/搭建多城市的综合社交生活平台
|
存储 JSON 小程序
微信小程序入门之新建并认识小程序结构
微信小程序入门之新建并认识小程序结构
211 1
ly~
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
308 6
|
9月前
|
小程序 数据安全/隐私保护 开发者
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
【02】微信支付商户申请下户到配置完整流程-微信开放平台申请APP应用-微信商户支付绑定appid-公众号和小程序分别申请appid-申请+配置完整流程-优雅草卓伊凡
568 3
|
9月前
|
人工智能 小程序 程序员
【视频测评 DEMO 参考】VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
VSCode 神级 AI 插件通义灵码:完全免费+实战教程+微信贪吃蛇小程序
682 8
|
9月前
|
存储 小程序 前端开发
微信小程序与Java后端实现微信授权登录功能
微信小程序极大地简化了登录注册流程。对于用户而言,仅仅需要点击授权按钮,便能够完成登录操作,无需经历繁琐的注册步骤以及输入账号密码等一系列复杂操作,这种便捷的登录方式极大地提升了用户的使用体验
2822 12

热门文章

最新文章