查看: 2180|回复: 11

自制的物品,判断个数的问题

  [复制链接]
梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
回帖
1992
发表于 2008-4-9 22:23:54 | 显示全部楼层 |阅读模式

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

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

×
自制的一个背包用来放ITEM的,用$ITEMS 来保存
Marshal.dump($ITEMS, file)
$ITEMS = Marshal.load(file)
能正常的保存和读取数据

想实现的是,所带的物品一样不能超过三个,所以写了这样个脚本
  def same_san(item)
    zu = $ITEMS
    for i in 0...zu.size
      if item == zu
        for j in i+1...zu.size
          if item == zu[j]
            for k in j+1...zu.size
              if item == zu[k]
                return 3    #3个相同
              end
            end
            return 2    #2个相同
          end
        end
        return 1    #1个相同
      end
    end
    return 0    #0个相同
  end

每次往背包里放东西都判断
if $game_party.item_number(@alllist_window.item.id) - same_san(@alllist_window.item) > 0 and same_san(@alllist_window.item) != 3
也就是实际拥有数量大于背包里携带数量并且背包里数量不等于三的时候,才能执行向背包放东西。这段代码在不保存读取的时候能正常执行,但是保存在读取后,即使背包里有相同的三个ITEM,又还能在放入三个ITEM。
测试了下刚读取进度的时候,same_san的所有返回值都是 0
但是背包里物品都是正常显示的,也就是$ITEMS的值是能正常读取的,不为空
帮忙分析下,是什么原因????
版务信息:本贴由楼主自主结贴~
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

精灵族の天使<

梦石
0
星屑
1712
在线时间
3039 小时
注册时间
2007-3-16
回帖
33092

开拓者贵宾

发表于 2008-4-9 22:28:07 | 显示全部楼层
自我屏蔽之……
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
0 小时
注册时间
2008-2-18
回帖
1385
发表于 2008-4-9 22:40:47 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
回帖
1992
 楼主| 发表于 2008-4-9 22:41:23 | 显示全部楼层
咋处理来?不懂了
我是学着柳柳的那个音量控制的脚本存数据的。
也是初始化$BGM
然后在SAVE和LOAD里加 Marshal.dump($BGM, file)和$BGM = Marshal.load(file)
好象也没什么别的处理啊?
请教
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复

使用道具 举报

精灵族の天使<

梦石
0
星屑
1712
在线时间
3039 小时
注册时间
2007-3-16
回帖
33092

开拓者贵宾

发表于 2008-4-9 23:23:24 | 显示全部楼层
理解错了,先自我屏蔽一下……
看来你知道怎么储存$ITEM的了。
循环看着似乎很麻烦,那是个数组么?
我建议你使用p检查一下里面的中间值,看看是否有什么改变。如果有改变,请把中间值也储存起来。
@alllist_window.item
和
@alllist_window.item.id
你检查一下那个是否有异常。
你的这个算法似乎是正确的。 [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
回帖
2407

第1届Title华丽大赛新人奖

发表于 2008-4-10 00:49:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

梦石
0
星屑
60
在线时间
41 小时
注册时间
2008-3-5
回帖
1992
 楼主| 发表于 2008-4-10 02:29:49 | 显示全部楼层
对,是个数组
当我第一次往背包里放3个物品之后,能正确的判断已经有三个了,不能在放了.
按B键退出后,再进去页面,也是正常的
但是惟独保存\读档后,再进到这个页面,same_san的返回就变成0了,又能再放三个物品进去
你它囧一字母君谁记得……
当时那把剑离我的喉咙只有0.01工分。可是一柱香之后,这个女主人会深深的爱上我,虽然本人平生说了无数的谎话,可是这句最有效:“你应该这么做,我也应该死。
曾经有一取ID的机会放在我面前,我没有珍惜,等我失去的时候我才后悔莫及,人世间最痛苦的事莫过于此。你的剑在我的咽喉上割下去吧!不用再犹豫了!如果上天能够给我一个再来一次的机会,我绝对会取个汉字君。如果非要给这ID加点修饰的话,我希望是……红色加粗……

回复

使用道具 举报

精灵族の天使<

梦石
0
星屑
1712
在线时间
3039 小时
注册时间
2007-3-16
回帖
33092

开拓者贵宾

发表于 2008-4-10 04:51:42 | 显示全部楼层
那就是某些变量没有保存下来罗?
你放完以后,检查一下各自变量的情况,还有读档以后的变量情况。
没有保存的变量读档以后返回0
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
回帖
2407

第1届Title华丽大赛新人奖

发表于 2008-4-10 05:11:13 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
46
在线时间
10 小时
注册时间
2007-5-27
回帖
2407

第1届Title华丽大赛新人奖

发表于 2008-4-10 05:19:09 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部