找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 393|回复: 5

[已解决] 生日那天开始游戏有生日剧情的教程

[复制链接]
发表于 2023-10-3 18:14:55 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 被诅咒的章鱼 于 2023-10-7 08:55 编辑

[RenPy] 纯文本查看 复制代码
init python:
    class Birthday(object):
        def __init__(self):
            if persistent.user_birthday:
                self.birthday = persistent.user_birthday
            else:
                self.birthday = None

            self.condition = False

        def check_birthday(self):
            if self.condition == False:
                return None
            from datetime import date
            today = date.today()

            if not self.birthday:
                return

            month = int(self.birthday[1])
            day = int(self.birthday[2])

            if month == today.month and day == today.day:
                return True
            else:
                return False

        def get_birthday(self, info):
            from re import findall

            try:
                res = findall(r'(\d+)-(\d+)-(\d+)', info)[0]
            except IndexError:
                return False
            else:
                persistent.user_birthday = res
                return True


define e = Character("艾琳啦啦啦啦啦来来来")

# 游戏在此开始。

label start:

    default birthday = Birthday()
    scene bj jjjj
#bj jjjj是我的图片

    if not persistent.user_birthday:
        python:
            info = renpy.input("「请输入您的生日,示例:2008-5-17」")
            res = birthday.get_birthday(info)

        if res:
            play music "haevy_rain_loop.ogg" fadeout 1

            show srxg jjjj
            e "设置成功"
            label ff:#这里是第一次输入生日之后开始的剧情,我将它设置成了日常的剧情
                e "设置成功"
                e "你好啊,小主人"
                "........"
                "明明在监狱里,等着我解救呢"
                "语气真是高高在上呢,换一个执事吧?"
                menu:
                 "换":
                  jump ba
                 "不换":
                  jump ca
                label ba:
                    "面前的血不见了,取而代之的是另一个东西"
                    "还是一滩血"
                return
#

                label ca:
                    "他看起来长吁了一口气,放松了下来"
                    e "感谢主人放过我,我绝对不会再犯低级的错误"
                return
#以下都是第二次及以后开始游戏时会执行的剧情

    $ birthday.condition = True
    # 当玩家达成条件时,就使用上一行代码
    if birthday.check_birthday():
        scene zxd jjjj
        show xg jjjj
#生日剧情只写了一句
        e "生日快乐"
    else:
#第二次进行游戏,判定当天不是生日,会进行普通的剧情
        label dd:
            scene ljbj jjjj
            show srxg jjjj
            e "设置成功"
            e "你好啊,小主人"
            "........"
            "语气真是高高在上呢,换一个执事吧?"
            menu:
             "换":
              jump da
             "不换":
              jump la
            label da:
                "面前的血不见了,取而代之的是另一个东西"
                show xg jjjj
                "还是一滩血"
            return

            label la:
                "他看起来长吁了一口气,放松了下来"
                e "感谢主人放过我,我绝对不会再犯低级的错误"
            return

    # 此处为游戏结尾。

    return



 楼主| 发表于 2023-10-3 18:28:03 | 显示全部楼层
功能就很简单了,玩家第一次输入生日,游戏会将它永久存储起来,不能更改,在第二次开始游戏时,会判断当天是不是你的生日,再决定要不要进行生日剧情。是就进行,不是就会进行普通剧情。一个有点生日贺卡一样的功能吧。(希望这个站里多出一些现成的代码)
回复 支持 抱歉

使用道具 举报

发表于 2023-10-4 06:07:20 | 显示全部楼层
本帖最后由 Furau 于 2023-10-4 06:10 编辑

写的很好 可以上传工程还有代码高亮来方便别人阅读

                               
登录/注册后可看大图

回复 支持 抱歉

使用道具 举报

发表于 2023-10-5 21:59:07 | 显示全部楼层
功能部分实现作者来冒个泡
回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2023-10-14 10:55:41 | 显示全部楼层
本帖最后由 孙硕屏 于 2023-10-14 11:13 编辑
ZYKsslm 发表于 2023-10-5 21:59
功能部分实现作者来冒个泡

对,有问题的来找他就可以。




回复 支持 抱歉

使用道具 举报

 楼主| 发表于 2023-10-14 11:00:22 | 显示全部楼层
Furau 发表于 2023-10-4 06:07
写的很好 可以上传工程还有代码高亮来方便别人阅读

嗯,好的,花20找人写的啦,谢谢建议,第一次发帖
回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 11:59 , Processed in 0.109757 second(s), 25 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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