嗨!大家好,我是小蚂蚁。今天咱们来共享一下怎么完成答题功用,包括单选题和多选题的答题,以及怎么记载玩家的答题数据。
单选题答题处理
关于单选题来讲,每个选项之间是互斥的,也就是说用户只能从 ABCD 的四个选项中挑选一个,不或许同时挑选多个。所以在处理单选题答题时,当用户挑选了 A 然后又切换到 B 时,此刻 “选项B” 应该是被选中状况,而 “选项A” 应该是未被选中状况。
咱们要完成这样的效果。
想要完成这样的功用,需求凭借之前创立的两个变量。
一个是记载当时选项的大局变量,一个是位于选项上的局部变量。
接下来,咱们来看一下选项被点击的逻辑。
在选项被点击的逻辑中只需求重视红框框出的两个积木块,榜首块将当时点击选项的局部变量“选项”设置给了大局变量“大局-当时选项”,接着向一切的选项发送了一个“改写选项”的告诉。
接着,看一下“改写选项”的告诉是怎么被处理的。
一切的 4 个选项都会接纳并处理这个“改写选项”的告诉,这儿咱们依据“大局-当时选项”的值来判别当时用户挑选的是哪个选项,假如持平的话,就把当时挑选的选项设置为蓝色,不然的话就设置为白色。
多选题答题处理
关于多选题来讲,能够同时挑选多个选项,关于其间的一个选项来讲,咱们只需求关怀它是否被选中即可,无需关怀其他选项的状况。
多选题答题的效果是这样的。
首要,咱们为选项创立一个局部变量。
这个“已选中”局部变量的作用是记载当时的选项是否被选中了。
接着,来看一下多选题的按钮点击的积木逻辑。
非常的简单,假如当时未被选中的话,就将按钮设置为蓝色,然后设置自己为选中状况,假如现已选中了话,就将自己还原为白色,然后设置自己为未选中状况。
记载玩家的答题数据
这个答题小程序的答题流程是这样的:用户先进行答题,当一切标题答复完毕后,点击提交,最终显现答题成果。由于成果是在提交之后才进行比对的,所以在答题的过程中,就需求对用户的答题数据进行记载,哪一题挑选了哪个选项,把一切的标题以及用户的答题数据悉数记载下来,用于最终的成果比对。
怎么记载用户的答题数据呢?仍是用表格,这儿咱们创立了第三个表格——玩家答题选项表,专门用于记载玩家的答题数据。
如图,这个表格包括两列,榜首列是标题编号(还记得之前讲过的标题编号吗?依据这个标题编号能够在题库中找到那个唯一的标题),第二列是玩家选项,也就是对当时标题的答复情况。假如是单选题的话,包括 1 个字符,假如是多选题的话会包括 1 个或多个字符。
接下来,咱们来看一下怎么完成玩家答题数据的记载。
单选题答题记载
单选题的答题记载比较简单,由于只需求记载一个字符,所以能够直接依据用户当时的选项,设置一下表格第二列的项即可。
看一下单选题点击的积木逻辑。
要点重视红线框出的两个积木块,榜首个积木块设置玩家答题选项表的榜首列,即当时答复的标题编号,留意这儿咱们运用的“大局-选题列表项”这个变量访问的指定的行,这个变量中记载的是当时答复的是第几题。第二个积木块是将当时挑选的“选项”设置到第二列的玩家选项中。能够对照着上方的玩家答题选项表格,再看一下这两块设置的积木,理解一下。
多选题答题记载
关于多选题答题的记载就比较复杂了,由于多选题的答案或许包括多个字符,例如当时玩家挑选了 ABC,觉得不对,又改成了 ACD,此刻,咱们就需求将表格中记载的本来的答案 ABC 修改成 ACD了。这个需求运用到一些与处理字符有关的积木块,假如你对与字符有关的积木块还不是很熟悉的话,能够借此好好的了解一下。
咱们在上方讲过,多选题的每个选项有两种状况,一种是选中状况,一种是未选中状况。这两种状况下记载的逻辑是不同的。
咱们先来看一下选项由未选中变为选中状况,例如咱们当时挑选了 AB,现在要增加一个选项 C,此刻关于字符的操作是拼接处理,将本来的“AB”拼接上一个“C”。
这儿留意咱们在拼接前判别了“玩家答题选项表”的第二列的对应值是否为 0 ,由于表格无法在游戏中进行动态的创立,所以咱们需求预先为“玩家答题选项表”填写内容,默认悉数填上 0,这儿做一个判别,假如当时值为 0 ,就运用一个空字符然后拼接上当时的选项。
接着再来看一下选项由选中变为未选中状况, 例如当时挑选了 ABCD,现在要将其间的 C 选项撤销,变为 ABD,此刻字符的操作是删去处理,将本来“ABCD”中的“C”删去掉,变为“ABD”。
很可惜在微信小游戏制作东西中并没有能够直接删去字符串中的某个字符的积木块,可是,咱们能够运用其它的几个积木块搭配来共同完成这个功用。
如图,当时需求移除字符“C”,咱们能够取出 C 之前的字符“AB”,然后再取出 C 之后的字符“D”,然后将它们拼接起来,就相当于删去了其间的“C”。
为了完成删去字符串中某个字符,咱们需求凭借下面的四个与字符有关的积木块。
然后以下面的这种方法来完成从“abcd”删去字符“c”的功用。
最终,来看一下撤销选项的积木处理。
从字符串中移除一个字符的积木太长了,这儿没有显现全,可是咱们上方现已讲过了其完成原理了,就不再赘述了。
总结一下,咱们了解了单选题和多选题的答题处理,而且运用了一个新的表格“玩家答题选项表”记载了玩家的答题数据。在记载玩家答题数据时,关于多选题的记载是一个难点,其间包括了很多关于字符串的操作,虽然东西没有给咱们供给现成的删去字符串中的某个字符的功用,可是咱们仍是能够运用一些基本的操作组合来完成这个功用。
下一节,咱们将继续共享答完题后怎么对一切的标题进行答案比对,以及怎么完成一个对一切已答标题的回顾功用。
我是会做游戏也会教你做游戏的小蚂蚁,欢迎重视公众号【小蚂蚁教你做游戏】,学习更多与游戏开发有关的原创教程。
也欢迎交个朋友,vx:xiaomayi6669
假如文章内容对你有所帮助的话,欢迎点赞共享,你的鼓舞对我来说价值巨大,感谢!