赞 | 406 |
VIP | 0 |
好人卡 | 11 |
积分 | 390 |
经验 | 242285 |
最后登录 | 2024-11-15 |
在线时间 | 5717 小时 |
Lv5.捕梦者
- 梦石
- 0
- 星屑
- 39016
- 在线时间
- 5717 小时
- 注册时间
- 2006-11-10
- 帖子
- 6619
|
本帖最后由 灯笼菜刀王 于 2012-8-7 10:17 编辑
z121310 发表于 2012-8-6 12:20
难道随机指定数字,要用变量里的随机数?我是想随机出现不同符号与运算结果……不仅是6. ...
那也不难~ 只要用随机数case就行了,, 就是有点麻烦,以及可能会出现不能解答的情况 -v-
事件设置起来太麻烦了,直接上脚本- -...- class Interpreter
- def suanshu(he1 = 0,he2 = 1,vi = 1,si = 1)
- $textis = rand(15)
- $vi = vi
- $si = si
- case $textis
- when 0
- text = "□+□+□="
- when 1
- text = "□+□-□="
- when 2
- text = "□+□X□="
- when 3
- text = "□+□÷□="
- when 4
- text = "□-□+□="
- when 5
- text = "□-□-□="
- when 6
- text = "□-□X□="
- when 7
- text = "□-□÷□="
- when 8
- text = "□X□+□="
- when 9
- text = "□X□-□="
- when 10
- text = "□X□X□="
- when 11
- text = "□X□÷□="
- when 12
- text = "□÷□+□="
- when 13
- text = "□÷□-□="
- when 14
- text = "□÷□X□="
- when 15
- text = "□÷□÷□="
- end
- j = []
- for i in he1..he2
- j.push i
- end
- $kyri = j[rand(j.size)]
- @message_waiting = true
- $game_temp.message_proc = Proc.new { @message_waiting = false }
- $game_temp.message_text = "在三个□里填上数字使等式成立" + "\n"
- $game_temp.message_text += text + $kyri.to_s + "\n"
- $game_temp.num_input_start = 2
- $game_temp.num_input_variable_id = vi
- $game_temp.num_input_digits_max = 3
- $game_switches[$si] = false
- return
- end
- def suanshu1
- a = $game_variables[$vi] / 100
- b = $game_variables[$vi] % 100 / 10
- c = $game_variables[$vi] % 10
- case $textis
- when 0
- k = a + b + c
- when 1
- k = a + b - c
- when 2
- k = a + b * c
- when 3
- k = a + b / c if c != 0
- when 4
- k = a - b + c
- when 5
- k = a - b - c
- when 6
- k = a - b * c
- when 7
- k = a - b / c if c != 0
- when 8
- k = a * b + c
- when 9
- k = a * b - c
- when 10
- k = a * b * c
- when 11
- k = a * b / c if c != 0
- when 12
- if b != 0
- k = a / b + c
- end
- when 13
- k = a / b - c if b != 0
- when 14
- k = a / b * c if b != 0
- when 15
- k = a / b / c if b != 0 and c != 0
- end
- $game_switches[$si] = true if k == $kyri
- $game_variables[$vi] = 0
- end
- end
复制代码 插到main前面就可以了, 要使用的时候在事件脚本输入 suanshu(答案A,答案B,输入数值用的变量ID,最后结果的开关ID) 答案A和B是两个数字, 表示等式的运算结果会在这两个数字之间的数随机抽一个. 比如,suanshu(9,18) 那等式的运算结果就可能是9...18之间的数, 使用的是1号公共变量和1号开关,
设置方法
脚本 suanshu(2,3)
公共事件(公共事件里就一句脚本"suanshu1")
条件分歧 开关X打开的时候
最后得到的结果是正确的话,会打开"公共开关[si]号" , 默认1号, 然后可以用这个开关分歧,做奖金事件什么的就行了
至于为什么要用公共事件, 因为我发现不能写在一起 否则会直接判断原来变量的值而不是输入后的值, 只用用公共事件把判断句分开,这样才能判断输入的数值.先这样用着XD,等我找个方法在一段里可以区分再合并一起 = =..
|
评分
-
查看全部评分
|