找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2123|回复: 3

[已解决] 如何实现选项随机化并且选择某项时增加好感度

[复制链接]
发表于 2022-3-3 00:39:49 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 mist513 于 2022-3-3 22:20 编辑

小白新入坑,看了好久的各类教程都没搞明白,大致思路如下:
有两个选项,每一个选项都是随机出现,如“选项1”(可爱,美丽,优雅其中一个)“选项2”(可爱,美丽,优雅其中一个),并且在选择其中一个选项时增加人物的好感度

请求大佬解答!!
发表于 2022-3-3 20:02:55 | 显示全部楼层
这是python基础(
随便写的:
[RenPy] 纯文本查看 复制代码
label start:

    python:
        flag_value = 0  # 好感度
        choice_list = [('可爱', 1), ('美丽', 0), ('优雅', 2)]
        def get_choice(num, choice_list):
            if num >= len(choice_list):
                return choice_list

            re = []
            for i in range(num):
                x = renpy.random.choice(choice_list)
                while x in re:
                    x = renpy.random.choice(choice_list)
                re.append(x)

            return re


    'xxx' 'balabala~'

    $ x = menu(get_choice(2, choice_list), interact=True, screen="choice")
    $ flag_value += x

    'xxx' '当前好感度为:[flag_value]'

    $ x = menu(get_choice(2, choice_list), interact=True, screen="choice")
    $ flag_value += x

    'xxx' '当前好感度为:[flag_value]'

评分

参与人数 1活力 +120 干货 +1 收起 理由
被诅咒的章鱼 + 120 + 1 感谢解答!

查看全部评分

回复 支持 1 抱歉 0

使用道具 举报

 楼主| 发表于 2022-3-3 22:20:16 | 显示全部楼层
Lost 发表于 2022-3-3 20:02
这是python基础(
随便写的:
[mw_shl_code=renpy,true]label start:

感谢大佬!!一直在找教程但都是教随机事件的
回复 支持 抱歉

使用道具 举报

发表于 2022-3-4 09:10:38 | 显示全部楼层
get_choice函数可以做点改进。为了保证每次从 choice_list 选取的元素都不同,沙发用while循环检查是否在已选取元素列表 re 中,如果已存在则使用 renpy.random.choice 函数再次选取。这样可能存在“多次随机选取的元素都已经在 re 列表中”的情况,浪费性能(特别是在入参 num 比choice_list 略小时)。

优化方法很简单,不在选取元素时引入随机性,而是提前打乱整个列表,然后顺序选取即可:
[RenPy] 纯文本查看 复制代码
init python:
    flag_value = 0 # 好感度
    choice_list = [('可爱', 1), ('美丽', 0), ('优雅', 2)]
    def get_choice(num, choice_list):
        if num >= len(choice_list):
            return choice_list

        renpy.random.shuffle(choice_list)
        re = []
        for i in range(num):
            re.append(choice_list[i])

        return re
回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 09:17 , Processed in 0.131634 second(s), 30 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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