查看: 5713|回复: 11

[已经解决] 关于xp背单词的脚本移植va并改进问题

[复制链接]
梦石
0
星屑
50
在线时间
139 小时
注册时间
2014-6-12
回帖
110
发表于 2014-6-22 22:20:20 | 显示全部楼层 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有账号?注册会员

×
本帖最后由 situkei 于 2014-6-22 22:25 编辑

需要大神帮忙看看,
把柳柳xp经典的背单词改进下,还是能从txt里读取题库,但是判断的方式改进下
这个是参考的背单词软件截图,已放在附件中了,
问题从txt中随机抽取

12

12

这个是我需要改进的范例,也放入附件中了
新建位图图像.jpg
还有题库样式,也可以稍加改变,方便简洁好维护为主,
答案要在选项中随机排列不能每次相同,问题下面的第一的为正确答案
新建位图图像1.jpg

需要的附件包 新建文件夹.zip
115网盘礼包码:5lbd8ibeb6u9
http://115.com/lb/5lbd8ibeb6u9

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2014-6-22 23:39:21 | 显示全部楼层
本帖最后由 喵呜喵5 于 2014-6-23 00:07 编辑

第一步
插入脚本,
  1. def read_txt
  2.   @file = []
  3.   @next_question = true  
  4.   IO.foreach("Text.txt") do |line|
  5.     text = line.chomp.gsub("\xEF\xBB\xBF", "")
  6.     if text == ""
  7.       @next_question = true
  8.     else
  9.       if @next_question
  10.         @file.push([text])
  11.         @next_question = false
  12.       else
  13.         @file[-1].push(text)
  14.       end
  15.     end
  16.   end
  17.   $m5_question = @file
  18. end
  19. read_txt if true
  20. class Game_Interpreter
  21.   def chouti(question,answer,amount,*var)
  22.     temp = $m5_question.sample   
  23.     $game_variables[question] = temp[0]
  24.     $game_variables[answer]   = temp[1]
  25.     $game_variables[amount]   = temp.size - 1
  26.     var.shuffle!
  27.     temp.each_with_index do |wrong,index|
  28.       next if index < 2
  29.       var_id = var[index-2]
  30.       $game_variables[var_id] = wrong if var_id
  31.     end
  32.   end
  33. end
复制代码


第二步
在事件中的脚本指令中输入
  1. chouti(一连串的变量的ID,用英文的逗号分隔)
复制代码


第三步
执行事件,
第一个ID对应的变量的值变成题目的内容
第二个ID对应的变量的值变成正确的答案
第三个ID对应的变量的值变成答案的总数
剩下的ID对应的变量的值变成其余的错误答案(错误答案的个数超过你给出的变量ID的数目的话,多出来的那些错误答案将被忽略)


第四步
在显示文字、显示选项中使用
  1. \v[变量的ID]
复制代码
来显示对应变量的内容


其余的说明
你可能用的上这个脚本
自动换行 https://rpg.blue/home.php?mod=sp ... o=blog&id=11571
题库的名字为Text.txt,文档编码为UTF-8,放在游戏的工程目录下
每道题的换行请直接使用回车,不要手贱多加几个空格什么的

点评

谢谢啊  发表于 2014-6-23 02:23

评分

参与人数 3星屑 +57 梦石 +1 收起 理由
taroxd + 2 + 1 卡先发了,你们继续聊
david_ng223 + 40 ↓ 為什麼是32? ↓
VIPArcher + 15 给你32个赞

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
139 小时
注册时间
2014-6-12
回帖
110
 楼主| 发表于 2014-6-23 02:22:24 | 显示全部楼层
喵呜喵5 发表于 2014-6-22 23:39
[fold=第三步]
执行事 ...

执行事件,
第一个ID对应的变量的值变成题目的内容
第二个ID对应的变量的值变成正确的答案
第三个ID对应的变量的值变成答案的总数
剩下的ID对应的变量的值变成其余的错误答案(错误答案的个数超过你给出的变量ID的数目的话,多出来的那些错误答案将被忽
可能这部分我还是没理解透!

我的意思是想text.txt中正确答案是备选答案中的第一个。但在游戏中四个备选答案每次出现都会乱序,现可以用txt题库中的题了,但是备选答案不能自动乱序啊??估计是我事件写法写的不对 ?或者是不是不能用事件中的选项做了?得另外生成窗口?请喵呜喵5再帮我看看,万分感谢
新建位图图像.jpg

回复

使用道具 举报

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2014-6-23 02:39:34 | 显示全部楼层
situkei 发表于 2014-6-23 02:22
执行事件,
第一个ID对应的变量的值变成题目的内容
第二个ID对应的变量的值变成正确的答案

错误的选项会自动乱序,正确的选项你可以直接用事件中的随机数加上条件分支来做啊

点评

您也很辛苦啊,同样未眠啊  发表于 2014-6-23 03:22
兩位還未睡啊~~辛苦了~~  发表于 2014-6-23 02:45
回复

使用道具 举报

梦石
0
星屑
50
在线时间
139 小时
注册时间
2014-6-12
回帖
110
 楼主| 发表于 2014-6-23 03:22:04 | 显示全部楼层
本帖最后由 situkei 于 2014-6-23 03:48 编辑
喵呜喵5 发表于 2014-6-23 02:39
错误的选项会自动乱序,正确的选项你可以直接用事件中的随机数加上条件分支来做啊 ...


您还没睡啊?辛苦哈,您说的小的还是没有领悟啊,厚颜无耻的传上附件,您帮忙改下?辛苦啊
需修改的范例.zip
115网盘礼包码:5lbbkxvxucpw
http://115.com/lb/5lbbkxvxucpw

另外:这个脚本 https://rpg.blue/forum.php?mod=v ... F%E6%9C%BA%E6%8E%92   说的是选项随机排列,能加到我这个范列里吗?
回复

使用道具 举报

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2014-6-23 12:11:20 | 显示全部楼层
未命名.PNG

点评

已经解决,更改下帖子状态吧  发表于 2014-6-24 07:10
回复

使用道具 举报

梦石
0
星屑
50
在线时间
139 小时
注册时间
2014-6-12
回帖
110
 楼主| 发表于 2014-6-23 20:54:58 | 显示全部楼层
领悟的一瞬间,
彻底在风中凌乱了,
眼眶中溢满了泪水,
这是要我弄24个变量的节奏吗?


0        1        2        3        4        5        6        7        8        9        10        11
正确        正确        正确        正确        正确        正确        错1        错1        错1        错1        错1        错1
错1        错1        错2        错2        错3        错3        正确        正确        错2        错2        错3        错3
错2        错3        错3        错1        错1        错2        错2        错3        错3        正确        正确        错2
错3        错2        错1        错3        错2        错1        错3        错2        正确        错3        错2        正确

12        13        14        15        16        17        18        19        20        21        22        23
错2        错2        错2        错2        错2        错2        错3        错3        错3        错3        错3        错3
正确        正确        错1        错1        错3        错3        正确        正确        错1        错1        错2        错2
错1        错3        正确        错3        错1        正确        错1        错2        正确        错2        正确        错1
错3        错1        错3        正确        正确        错1        错2        错1        错2        正确        错1        正确

不过还是逐一写进去了,泪奔~~o(>_<)o ~~  笨鸟只能这样了!!

不过还是达成我想要的效果了,万分感谢,怎么发经验和好人卡啊?

点评

我在风中凌乱了......错误的选项会自动乱序,所以只要写四个就够了......  发表于 2014-6-24 11:09
回复

使用道具 举报

梦石
0
星屑
50
在线时间
139 小时
注册时间
2014-6-12
回帖
110
 楼主| 发表于 2014-7-2 00:43:11 | 显示全部楼层
本帖最后由 situkei 于 2014-7-2 00:49 编辑
喵呜喵5 发表于 2014-6-22 23:39
[fold=第三步]
执行事 ...


def read_txt
  @file = []
  @next_question = true  
  IO.foreach("text.txt") do |line|
    text = line.chomp.gsub("\xEF\xBB\xBF", "")
    if text == ""
      @next_question = true
    else
      if @next_question
        @file.push([text])
        @next_question = false
      else
        @file[-1].push(text)
      end
    end
  end
  $m5_question = @file
end
read_txt if true
class Game_Interpreter
  def chouti(question,answer,amount,*var)
    temp = $m5_question.sample   
    $game_variables[question] = temp[0]
    $game_variables[answer]   = temp[1]
    $game_variables[amount]   = temp.size - 1
    var.shuffle!
    temp.each_with_index do |wrong,index|
      next if index < 2
      var_id = var[index-2]
      $game_variables[var_id] = wrong if var_id
    end
  end
end

这个脚本真好用,我自己又学习改了几个变种,但是问题来了,我现在不止一个text文本,我还有text1,txt   text2,txt   text3,txt  text4,txt,     怎么能把文件名的变量在事件中带出来??我自己尝试着修改结果冲突报错,用修改脚本吗?
我有种思路您评判下?记得您有一个<事件脚本增强>可以突破事件脚本行数限制,我用那个脚本后再把上面的脚本复制到事件脚本中可以完美解决冲突报错的问题吧?
回复

使用道具 举报

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2014-7-2 00:47:25 | 显示全部楼层
situkei 发表于 2014-7-2 00:43
def read_txt
  @file = []
  @next_question = true  

你得先描述清楚你要实现的效果……
这几个txt有什么区别么?为什么不一起读取?
回复

使用道具 举报

梦石
0
星屑
50
在线时间
139 小时
注册时间
2014-6-12
回帖
110
 楼主| 发表于 2014-7-2 00:52:12 | 显示全部楼层
喵呜喵5 发表于 2014-7-2 00:47
你得先描述清楚你要实现的效果……
这几个txt有什么区别么?为什么不一起读取? ...

比如说text1是 数学选择题,text2是语文选择题,不同的事件触发不同的题库,不知道我描述的清楚吗?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部