找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 13491|回复: 3

[已解决] 如何实现随机范围内的变量不重复

[复制链接]
发表于 2020-3-15 20:05:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

×
$randomchoice = renpy.random.randint(1, 100)
randomchoice这个变量从1-100里随机选一个值
然后我想下一次回到这个变量赋值的时候,不再选到重复的值,就是说
100次一定能把这100个变量不带重复地选完,该怎么设计啊

目的是设计100个编好号的事件,每一天都会触发不同的事件,避免重复事件发生的情况...但实在怎么写list都好像理解错了

有没有大佬能帮忙啊_(:з」∠)_
发表于 2020-3-15 20:27:27 | 显示全部楼层
这种不适用选择随机数,而是应该从列表里选择,被选择过后将该数字从列表中移除,以后就不会再抽到重复的

$newlist = list(range(1,101))  #使用python内置函数创建一个由1~100的整数组成的列表,101不会被选到
$newnumber = renpy.random.choice(newlist)#从刚才定义好的newlist里选择一个数字
$newlist.remove(newnumber)##把刚才随机到的数字从列表里移除

评分

参与人数 1干货 +2 收起 理由
BuErShen + 2 版区有你更精彩(*^_^*)

查看全部评分

回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2020-3-15 20:45:24 | 显示全部楼层
yume513 发表于 2020-3-15 20:27
这种不适用选择随机数,而是应该从列表里选择,被选择过后将该数字从列表中移除,以后就不会再抽到重复的

...

我按照您说的试了一下...
报错说 newlist没有被定义...
[RenPy] 纯文本查看 复制代码
default hot = "20"
default day = "1"
$newlist = list(range(1,11))






screen aaa():

    frame:
        xpos 1050
        ypos 0
        text "第[day]天 电台热度:[hot]"




label daymode:

    show screen aaa
    with dissolve

    "已经显示了,金币界面(screen)"
    $newnumber = renpy.random.choice(newlist)
    "随机数来了[newnumber]"
    $newlist.remove(newnumber)
    jump shijian





label shijian:
           "1111"
           jump daymode
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2020-3-15 20:52:33 | 显示全部楼层
yume513 发表于 2020-3-15 20:27
这种不适用选择随机数,而是应该从列表里选择,被选择过后将该数字从列表中移除,以后就不会再抽到重复的

...

啊啊啊啊啊  我搞定了 我忘记default 这个list了!
谢谢 谢谢 原来不是随机数啊
得救了 谢谢大佬
回复 支持 抱歉

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|RenPy中文空间 ( 苏ICP备17067825号|苏公网安备 32092302000068号 )

GMT+8, 2024-3-19 15:33 , Processed in 0.032537 second(s), 13 queries , File On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表