Project1

标题: 关于随机选择问题提问 [打印本页]

作者: zl245479821    时间: 2012-7-24 22:20
标题: 关于随机选择问题提问
想设置一个考官,随机从已写好的问题中抽取并提问,但是问题太多,该怎么设置? [qq]245479821[/qq]dsu_plus_rewardpost_czw
作者: 步兵中尉    时间: 2012-7-24 23:07
这个简单。
1、确立一个变量,然后在“变量操作”里选择随机数,然后选择1~?(?代表你的题术,例如你将会准备10个问题,那么?就写10)
2、选择“条件分歧”,第一页选变量相等,之后“常量”处填写1
3、符合条件的填写第一个问题,不符合的看下一步。
4、重复2号步骤, “常量”那里填2,重复3号步骤,之后一次类推。
作者: 黑色的笔    时间: 2012-7-24 23:19
题目可以循环出吗?每次都随机吗?一次要多少题目?
作者: zl245479821    时间: 2012-7-25 06:51
步兵中尉 发表于 2012-7-24 23:07
这个简单。
1、确立一个变量,然后在“变量操作”里选择随机数,然后选择1~?(?代表你的题术,例如你将会 ...

大约有200多个问题,你想累死我吗。。。。。(不能用脚本吗,那位大神救救我啊。。。)


‘‘──zl245479821于2012-7-25 06:52补充以下内容:

嗯,每次都随机,大约200多个
’’
作者: 步兵中尉    时间: 2012-7-25 09:31
不管怎么样,你也得打200道题进去不是?
作者: hys111111    时间: 2012-7-25 10:43
  1. module RPG
  2.   class Question
  3.     def initialize
  4.       @name = "" #题目名称
  5.       @choose = [] #选项
  6.       @right = 0 #正确选项(0,1,2,3,更多)
  7.     end
  8.     attr_accessor :name
  9.     attr_accessor :choose
  10.     attr_accessor :right
  11.   end
  12. end
  13. class Game_Question
  14.   attr_reader :question
  15.   def initialize
  16.     @question = []
  17.    
  18.     @question[0] = RPG::Question.new
  19.     @question[0].name = "一加一等于多少?"
  20.     @question[0].choose[0] = "一"
  21.     @question[0].choose[1] = "二"
  22.     @question[0].choose[2] = "十一"
  23.     @question[0].right = 1
  24.    
  25.     @question[1] = RPG::Question.new
  26.     @question[1].name = "你是猪吗?"
  27.     @question[1].choose[0] = "是"
  28.     @question[1].choose[1] = "不是"
  29.     @question[1].right = 0
  30.    
  31.     @question[2] = RPG::Question.new
  32.     @question[2].name = "天上掉下一张脸,你要不要"
  33.     @question[2].choose[0] = "要"
  34.     @question[2].choose[1] = "不要"
  35.     @question[2].choose[2] = "要一半"
  36.     @question[2].right = 2
  37.    
  38.     @question[3] = RPG::Question.new
  39.     @question[3].name = "下列侵犯生命健康权的是"
  40.     @question[3].choose[0] = "杀人"
  41.     @question[3].choose[1] = "抄袭"
  42.     @question[3].right = 1
  43.   end
  44. end
  45. class Scene_Question
  46.   def main
  47.     @question = nil
  48.     # 执行过渡
  49.     Graphics.transition
  50.     # 主循环
  51.     loop do
  52.       # 刷新游戏画面
  53.       Graphics.update
  54.       # 刷新输入信息
  55.       Input.update
  56.       # 刷新画面
  57.       update
  58.       # 如果切换画面就中断循环
  59.       if $scene != self
  60.         break
  61.       end
  62.     end
  63.     # 准备过渡
  64.     Graphics.freeze
  65.     # 释放窗口
  66.     p "你忘了设置答题结束的场合了"
  67.   end
  68.   def update
  69.     if @question == nil
  70.       @question = rand(Game_Question.new.question.size)
  71.       @command_window = Window_Command.new(192, Game_Question.new.question[@question].choose)
  72.       @command_window.back_opacity = 160
  73.       @command_window.x = 320 - @command_window.width / 2
  74.       @command_window.y = 288
  75.       @window_name = Window_Question_Name.new(@question)
  76.       Graphics.transition
  77.     end
  78.     @command_window.update
  79.     @window_name.update
  80.     if Input.trigger?(Input::C)
  81.       if @command_window.index == Game_Question.new.question[@question].right
  82.         p "你忘了设置正确的场合了"
  83.       else
  84.         p "你忘了设置错误的场合了"
  85.       end
  86.       @question = nil
  87.       @command_window.dispose
  88.       @window_name.dispose
  89.       return
  90.     end
  91.     if Input.trigger?(Input::B)
  92.       $scene = Scene_Map.new
  93.       return
  94.     end
  95.   end
  96. end
  97. class Window_Question_Name < Window_Base
  98.   def initialize(id)
  99.     super(0,0,640,480)
  100.     @name = Game_Question.new.question[id].name
  101.     self.contents = Bitmap.new(width - 32, height - 32)
  102.     refresh
  103.   end
  104.   def refresh
  105.     self.contents.clear
  106.     self.contents.font.color = normal_color
  107.     self.contents.draw_text(0,0,640,32,@name,1)
  108.   end
  109. end
复制代码
……





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1