找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 782|回复: 2

[课堂] 零基础班-作业1-快速起步

[复制链接]
发表于 2023-9-9 08:23:13 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 blackpineapple 于 2023-9-9 08:24 编辑

学习材料

请学习renpy官方文档的快速起步章节。
https://doc.renpy.cn/zh-CN/quickstart.html

作业
写一个简单的游戏。(不要直接从教程里抄代码,请改一改)
要求:
用character定义3个人物,并在脚本里使用他们。
使用旁白角色
在游戏中使用3个背景图,即背景图1,替换,背景图2,替换,背景图3
使用同一个角色的不同表情的立绘。
展示3个角色的立绘。
使用3个label。
使用2种转场。
让角色立绘出现在不同位置。
播放音乐,和停止音乐。
使用暂停pause语句
制作选择枝

选做:
通过不同的选择枝,获得不同的点数,最后根据点数获得不同的结局。
举例:玩家和一个可攻略角色聊天,通过不同的选择获得不同的好感度加成,1,2,3.
最后计算好感度总分,获得不同结局,比如3个结局。


作业格式
请大家在下面回帖,内容包括:
代码
运行截图
提问 (如果有问题)



发表于 2023-9-9 14:52:05 | 显示全部楼层
本帖最后由 冰见蜉蝣笙 于 2023-9-9 17:54 编辑

[RenPy] 纯文本查看 复制代码
define xingye = Character('星野', color="#b75598")
define meiyou = Character('美游', color="#27a8d3")
define gongzi = Character('宫子', color="#044ab2")
define rifumei = Character('日富美', color="#bfc42b")
define pangbai = Character('', color="#bfc42b")
define sensei = Character('', color="#000000")
define baizi = Character('白子', color="#01d5ff")
#角色立绘震动(可以直接cv)
init:

    python:
    
        import math

        class Shaker(object):
        
            anchors = {
                'top' : 0.0,
                'center' : 0.5,
                'bottom' : 1.0,
                'left' : 0.0,
                'right' : 1.0,
                }
        
            def __init__(self, start, child, dist):
                if start is None:
                    start = child.get_placement()
                #
                self.start = [ self.anchors.get(i, i) for i in start ]  # central position
                self.dist = dist    # maximum distance, in pixels, from the starting point
                self.child = child
                
            def __call__(self, t, sizes):
                # Float to integer... turns floating point numbers to
                # integers.                
                def fti(x, r):
                    if x is None:
                        x = 0
                    if isinstance(x, float):
                        return int(x * r)
                    else:
                        return x

                xpos, ypos, xanchor, yanchor = [ fti(a, b) for a, b in zip(self.start, sizes) ]

                xpos = xpos - xanchor
                ypos = ypos - yanchor
                
                nx = xpos + (1.0-t) * self.dist * (renpy.random.random()*2-1)
                ny = ypos + (1.0-t) * self.dist * (renpy.random.random()*2-1)

                return (int(nx), int(ny), 0, 0)
        
        def _Shake(start, time, child=None, dist=100.0, **properties):

            move = Shaker(start, child, dist=dist)
        
            return renpy.display.layout.Motion(move,
                          time,
                          child,
                          add_sizes=True,
                          **properties)

        Shake = renpy.curry(_Shake)
    #

#
init:
    $ sshake = Shake((0, 0, 0, 0), 1.0, dist=15)
# 直接调用就用这条指令: show 图片名字 at Shake((0.5, 1.0, 0.5, 1.0), 1.0, dist=5)

#白子的好感度
default Baizi = 0
define BaiziBool = 0

# 游戏在此开始。

label start:
scene 学校门口
pangbai "请选择游玩的视角。"
menu:#选项一:视角选择
    "sensei的视角":
        $ x = 1
    "学生们的视角":
        $ x = 2
if x == 1:
    pangbai "这里讲述了sensei和白子在办公室里的故事。"
    jump bangongshi     
if x == 2:
    pangbai "这里讲述了星野,美游,宫子,日富美四人的海边旅游故事。"
    jump haibianlvyou

label bangongshi:
play music "audio/BGM/Walkthrough.flac"
show 办公室 with dissolve
pangbai "sensei的办公室里————"
sensei "今天是你值班啊,白子。"
show 白子 with dissolve
show 白子 at Shake((0.5, 1.0, 0.5, 1.0), 0.5, dist=6)
pangbai "我看向打开的办公室门,白子正一遍擦着汗一边走进来,看来是刚刚骑车过来吧?"
baizi "嗯,上午好,老师,今天有什么任务要交给我呢?"
sensei "额,其实也没什么啦,你看这里有一些文件,你按照分类整理好就行。"
baizi "看上去是按照颜色分类的?"
sensei "嗯,很简单对吧,快弄吧。哦,先帮我接杯水吧?或者你休息一下也可以,应该很热吧?"
baizi "好。老师说叫我怎么做,我就先干什么。"
pangbai "白子冲我微微一笑,脸颊上的汗流了下来。"
sensei "其实我觉得你应该先————"
menu:#选项二:白子的行动
    "先休息一下吧":
        $ x = 1
        $ Baizi = Baizi + 1
    "先整理文件吧":
        $ x = 2
if x == 1:
    sensei "先休息一下吧。"
    pangbai "看白子流那么多汗,想必刚刚骑车过来也很热很累吧,还是休息一下比较好"
    pangbai "反正也没什么要紧事情。不如先让她休息一会儿吧,还可以和白子聊聊天,等和白子聊完再干活也不迟。"
    jump xiuxi
if x == 2:
    sensei "先整理文件吧。"
    pangbai "反正事情也不是很多,不如先让她干完再休息吧,之后还有好多时间可以和白子多聊聊天呢。"
    jump ganhuo

label xiuxi:    
baizi "啊,好,那我先,休息一下吧。"
baizi "谢谢老师。"
pangbai "白子去饮水机边接了两杯水,一杯放在我面前,一杯自己拿着,坐在了沙发上。"
baizi "咕,咕————呼,好舒服......"
pangbai "白子将杯中的水一饮而尽,然后靠坐在沙发背上,轻轻地缓气。"
sensei "白子,需要手帕吗?看你头上好多汗。"
pangbai "我从口袋里掏出一块手帕,递给白子。"
baizi "啊,怎么能用老师的东西呢,真是......太感谢了。"
pangbai "白子的脸上泛起一阵红晕,她接过手帕,盖在自己的脸上。"
baizi "老师的气味,好好闻......"
pangbai "嗯,你说什么?"
baizi "啊,没事......"
sensei "话说啊,我一直都很感兴趣,你的自行车看起来还是挺不错的嘛~"
show 白子 at Shake((0.5, 1.0, 0.5, 1.0), 0.4, dist=6)
baizi "老师也对自行车感兴趣吗?"
pangbai "一提到自行车,白子瞬间来了兴趣。"
sensei "别看老师这样,曾经我也是骑车爱好者呢!"
baizi "那老师喜欢什么车子呢?"
sensei "我嘛,倒是不太喜欢速度,更喜欢安全感强的山地自行车呢,平时也喜欢在比较泥泞崎岖的地面上挑战自己的平衡性,很喜欢颠簸的感觉。"
baizi "哦哦,老师原来,是这种类型呢,我的话,可能会受不了这样的路面————不如说是我的车子受不了,会坏掉的。"
sensei "你的车子看起来很轻,应该是全碳纤维材质,变速器也是电动变速的吧,价格应该也不便宜吧?"
show 白子 at Shake((0.5, 1.0, 0.5, 1.0), 0.4, dist=6)
baizi "老师,您连这种事情也知道吗,看来您真的很喜欢自行车呢~"
pangbai "白子的脸上浮现出了崇拜的目光。"
sensei "老师我啊,也就骑的起铝架子的车了,毕竟我的钱还得买机————"
pangbai "不,不行,还是别告诉白子我把钱都花到买机器人上了......"
baizi "嗯?"
sensei "就,就是说啊,这么贵的车子,你一个学生,应该攒了不短时间吧?"
baizi "倒也没有啦,大概也就一上午吧......"
sensei "什————你,你是做什么才能一上午赚这么多的,难道是————" with vpunch
baizi "嗯......"
pangbai "白子的脸一下子红了。"
pangbai "不,不会是那种事情吧,白子她竟然————"
pangbai "不不不,我可是白子的老师,怎么能把一个女孩子想的那么龌龊呢!"
pangbai "但是,但是,她倒底是————无论如何这笔收入肯定不正当,我必须得和白子说清楚!"
sensei "白子啊,你看,你现在还是一个学生,然后又是一个女生,我觉得有些事情还是不要这么早做比较好,你说呢?"
show 白子 at Shake((0.5, 1.0, 0.5, 1.0), 0.4, dist=6)
baizi "老师......?你在说什么啊?"
sensei "啊?"
baizi "嗯......不过老师您说的也对,抢银行这种事情,还是不要一直做比较好,虽然我们确实也只能通过这种方式来挽救学校,顺带买了自行车也是为了更高效地往返......"
sensei "原来是这样啊,抢银行的话就没什么关系了......"
sensei "啊?!抢银行也不行啊!!!" with vpunch
pangbai "真是的,白子她,虽然看起来很文静很可爱,不过确实在很多地方也很奇怪呢......"
sensei "嘛,嘛......休息得也差不多了,来工作吧?"
baizi "好的老师。"
pangbai "白子走过来,开始帮我整理文件。"
scene 办公室 with dissolve
baizi "这个应该放在这里,这个应该放在那里......"
show 白子 with dissolve
pangbai "白子就站在我的身边,她的身上散发着微热,和凉爽的办公室形成了对比,就连我也能感受到。"
pangbai "同时散发的,还有白子淡淡的体味,是那种运动沐浴露的香味,非常的迷人。"
sensei "嗅,嗅————"
show 白子 at Shake((0.5, 1.0, 0.5, 1.0), 0.4, dist=6)
baizi "老,老师,您这是————"
sensei "没,没事,不用管我。"
show 白子 at Shake((0.5, 1.0, 0.5, 1.0), 0.4, dist=6)
baizi "怎么说呢,十分抱歉,今天外面实在是太热了,我实在是不可避免的出汗了,昨天和今天早上应该也是好好洗过澡的,您别介意......"
sensei "哎呀,怎么会呢,白子能来我就已经太开心啦,完全不会介意的!"
pangbai "倒不如说这是一种幸福呢。"
show 白子 at Shake((0.5, 1.0, 0.5, 1.0), 0.4, dist=6)
baizi "好,谢谢老师......"
pangbai "我们就这样整理了好一会儿。"
jump gongzuowan1

if Baizi==1:
    jump gongzuowan1


label ganhuo:
pangbai "白子开始整理文件。"
baizi "这个应该放在这里,这个应该放在那里......"
pangbai "白子就站在我的身边,她的身上散发着微热,和凉爽的办公室形成了对比,就连我也能感受到。"
pangbai "同时散发的,还有白子淡淡的体味,是那种运动沐浴露的香味,非常的迷人。"
sensei "嗅,嗅————"
baizi "老,老师,您这是————"
sensei "没,没事,不用管我。"
baizi "怎么说呢,十分抱歉,今天外面实在是太热了,我实在是不可避免的出汗了,昨天和今天早上应该也是好好洗过澡的,您别介意......"
sensei "哎呀,怎么会呢,白子能来我就已经太开心啦,完全不会介意的!"
pangbai "倒不如说这是一种幸福呢。"
baizi "好,谢谢老师......"
pangbai "我们就这样整理了好一会儿。"
scene 办公室 with dissolve
sensei "好了,这样就可以了,辛苦你了白子,快休息一下吧。"
baizi "好。"
pangbai "白子去饮水机边接了两杯水,一杯放在我面前,一杯自己拿着,坐在了沙发上。"
show 白子 with dissolve
baizi "咕,咕————呼,好舒服......"
pangbai "白子将杯中的水一饮而尽,然后靠坐在沙发背上,轻轻地缓气。"
sensei "白子,需要手帕吗?看你头上好多汗。"
pangbai "我从口袋里掏出一块手帕,递给白子。"
baizi "啊,怎么能用老师的东西呢,真是......太感谢了。"
pangbai "白子的脸上泛起一阵红晕,她接过手帕,盖在自己的脸上。"
baizi "老师的气味,好好闻......"
pangbai "嗯,你说什么?"
baizi "啊,没事......"
sensei "话说啊,我一直都很感兴趣,你的自行车看起来还是挺不错的嘛~"
show 白子 at Shake((0.5, 1.0, 0.5, 1.0), 0.4, dist=6)
baizi "老师也对自行车感兴趣吗?"
pangbai "一提到自行车,白子瞬间来了兴趣。"
sensei "别看老师这样,曾经我也是骑车爱好者呢!"
baizi "那老师喜欢什么车子呢?"
sensei "我嘛,倒是不太喜欢速度,更喜欢安全感强的山地自行车呢,平时也喜欢在比较泥泞崎岖的地面上挑战自己的平衡性,很喜欢颠簸的感觉。"
baizi "哦哦,老师原来,是这种类型呢,我的话,可能会受不了这样的路面————不如说是我的车子受不了,会坏掉的。"
sensei "你的车子看起来很轻,应该是全碳纤维材质,变速器也是电动变速的吧,价格应该也不便宜吧?"
show 白子 at Shake((0.5, 1.0, 0.5, 1.0), 0.4, dist=6)
baizi "老师,您连这种事情也知道吗,看来您真的很喜欢自行车呢~"
pangbai "白子的脸上浮现出了崇拜的目光。"
sensei "老师我啊,也就骑的起铝架子的车了,毕竟我的钱还得买机————"
pangbai "不,不行,还是别告诉白子我把钱都花到买机器人上了......"
baizi "嗯?"
sensei "就,就是说啊,这么贵的车子,你一个学生,应该攒了不短时间吧?"
baizi "倒也没有啦,大概也就一上午吧......"
sensei "什————你,你是做什么才能一上午赚这么多的,难道是————"
baizi "嗯......"
pangbai "白子的脸一下子红了。"
pangbai "不,不会是那种事情吧,白子她竟然————"
pangbai "不不不,我可是白子的老师,怎么能把一个女孩子想的那么龌龊呢!"
pangbai "但是,但是,她倒底是————无论如何这笔收入肯定不正当,我必须得和白子说清楚!"
sensei "白子啊,你看,你现在还是一个学生,然后又是一个女生,我觉得有些事情还是不要这么早做比较好,你说呢?"
show 白子 at Shake((0.5, 1.0, 0.5, 1.0), 0.4, dist=6)
baizi "老师......?你在说什么啊?"
sensei "啊?"
baizi "嗯......不过老师您说的也对,抢银行这种事情,还是不要一直做比较好,虽然我们确实也只能通过这种方式来挽救学校,顺带买了自行车也是为了更高效地往返......"
sensei "原来是这样啊,抢银行的话就没什么关系了......"
sensei "啊?!抢银行也不行啊!!!" with vpunch
pangbai "真是的,白子她,虽然看起来很文静很可爱,不过确实在很多地方也很奇怪呢......"
jump gongzuowan2

label gongzuowan1:
scene 办公室 with dissolve
sensei "都已经这个时间了吗,差不多也该走了。白子,你做的不错,时间已经到了。"
show 白子 with dissolve
show 白子 at Shake((0.5, 1.0, 0.5, 1.0), 0.4, dist=6)
baizi "啊,已经到该走的时候了吗......"
pangbai "不知为何,白子的语气中有一丝不舍得。"
baizi "老师......上次那家拉面馆,您还记得吗?"
sensei "是芹香打工的那家店是吗?当然记得,怎么了?"
baizi "下次我来办公室值班的话,结束后一起去吃吧?"
show 白子 at Shake((0.5, 1.0, 0.5, 1.0), 0.4, dist=6)
baizi "其实是想这次就邀请您的,但是工作太入迷了就忘记了,我想着现在要是去的话,您会不会感到有点唐突......"
sensei "啊啊,当然没有!不过————刚才我好像看到美游的档案上好像有点问题,我得处理一下,你要不先走?"
baizi "这样啊,那我就先走了,老师再见。"
hide 白子 with dissolve
pangbai "白子冲我笑了笑,就离开了。"
pangbai "白子她还真是努力呢......"
pangbai "说起来,美游档案上那个问题好像必须要她来一趟来着,给她发消息吧。"
pangbai "我拿出手机给美游发消息:"
pangbai "“美游,晚上来我办公室一趟吧?我有很重要的事情找你。”"
pangbai "哎呀,怎么顺手还发了个表情......伸着舌头,好恶心啊感觉,这破桃信怎么连个撤回功能都没有,真是的......"
scene black with fade
stop music fadeout 1.0
pause
return

label gongzuowan2:
scene 办公室 with dissolve
sensei "都已经这个时间了吗,差不多也该走了。白子,你做的不错,时间已经到了。"
show 白子 with dissolve
show 白子 at Shake((0.5, 1.0, 0.5, 1.0), 0.4, dist=6)
baizi "啊,已经到该走的时候了吗......"
baizi "时间也不早了,那我就先走了,老师再见。"
hide 白子 with dissolve
pangbai "白子冲我笑了笑,就离开了。"
pangbai "白子她还真是努力呢......"
pangbai "说起来,美游档案上那个问题好像必须要她来一趟来着,给她发消息吧。"
pangbai "我拿出手机给美游发消息:"
pangbai "“美游,晚上来我办公室一趟吧?我有很重要的事情找你。”"
pangbai "哎呀,怎么顺手还发了个表情......伸着舌头,好恶心啊感觉,这破桃信怎么连个撤回功能都没有,真是的......"
scene black with fade
stop music fadeout 1.0
pause
return



label haibianlvyou:
play music "audio/BGM/Midsummer cat.flac"
scene 街道 with dissolve
pangbai "夏天的蝉鸣遍布着整个街道,路边的树叶间泄下点点光影。"
pangbai "路面蒸腾着热波,一行四人拖着身子走在街道上。"
show 星野 with dissolve
show 星野 at Shake((0.5, 1.0, 0.5, 1.0), 0.2, dist=4)
xingye "好~热~啊!热到完全不想动了,哪里有凉快的地方......"
show 宫子 with dissolve
show 宫子 at Shake((0.5, 1.0, 0.5, 1.0), 0.2, dist=4)
gongzi "明明说好要去见老师的,现在离办公室还有很远,不如请个假好了......反正,这周是白子在值班,我不去应该也没什么关系......"
show 日富美 with dissolve
show 日富美 at Shake((0.5, 1.0, 0.5, 1.0), 0.2, dist=4)
rifumei "好想回学校......"
show 美游 with dissolve
gongzi "老,老师这种大人,不会和白子做什么奇怪的事情吧......"
meiyou "你,你的脸好红,没,没事吧......"
show 宫子 at Shake((0.5, 1.0, 0.5, 1.0), 0.3, dist=30)
gongzi "老师,奇怪的事情——呜哇!不行!可恶的大人!"
xingye "别,别说了,感觉更热了......"
xingye "呐,美游,你难道,不热吗......"
meiyou "在,在叫我吗......"
meiyou "平时在任务点位待着的话......经常会被晒好几天......"
meiyou "所以现在其实,还好......"
xingye "原来是这样吗......大叔我经常在屋里睡觉,实在是受不了这种天气啦......"
show 日富美 at Shake((0.5, 1.0, 0.5, 1.0), 0.2, dist=6)
gongzi "路边的商店上好像有提到说有一趟列车直达海边,要不要去看看?"
show 星野 at Shake((0.5, 1.0, 0.5, 1.0), 0.5, dist=6)
show 美游 at Shake((0.5, 1.0, 0.5, 1.0), 0.5, dist=6)
show 日富美 at Shake((0.5, 1.0, 0.5, 1.0), 0.5, dist=6)
show 宫子 at Shake((0.5, 1.0, 0.5, 1.0), 0.5, dist=6)
pangbai "众人听到海边一下子来了兴致,就达成共识一同去乘车。"

label lieche:
scene 列车 with dissolve
pangbai "列车缓缓行进着,列车内的冷气让众人松了一口气。"
pangbai "美游刚坐在座位上就睡着了,宫子和日富美在聊着什么,美游则是坐在窗边静静地看着窗外。"
pangbai "时间很快就过去了。"
pangbai "(一个小时后)"

label haibian:
play music "audio/BGM/Water Drop.mp3"
scene 海边日 with fade
rifumei "呜哇!是大海!"
meiyou "好凉快......"
xingye "虽然海边很好,不过我还是好想睡午觉啊,去哪里比较好呢=w="
gongzi "那边有换泳装的地方,咱们去看看吧!"
scene 海边日 with dissolve
show 日富美泳 with dissolve
rifumei "那我就先去海里先玩一玩啦!"
hide 日富美泳
pangbai "日富美扑通一声跳入海中。" with vpunch
show 星野泳 with dissolve
xingye "不行啊......哪里都好热......不如还是到海里先凉快一下再说吧......"
xingye "日富美!等等大叔我呀!"
hide 星野泳 with dissolve
pangbai "星野抱着她的大鲸鱼紧随其后。"
show 宫子泳 with dissolve
gongzi "美游,你呢?"
show 美游泳
meiyou "诶?不,不知道啊......"
gongzi "那不如咱们也下去吧?"
meiyou "要一起吗,嗯......好......"
hide 美游泳 with dissolve
hide 宫子泳 with dissolve
pangbai "宫子和美游也一起下海去玩。"
pangbai "就这样她们玩了大概一下午的时间,一直到了晚上。"
stop music fadeout 1.0
scene 海边晚 with dissolve
play music "audio/BGM/Luminous memory.flac"
show 星野 with dissolve
xingye "没想到海边这么好玩,大叔我中午都不想睡觉了......"
show 日富美 with dissolve
rifumei "骑在星野的大鲸鱼上也很有趣啊,下次还想试试————欸?星野,不能在这里睡觉啊啊啊!"
hide 星野
hide 日富美
show 宫子 with dissolve
gongzi "呼,真是愉快啊。"
show 美游 with dissolve
show 美游 at Shake((0.5, 1.0, 0.5, 1.0), 0.5, dist=6)
meiyou "是啊————啊,老师,给我发信息了,说要我......晚上去他的办公室?还发了一个表情......"
meiyou "伸着舌头,有点恶心......"
show 宫子 at Shake((0.5, 1.0, 0.5, 1.0), 0.3, dist=30)
gongzi "什————老师肯定是没有安好心!像他这种大人......"
gongzi "我必须一起去!要不然,要不然......"
pangbai "宫子说着说着就脸红了。"
rifumei "大家既然都收拾好了,那就走吧~"
pangbai "众人有说有笑地离开了海边。"
scene black with dissolve
stop music fadeout 1.0
pause
return
回复 支持 1 抱歉 0

使用道具 举报

发表于 2023-9-9 14:53:01 | 显示全部楼层
本帖最后由 冰见蜉蝣笙 于 2023-9-9 14:54 编辑
冰见蜉蝣笙 发表于 2023-9-9 14:52

这是我做的一个小小的游戏流程代码,其中包括了作业的基本内容,以及好感度使用和立绘震动=w=,程序本体晚点打包发到群里,以及截图随后再发,希望可以帮助到大家,有什么问题请随时指教,ciallo~

评分

参与人数 1干货 +3 收起 理由
blackpineapple + 3 感谢分享!

查看全部评分

回复 支持 抱歉

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-22 20:06 , Processed in 1.094423 second(s), 29 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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