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

简介: 今天我们就从题库表格的设计开始,分享一下如何设计一个答题小程序的表格,以及如何从题库中随机的抽取指定数量的题目。单选题库表格设计对于一个答题小程序来讲,最合适当作题库的数据形式当然要属表格了。表格适合用于数据的组织和管理,对于单选题库来讲,我们使用如下的数据表格。

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


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

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

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


单选题库表格设计


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

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


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



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


多选题库表格设计


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

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


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


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



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


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


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


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


那么题目编号在哪里呢?



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


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


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


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


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



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



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



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


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


这个周,我会在视频号直播制作这个答题小程序的全过程,欢迎关注下方的视频号来看直播。

我是会做游戏也会教你做游戏的小蚂蚁,想学习做游戏的话,关注我的公众号就对啦!

另外我做了一门游戏开发课,目的是帮助想学习游戏开发的朋友尽快的入门,做出自己的游戏,节省时间和精力,少走弯路。一门课程的价钱买到的是一整套的服务,目前已有 34 名学员,多位同学已经通过学习做出了自己的游戏,如果你也想学习做游戏的话不要错过咯!可以【点击这里】了解。

这是我做的几个小游戏,欢迎试玩。

精致1010

一个很精致的消除游戏。

小程序

精致点点连线

忙碌生活中的片刻放松。

小程序

圆点守护者

为守护家园而战。


也欢迎加个微信,交个朋友,朋友圈每日分享与做游戏有关的知识内容,可以来围观。接受付费咨询,不闲聊,望见谅。

相关文章
|
1月前
|
存储 JSON 小程序
微信小程序入门之新建并认识小程序结构
微信小程序入门之新建并认识小程序结构
50 1
ly~
|
2月前
|
存储 供应链 小程序
除了微信小程序,PHP 还可以用于开发哪些类型的小程序?
除了微信小程序,PHP 还可用于开发多种类型的小程序,包括支付宝小程序、百度智能小程序、抖音小程序、企业内部小程序及行业特定小程序。在电商、生活服务、资讯、工具、娱乐、营销等领域,PHP 能有效管理商品信息、订单处理、支付接口、内容抓取、复杂计算、游戏数据、活动规则等多种业务。同时,在企业内部,PHP 可提升工作效率,实现审批流程、文件共享、生产计划等功能;在医疗和教育等行业,PHP 能管理患者信息、在线问诊、课程资源、成绩查询等重要数据。
ly~
78 6
|
1月前
|
小程序 JavaScript API
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
这篇文章介绍了如何在uni-app和微信小程序中实现将图片保存到用户手机相册的功能。
526 0
微信小程序开发之:保存图片到手机,使用uni-app 开发小程序;还有微信原生保存图片到手机
|
1月前
|
小程序 前端开发 数据可视化
微信商城小程序WeiMall
微信商城小程序WeiMall
32 0
|
2月前
|
小程序 前端开发 API
微信小程序 - 调用微信 API 回调函数内拿不到 this 问题(解决方案)
本文讨论了在微信小程序中调用API回调函数时无法获取到`this`上下文的问题,并提供了解决方案。在回调函数中,使用一个变量(如`that`)来保存当前的`this`引用,然后在回调内部使用这个变量来访问当前页面的数据和方法。
|
3月前
|
移动开发 小程序 前端开发
|
3月前
|
JSON 小程序 JavaScript
超详细微信小程序开发学习笔记,看完你也可以动手做微信小程序项目
这篇文章是一份全面的微信小程序开发学习笔记,涵盖了从小程序介绍、环境搭建、项目创建、开发者工具使用、文件结构、配置文件、模板语法、事件绑定、样式规范、组件使用、自定义组件开发到小程序生命周期管理等多个方面的详细教程和指南。
|
3月前
|
小程序 前端开发
微信小程序商城,微信小程序微店 【毕业设计参考项目】
文章推荐了一个微信小程序商城项目作为毕业设计参考,该项目在Github上获得18.2k星,提供了详细的使用教程和前端页面实现,适合学习微信小程序开发和作为毕业设计项目。
微信小程序商城,微信小程序微店 【毕业设计参考项目】
|
3月前
|
小程序 开发者
第一个微信小程序的初始化过程、小程序微信开发平台的下载、如何注册一个微信小程序的账号
这篇文章介绍了微信小程序的初始化过程,包括如何注册微信小程序账号、下载微信小程序开发者平台,并指导了新建小程序的详细步骤。
第一个微信小程序的初始化过程、小程序微信开发平台的下载、如何注册一个微信小程序的账号
|
3月前
|
小程序 前端开发 JavaScript
微信小程序实现微信支付(代码和注释很详细)
微信小程序实现微信支付(代码和注释很详细)

热门文章

最新文章