需要数据库。存放题目和答案以及错误答案。
其他的都好写了。
------------------------------源码
.版本 2
.程序集 窗口程序集1
.程序集变量 单选框, 单选框, , "4"
.程序集变量 正确答案, 文本型, , , 记录正确答案
.子程序 _按钮答题_被单击, , , 判断问题以及清空
.局部变量 x, 整数型
.局部变量 答案, 文本型
.局部变量 记录正确数量, 整数型
.如果真 (单选框 [1].选中 ≠ 真 且 单选框 [2].选中 ≠ 真 且 单选框 [3].选中 ≠ 真 且 单选框 [4].选中 ≠ 真)
信息框 (“请先选择答案”, 0, )
返回 ()
.如果真结束
.计次循环首 (4, x)
.如果真 (单选框 [x].选中)
答案 = 单选框 [x].标题
跳出循环 ()
.如果真结束
.计次循环尾 ()
' 这里也需要读数据库里的当前题目的答案,用来判断与选择框里的答案是否相符,
.如果 (正确答案 = 答案)
记录正确数量 = 记录正确数量 + 1
标签2.标题 = “你一共答对” + 到文本 (记录正确数量) + “道题!”
.否则
信息框 (“你答错了,要努力哦!”, 0, )
.如果结束
' 不管对与错,都要继续出题。
.计次循环首 (4, x)
单选框 [x].选中 = 假
.计次循环尾 ()
出题 ()
.子程序 __启动窗口_创建完毕
单选框 [1] = 单选框1
单选框 [2] = 单选框2
单选框 [3] = 单选框3
单选框 [4] = 单选框4
置随机数种子 ()
' 窗口创建完毕,给予单选框赋值数组,方便后面调用。
.子程序 _按钮开始_被单击, , , 出题
出题 () ' 现在运行是会出错的,因为数据库没有打开。
.子程序 出题
.局部变量 a, 整数型, , , 记录随机数
.局部变量 x, 整数型
.局部变量 n, 整数型
' 这里要读写数据库里的内容了。比如我数据库里有1000条题目。我每次都是随机出的题目!
a = 取随机数 (1, 1000)
跳到 (a)
标签1.标题 = 读 (“题目”)
' 这里弄一个程序集的变量,正确答案,要调用的 。
正确答案 = 读 (“答案”)
x = 取随机数 (1, 4)
单选框 [x].标题 = 正确答案
.如果真 (x = 1)
.计次循环首 (3, n)
a = 取随机数 (1, 1000)
跳到 (a)
单选框 [n + 1].标题 = 读 (“答案”)
.计次循环尾 ()
.如果真结束
.如果真 (x = 2)
a = 取随机数 (1, 1000)
跳到 (a)
单选框 [1].标题 = 读 (“答案”)
.计次循环首 (2, n)
a = 取随机数 (1, 1000)
跳到 (a)
单选框 [n + 2].标题 = 读 (“答案”)
.计次循环尾 ()
.如果真结束
.如果真 (x = 3)
.计次循环首 (2, n)
a = 取随机数 (1, 1000)
跳到 (a)
单选框 [n].标题 = 读 (“答案”)
.计次循环尾 ()
a = 取随机数 (1, 1000)
跳到 (a)
单选框 [4].标题 = 读 (“答案”)
.如果真结束
.如果真 (x = 4)
.计次循环首 (3, n)
a = 取随机数 (1, 1000)
跳到 (a)
单选框 [n].标题 = 读 (“答案”)
.计次循环尾 ()
.如果真结束
' 这样写不完美, 会有可能出现重复的答案。其实直接也可以用一个大的循环全部循环、