找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 6|回复: 0

[教程] 翻牌子小游戏教程

[复制链接]
发表于 3 小时前 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 LHawa1145 于 2026-4-27 20:03 编辑

仅供参考


[RenPy] 纯文本查看 复制代码
init python:
    import random as r
    paizu = []
    finished_paizu = []
    checking_paizu = []
    steps = 0
    need_clear = False
    need_clear_timemarks = False

    def reset_paizu(times = 6):
        global paizu
        paizu = []
        for i in range(times):
            paizu.append(str(chr(i+97)))
        paizu = paizu * 2
        r.shuffle(paizu)

    def reset_checking():
        global checking_paizu
        checking_paizu = []

    def reset_finished():
        global finished_paizu
        finished_paizu = []

    def checkingcard(i):
        global checking_paizu,finished_paizu,need_clear_timemarks
        if len(checking_paizu) < 2:
            checking_paizu.append(i)
        if len(checking_paizu) == 2:
            if paizu[checking_paizu[0]] == paizu[checking_paizu[1]]:
                finished_paizu.append(paizu[i])
            #timer 0.5 action SetVariable(need_clear,True)
            need_clear_timemarks = True

transform fanguoqu:
    xzoom 1.0
    linear 0.5 xzoom 0.0
transform fanguolai:
    xzoom 0.0
    linear 0.5 xzoom 1.0

transform checking(i):
    xysize (214,282)
    anchor(0.5,0.5)
    xzoom 1.0
    Fixed(Transform("images/g3/bei.jpg",align=(0.5,0.5)),Transform("images/g3/k.png",align=(0.5,0.5)))
    linear 0.15 xzoom 0.0
    Fixed(Transform("images/fanpaizi/p%s.jpg" % paizu[i],align=(0.5,0.5)),Transform("images/g3/k.png",align=(0.5,0.5)))
    linear 0.15 xzoom 1.0

transform fuyuan(i):
    xysize (214,282)
    anchor(0.5,0.5)
    
    xzoom 1.0
    Fixed(Transform("images/fanpaizi/p%s.jpg" % paizu[i],align=(0.5,0.5)),Transform("images/g3/k.png",align=(0.5,0.5)))
    pause(0.5)
    linear 0.15 xzoom 0.0
    Fixed(Transform("images/g3/bei.jpg",align=(0.5,0.5)),Transform("images/g3/k.png",align=(0.5,0.5)))
    linear 0.15 xzoom 1.0
    
transform correct_match:
    alpha 0.0
    linear 0.2 alpha 1.0
#call screen fanpaizi
screen fanpaizi():
    zorder 10
    tag menu
    modal True
    add "images/ty/bg.png" align(0.5,0.5)
    use timeingc
    if renpy.get_screen != "gamechoose":
        timer 1.0 repeat True action Function(timed)
    if timemark <= 0:
        timer 0.01 action Jump("g3timeout")
    #text "[paizu]\n[finished_paizu]\n[checking_paizu]\n[need_clear]\n[need_clear_timemarks]" color "#ffffff"
    grid 6 2:
        anchor(0.5,0.5)
        pos(0.55,0.65)
        spacing 30
        for i in range(12):
            if paizu[i] in finished_paizu:
                
                add Fixed(Transform("images/fanpaizi/p%s.jpg" % paizu[i],align=(0.5,0.5)),Transform("images/g3/k.png",align=(0.5,0.5)),Transform("images/g3/c.png",align=(0.5,0.5))) anchor(0.5,0.5) at correct_match xysize (214,282)

            elif i in checking_paizu and need_clear:
                #timer 0.5 action NullAction()
                add fuyuan(i)

            elif i in checking_paizu and not need_clear:
                add checking(i)

            else:
                imagebutton:
                    xysize (214,282)
                    idle Fixed(Transform("images/g3/bei.jpg",align=(0.5,0.5)),Transform("images/g3/k.png",align=(0.5,0.5))) anchor(0.5,0.5)
                    
                    if not need_clear:
                        action Function(checkingcard,i)
                    else:
                        action NullAction()
    if need_clear_timemarks:
        
        timer 0.5 action [SetVariable("need_clear",True),SetVariable("need_clear_timemarks",False)]
    if need_clear:
        timer 1.0 action [Function(reset_checking), SetVariable("need_clear", False)]
    if len(finished_paizu) == 6:
        timer 0.01 action [Hide("fanpaizi"),Jump("fanpaizi_end")]
        
    
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-27 23:58 , Processed in 0.022916 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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