Beispiel #1
0
def prk(avars, asprs, screen):
    
    kr = True

    chngsts = False

    ar = True
    talk = False

    ret = 1

    def chsprs(chara, g):
        try:
            sprs = []
            if chara > 0:
                bs = pygame.image.load("Sprites/Characters/chara_" + str(chara) + "b.png")
                ss = pygame.image.load("Sprites/Characters/chara_" + str(chara) + "s.png")
            else:
                bs = pygame.image.load("Sprites/NPC/Nazotchi.png")
                ss = pygame.image.load("Sprites/NPC/Nazo.png")
            opal = []
            for i in range(32):
                opal.append(ss.get_at(((16 + (8 * (i % 2))), (16 + (i // 2)))))
            bs = palette.palch(bs, g, opal)
            ss = palette.palch(ss, g, opal)
            for i in range(3):
                a = pygame.Surface([16, 16])
                a.fill((0, 255, 255))
                a.blit(ss, [-(16 * (i % 2)), -(16 * (i // 2))])
                a.set_colorkey((0, 255, 255))
                a.convert()
                sprs.append(a)
            s = (bs.get_width() // 4)
            for i in range(16):
                spr = pygame.Surface([s, s]).convert()
                spr.fill((0, 255, 255))
                spr.blit(bs, [-(s * (i % 4)), -(s * (i // 4))])
                spr.set_colorkey((0, 255, 255))
                sprs.append(spr)
        except:
            sprs = chsprs(0, g)
        return(sprs)

    def arrive():
        flip = True
        pflip = False
        if anifr < 48:
            if ((anifr / 12) - (anifr // 12)) < 0.5:
                spr = 11
                spry = 98 + (32 - asprs[avars[3][5]][spr].get_height())
                pcs = 3
            else:
                spr = 13
                spry = 96 + (32 - asprs[avars[3][5]][spr].get_height())
                pcs = 4
            sprx = (0 + (10 * (anifr // 6))) + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)
            pcy = 98 + (32 -  pchrs[pcs].get_height())
        else:
            if ((anifr / 12) - (anifr // 12)) < 0.5:
                spr = 3
                spry = 98 + (32 - asprs[avars[3][5]][spr].get_height())
                pcs = 3
                pcy = 98 + (32 -  pchrs[pcs].get_height())
            else:
                spr = 5
                spry = 96 + (32 - asprs[avars[3][5]][spr].get_height())
                pcs = 5
                pcy = 96 + (32 -  pchrs[pcs].get_height())
            sprx = 80 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)
        pcx = 122 + ((32 -  pchrs[pcs].get_width()) // 2)
        return spr, sprx, spry, flip, pcs, pcx, pcy, pflip

    tpborder, btborder, borderico = borders.getborders(avars[3][13], 1, 3, 1)

    hn = pygame.image.load("Sprites/Misc/menu/hngs.png").convert()
    hp = pygame.image.load("Sprites/Misc/menu/hpys.png").convert()
    sk = pygame.image.load("Sprites/Misc/menu/scks.png").convert()
    sl = pygame.image.load("Sprites/Misc/menu/slps.png").convert()

    obgi = pygame.image.load("Sprites/Misc/bg/uratown.png").convert()

    boab = pygame.image.load("Sprites/Misc/bg/uraboat.png").convert()

    boat = pygame.Surface((80, 24))
    boat.fill((0, 255, 255))
    boat.blit(boab, [0, 0])
    boat.set_colorkey((0, 255, 255))
    boat.convert()

    waves = pygame.Surface((32, 16))
    waves.fill((0, 255, 255))
    waves.blit(boab, [-80, 0])
    waves.set_colorkey((0, 255, 255))
    waves.convert()

    fnt = pygame.font.Font("Sprites/Misc/font/Tama2.ttf", 16)

    sound = sounds.imprtsnd(avars)

    clock = pygame.time.Clock()

    anifr = 0

    pygame.time.set_timer(USEREVENT + 1, int(1000 / ((5 * avars[3][3]) + 1)))
    
    if avars[3][3] == 0:
        avars[3][6] = time.strftime("%H:%M")
    
    p = randint(1, 4)
    t = [0, 3600, 176400, 435600][p - 1]
    g = randint(0, 4294967295)
    while (format(g, '032b')[16:28]) == (format(avars[avars[3][5]][14], '032b')[16:28]):
        g = randint(0, 4294967295)
    g = g | 983042
    a = choice([3, 5, 6])
    c = ["ku", "ma", "me"][(a // 2) - 1]
    d = ["ku", "ma", "me"][(a // 2) - 1]
    k = randint(0, 2)
    ov = [[a, 1, 0, 2, 0, 200, 200, 200, (250 * (1 + (k == 0))), (250 * (1 + (k == 1))), (250 * (1 + (k == 2))), c, c, d, g, 0, 0, 0, 20, 0, 0, 0, 0, 0, [], 0, 0, 0, 0, 0, 0, 0, 0, 4], [], [], [0, 0, 0, 0, 0, 0]]
    if (a == 3) and (g % 2):
        ov[0][5], ov[0][9] = ov[0][9], ov[0][5]
    ov = growth.grw(ov)
    while ov[0][1] < p:
        ov[0][1] += 1
        ov = growth.grw(ov)
    pchr = ov[0][15]
    pcharinfo = ["PARK", "", pchr, g, ov[0][13], ov[0][12], ov[0][11], [t, avars[avars[3][5]][2]], 0]
    pchrs = chsprs(pchr, pcharinfo[3])

    while kr:
        if not talk:
            screen.blit(obgi, [0, 0])
        else:
            screen.blit(boab, [0, 0])
        if ar:
            if anifr < 48 and ((anifr / 12) - (anifr // 12)) == 0.5:
                pygame.mixer.stop()
                sound[6].play()
            elif ((anifr / 12) - (anifr // 12)) == 0.5:
                pygame.mixer.stop()
                sound[9].play()
            spr, sprx, spry, flip, pcs, pcx, pcy, pflip = arrive()
            screen.blit(pygame.transform.flip(pchrs[pcs], pflip, 0), [pcx, pcy])
            screen.blit(pygame.transform.flip(asprs[avars[3][5]][spr], flip, 0), [sprx, spry])
        elif not talk:
            sprx = 80 + ((32 - asprs[avars[3][5]][3].get_width()) // 2)
            pcx = 122 + ((32 -  pchrs[3].get_width()) // 2)
            spry = 98 + (32 - asprs[avars[3][5]][3].get_height())
            pcy = 98 + (32 -  pchrs[3].get_height())
            spr = 4 + (anifr % 16 > 7)
            pcs = 4 + (anifr % 16 < 8)
            screen.blit(pchrs[pcs], [pcx, pcy])
            screen.blit(pygame.transform.flip(asprs[avars[3][5]][spr], 1, 0), [sprx, spry])
        else:
            spry = 96 + ((32 - asprs[avars[3][5]][3].get_width()) // 2) + (4 * (anifr % 16 > 7))
            pcy = 96 + ((32 - pchrs[3].get_width()) // 2) + (4 * (anifr % 16 > 7))
            screen.blit(pchrs[16 + (anifr % 16 > 7)], [120, pcy])
            screen.blit(asprs[avars[3][5]][16 + (anifr % 16 < 8)], [84, spry])
            screen.blit(boat, [80, (104 + (4 * (anifr % 16 > 7)))])
            for i in range(8):
                screen.blit(waves, [((32 * i) - (16 * (anifr % 16 > 7))), 120])
        screen = borders.drawborders(screen, avars, asprs, tpborder, btborder, borderico, fnt, 0, anifr, hn, hp, sk, sl)
        for event in pygame.event.get():
            if event.type == QUIT:
                varsup.updtvrs(avars)
                kr = False
                pygame.quit()
                sys.exit()
            if event.type == MOUSEBUTTONDOWN:
                mp = event.pos
                d = (screen.get_size()[0] // 240)
                mp = ((mp[0] // d), (mp[1] // d))
                pb = event.button
                if pb == 1:
                    if 138 < mp[1] < 158:
                        if 228 < mp[0] < 240:
                            sound[4].play()
                            return(avars, ret)
                        elif 212 < mp[0] < 224:
                            ret = 0
                            sound[4].play()
                            return(avars, ret)
                    if (24 < mp[1] < 136) and not ar and not talk:
                        f = avars[avars[3][5]][32]
                        f.append(pcharinfo)
                        avars[avars[3][5]][32] = f
                        a = ["ma", "me", "ku"].index(pcharinfo[6])
                        avars[avars[3][5]][5 + a] += 10
                        avars[avars[3][5]][8 + a] += 10
                        sound[9].play()
                        talk = True
            if event.type == USEREVENT + 1:
                if avars[3][3] == 0:
                    avars[3][6] = time.strftime("%H:%M")
                else:
                    avars[3][7] += 1
                    if avars[3][7] == 60:
                        if int(avars[3][6][3:]) != 59:
                            nhour = avars[3][6][:3] + ("%02d" % (int(avars[3][6][3:]) + 1))
                            avars[3][6] = nhour
                        else:
                            nhour = ("%02d" % (int(avars[3][6][:2]) + 1)) + ":00"
                            if nhour == "24:00":
                                nhour = "00:00"
                            avars[3][6] = nhour
                        avars[3][7] = 0
                if len(avars[0]) > 0:
                    avars[0][2] += 1
                if len(avars[1]) > 0:
                    avars[1][2] += 1
                if len(avars[2]) > 0:
                    avars[2][2] += 1
                chngsts = True
        if chngsts:
            avars = statusup.chngsts(avars)
            if avars[avars[3][5]][20] or not avars[avars[3][5]][21]:
                return(avars, ret)
            chngsts = False
        if anifr < 63:
            anifr += 1
        else:
            anifr = 0
            if ar:
                ar = False
        r = pygame.Surface([240, 160]).convert()
        r.blit(screen, [0, 0])
        r = pygame.transform.scale(r, (screen.get_size()[0], screen.get_size()[1]))
        screen.blit(r, [0, 0])
        clock.tick(16)
        pygame.display.update()
Beispiel #2
0
def game(avars, asprs, screen):
    class Mnbx(pygame.sprite.Sprite):

        bxt = []

        def __init__(self):
            super().__init__()
            box = pygame.image.load("Sprites/Misc/txtbox/box2.png").convert()

            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 16, 8, 8))
            self.bxt.append(image)

            self.image = self.bxt[0]
            self.rect = self.image.get_rect()

        def update(self):
            self.image = self.bxt[tl]

    kr = True

    chngsts = False

    scr = 0

    ret = 1
    spret = 0

    need = -1
    helg = -1

    tuts = True
    strt = False
    play = False
    end = 0

    def chsprs(chara, dirt, g):
        sprs = []
        bs = pygame.image.load("Sprites/Characters/chara_" + str(chara) +
                               "b.png")
        ss = pygame.image.load("Sprites/Characters/chara_" + str(chara) +
                               "s.png")
        opal = []
        for i in range(32):
            opal.append(ss.get_at(((16 + (8 * (i % 2))), (16 + (i // 2)))))
        bs = palette.palch(bs, g, opal)
        if dirt:
            bs = dirty.dirt(bs)
        ss = palette.palch(ss, g, opal)
        for i in range(3):
            a = pygame.Surface([16, 16])
            a.fill((0, 255, 255))
            a.blit(ss, [-(16 * (i % 2)), -(16 * (i // 2))])
            a.set_colorkey((0, 255, 255))
            a.convert()
            sprs.append(a)
        s = (bs.get_width() // 4)
        for i in range(16):
            spr = pygame.Surface([s, s]).convert()
            spr.fill((0, 255, 255))
            spr.blit(bs, [-(s * (i % 4)), -(s * (i // 4))])
            spr.set_colorkey((0, 255, 255))
            sprs.append(spr)
        return (sprs)

    def drbx():
        tile = Mnbx()
        tile.update()
        textbox.blit(tile.image, [tx, ty])

    def drhl():
        global tx
        global tl
        tx = 0
        drbx()
        tl += 1
        while tx < 48:
            tx += 8
            drbx()
        tx = 56
        tl += 1
        drbx()

    def dral():
        global ty
        global tl
        while ty < 16:
            tl = 3
            ty += 8
            drhl()

    def aspr():
        if len(avars[0]) > 0:
            sprs0 = chsprs(avars[0][15], (avars[0][30] == 2), avars[0][14])
        else:
            sprs0 = []
        if len(avars[1]) > 0:
            sprs1 = chsprs(avars[1][15], (avars[1][30] == 2), avars[1][14])
        else:
            sprs1 = []
        if len(avars[2]) > 0:
            sprs2 = chsprs(avars[2][15], (avars[2][30] == 2), avars[2][14])
        else:
            sprs2 = []
        asprs = [sprs0, sprs1, sprs2]
        return (asprs)

    tpborder, btborder, borderico = borders.getborders(avars[3][13], 1, 3, 1)

    hn = pygame.image.load("Sprites/Misc/menu/hngs.png").convert()
    hp = pygame.image.load("Sprites/Misc/menu/hpys.png").convert()
    sk = pygame.image.load("Sprites/Misc/menu/scks.png").convert()
    sl = pygame.image.load("Sprites/Misc/menu/slps.png").convert()

    tutimg = pygame.image.load("Sprites/Misc/bg/springst.png").convert()

    playbk = pygame.image.load("Sprites/Misc/bg/springs.png").convert()

    ready = pygame.image.load("Sprites/Misc/bg/ready.png").convert()
    go = pygame.image.load("Sprites/Misc/bg/go.png").convert()

    bear = []
    bs = pygame.image.load("Sprites/NPC/Beartchi.png").convert()
    for i in range(6):
        b = pygame.Surface((32, 32)).convert()
        b.fill((0, 255, 255))
        b.blit(bs, [-(32 * (i % 2)), -(32 * (i // 2))])
        b.set_colorkey((0, 255, 255))
        bear.append(b)

    emo = [
        pygame.image.load("Sprites/Misc/emo/ang.png").convert(),
        pygame.image.load("Sprites/Misc/emo/conf.png").convert(),
        pygame.image.load("Sprites/Misc/emo/sweat.png").convert(),
        pygame.image.load("Sprites/Misc/emo/shiver.png").convert()
    ]

    poof = pygame.image.load("Sprites/Misc/obj/poof.png").convert()

    toobad = pygame.image.load("Sprites/Misc/bg/toobad.png").convert()
    good = pygame.image.load("Sprites/Misc/bg/good.png").convert()
    great = pygame.image.load("Sprites/Misc/bg/great.png").convert()
    excellent = pygame.image.load("Sprites/Misc/bg/excellent.png").convert()

    win = pygame.image.load("Sprites/Misc/emo/happy.png").convert()
    cry = pygame.image.load("Sprites/Misc/emo/cry.png").convert()

    money = pygame.image.load("Sprites/Misc/obj/money.png").convert()
    coin = pygame.image.load("Sprites/Misc/menu/gotchipt.png").convert()

    fnt = pygame.font.Font("Sprites/Misc/font/Tama2.ttf", 16)

    textbox = pygame.Surface([240, 64]).convert()
    textbox.fill((0, 255, 255))
    global tl
    global ty
    tl = 0
    ty = 0
    drhl()
    dral()
    tl = 6
    ty = 24
    drhl()
    textbox.set_colorkey((0, 255, 255))

    clock = pygame.time.Clock()

    sound = sounds.imprtsnd(avars)

    anifr = 0

    pygame.time.set_timer(USEREVENT + 1, int(1000 / ((5 * avars[3][3]) + 1)))

    if avars[3][3] == 0:
        avars[3][6] = time.strftime("%H:%M")

    while kr:
        if tuts:
            screen.blit(tutimg, [0, 0])
        elif strt:
            screen.blit(playbk, [0, 0])
            if anifr == 16:
                pygame.mixer.stop()
                sound[11].play()
            if anifr < 16:
                screen.blit(ready, [80, 48])
                spr = 3
            else:
                screen.blit(go, [95, 48])
                spr = 5
            screen.blit(asprs[avars[3][5]][spr],
                        [(104 +
                          ((32 - asprs[avars[3][5]][spr].get_width()) // 2)),
                         (98 + (32 - asprs[avars[3][5]][spr].get_height()))])
        elif play:
            screen.blit(playbk, [0, 0])
            if end == 0:
                spr = 3 + (anifr % 12 > 5)
                screen.blit(bear[(2 + need) * (need > -1)], [104, 59])
                if (need > -1) and (anifr % 12 > 5):
                    screen.blit(emo[need], [136, 42])
            else:
                spr = 5 + (2 * (helg != need))
                if helg != need:
                    screen.blit(bear[2 + need], [104, 59])
                else:
                    screen.blit(bear[1], [104, 59])
            screen.blit(asprs[avars[3][5]][spr], [104, 98])
        else:
            screen.blit(playbk, [0, 0])
            if end == 3:
                screen.blit(money, [88, 106])
                if anifr < 8:
                    spr = 11
                else:
                    if anifr == 8:
                        pygame.mixer.stop()
                        sound[13].play()
                    screen.blit(textbox, [94, 64])
                    mntxt = fnt.render(str(scr * 250), 1, (0, 0, 100))
                    screen.blit(mntxt, [(138 - (mntxt.get_width())), 74])
                    screen.blit(coin, [138, 72])
                    if scr > 0:
                        spr = 5
                    else:
                        spr = 6
                screen.blit(
                    asprs[avars[3][5]][spr],
                    [(124 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)),
                     (98 + (32 - asprs[avars[3][5]][spr].get_height()))])
            elif end == 4:
                if scr < 4:
                    screen.blit(toobad, [71, 48])
                    sy = 98
                    if ((anifr / 12) - (anifr // 12)) < 0.5:
                        spr = 6
                    else:
                        spr = 7
                        screen.blit(cry, [56, 90])
                else:
                    if scr < 8:
                        screen.blit(good, [94, 48])
                    elif scr < 12:
                        screen.blit(great, [85, 48])
                    else:
                        screen.blit(excellent, [51, 48])
                    if ((anifr / 12) - (anifr // 12)) < 0.5:
                        sy = 98
                        spr = 4
                    else:
                        sy = 90
                        spr = 5
                        screen.blit(win, [136, 82])
                screen.blit(
                    asprs[avars[3][5]][spr],
                    [(104 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)),
                     (sy + (32 - asprs[avars[3][5]][spr].get_height()))])
            elif end == 5:
                if anifr < 6:
                    screen.blit(asprs[avars[3][5]][9], [104, 56])
                elif anifr < 18:
                    screen.blit(poof, [104, 59])
        screen = borders.drawborders(screen, avars, asprs, tpborder, btborder,
                                     borderico, fnt, 0, anifr, hn, hp, sk, sl)
        for event in pygame.event.get():
            if event.type == QUIT:
                varsup.updtvrs(avars)
                kr = False
                pygame.quit()
                sys.exit()
            if event.type == MOUSEBUTTONDOWN:
                mp = event.pos
                d = (screen.get_size()[0] // 240)
                mp = ((mp[0] // d), (mp[1] // d))
                pb = event.button
                if pb == 1:
                    if 138 < mp[1] < 158:
                        if 228 < mp[0] < 240:
                            pygame.mixer.stop()
                            sound[4].play()
                            return (avars, ret)
                        elif 212 < mp[0] < 224:
                            pygame.mixer.stop()
                            sound[4].play()
                            ret = 0
                            return (avars, ret)
                    if (24 < mp[1] < 136) and tuts:
                        pygame.mixer.stop()
                        sound[10].play()
                        tuts = False
                        strt = True
                        anifr = -1
                    if (24 < mp[1] < 136) and play and end == 0 and need > -1:
                        end = 1
                        anifr = 11
                        helg = (2 * (mp[1] > 80)) + (mp[0] > 120)
                        pygame.mixer.stop()
                        sound[9 + (3 * (helg != need))].play()
            if event.type == USEREVENT + 1:
                if avars[3][3] == 0:
                    avars[3][6] = time.strftime("%H:%M")
                else:
                    avars[3][7] += 1
                    if avars[3][7] == 60:
                        if int(avars[3][6][3:]) != 59:
                            nhour = avars[3][6][:3] + (
                                "%02d" % (int(avars[3][6][3:]) + 1))
                            avars[3][6] = nhour
                        else:
                            nhour = ("%02d" %
                                     (int(avars[3][6][:2]) + 1)) + ":00"
                            if nhour == "24:00":
                                nhour = "00:00"
                            avars[3][6] = nhour
                        avars[3][7] = 0
                if len(avars[0]) > 0:
                    avars[0][2] += 1
                if len(avars[1]) > 0:
                    avars[1][2] += 1
                if len(avars[2]) > 0:
                    avars[2][2] += 1
                chngsts = True
        if chngsts:
            avars = statusup.chngsts(avars)
            chngsts = False
        if anifr < 23:
            anifr += 1
            if play and end == 0 and anifr == 12:
                if need < 0:
                    need = randint(0, 3)
                    pygame.mixer.stop()
                    sound[2].play()
                else:
                    end = 1
                    pygame.mixer.stop()
                    sound[12].play()
        else:
            anifr = 0
            if strt:
                play = True
                strt = False
            elif play and end == 1:
                if need == helg:
                    scr += 1
                    end = 0
                    need = -1
                    helg = -1
                if end == 1 or scr == 12:
                    end = 3
                    play = False
                    if (avars[3][2] + (scr * 250)) < 99999:
                        avars[3][2] += (scr * 250)
                    else:
                        avars[3][2] = 99999
                    avars[avars[3][5]][7] += scr * 2
            elif end == 3:
                if scr < 12 or avars[avars[3][5]][15] != 325 or avars[
                        avars[3][5]][7] < 1000:
                    if scr < 4:
                        pygame.mixer.stop()
                        sound[14].play()
                    else:
                        pygame.mixer.stop()
                        sound[1].play()
                    end = 4
                else:
                    pygame.mixer.stop()
                    sound[15].play()
                    end = 5
            elif end == 5:
                pygame.mixer.stop()
                sound[1].play()
                avars[avars[3][5]][1] = 5
                avars = growth.grw(avars)
                asprs = aspr()
                spret = 1
                end = 4
            elif end == 4:
                ret = spret
                return (avars, ret)
        s = pygame.Surface([240, 160]).convert()
        s.blit(screen, [0, 0])
        s = pygame.transform.scale(
            s, (screen.get_size()[0], screen.get_size()[1]))
        screen.blit(s, [0, 0])
        clock.tick(16)
        pygame.display.update()
Beispiel #3
0
def game(avars, asprs, screen):

    class Mnbx(pygame.sprite.Sprite):

        bxt = []
        
        def __init__(self):
            super().__init__()
            box = pygame.image.load("Sprites/Misc/txtbox/box2.png").convert()

            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 16, 8, 8))
            self.bxt.append(image)

            self.image = self.bxt[0]
            self.rect = self.image.get_rect()

        def update(self):
            self.image = self.bxt[tl]
    
    kr = True

    chngsts = False

    scr = 0

    ret = 1
    spret = 0

    tuts = True
    strt = False
    play = False
    end = 0

    des = -1

    def chsprs(chara, dirt, g):
        sprs = []
        bs = pygame.image.load("Sprites/Characters/chara_" + str(chara) + "b.png")
        ss = pygame.image.load("Sprites/Characters/chara_" + str(chara) + "s.png")
        opal = []
        for i in range(32):
            opal.append(ss.get_at(((16 + (8 * (i % 2))), (16 + (i // 2)))))
        bs = palette.palch(bs, g, opal)
        if dirt:
            bs = dirty.dirt(bs)
        ss = palette.palch(ss, g, opal)
        for i in range(3):
            a = pygame.Surface([16, 16])
            a.fill((0, 255, 255))
            a.blit(ss, [-(16 * (i % 2)), -(16 * (i // 2))])
            a.set_colorkey((0, 255, 255))
            a.convert()
            sprs.append(a)
        s = (bs.get_width() // 4)
        for i in range(16):
            spr = pygame.Surface([s, s]).convert()
            spr.fill((0, 255, 255))
            spr.blit(bs, [-(s * (i % 4)), -(s * (i // 4))])
            spr.set_colorkey((0, 255, 255))
            sprs.append(spr)
        return(sprs)

    def drbx():
        tile = Mnbx()
        tile.update()
        textbox.blit(tile.image, [tx, ty])

    def drhl():
        global tx
        global tl
        tx = 0
        drbx()
        tl += 1
        while tx < 48:
            tx += 8
            drbx()
        tx = 56
        tl += 1
        drbx()

    def dral():
        global ty
        global tl
        while ty < 16:
            tl = 3
            ty += 8
            drhl()

    def aspr():
        if len(avars[0]) > 0:
            sprs0 = chsprs(avars[0][15], (avars[0][30] == 2), avars[0][14])
        else:
            sprs0 = []
        if len(avars[1]) > 0:
            sprs1 = chsprs(avars[1][15], (avars[1][30] == 2), avars[1][14])
        else:
            sprs1 = []
        if len(avars[2]) > 0:
            sprs2 = chsprs(avars[2][15], (avars[2][30] == 2), avars[2][14])
        else:
            sprs2 = []
        asprs = [sprs0, sprs1, sprs2]
        return(asprs)

    def vals():
        artist = chsprs(randint(217, 258), 0, randint(0, 4294967295))
        a = randint(217, 258)
        g = randint(0, 4294967295)
        poser = chsprs(a, 0, g)
        pose = randint(3, 10)
        wrong = randint(0, 1)
        if not wrong:
            iposer = poser
            ipose = pose
        else:
            t = randint(0, 3)
            if t == 3:
                ipose = randint(3, 10)
                while pose == ipose:
                    ipose = randint(3, 10)
                iposer = poser
            else:
                ipose = pose
                if g & [4026531840, 251658240, 15728640][t] == [4026531840, 251658240, 15728640][t]:
                    g = g & [268435455, 4043309055, 4279238655][t]
                else:
                    g = g | [4026531840, 251658240, 15728640][t]
                iposer = chsprs(a, 0, g)
        return(artist, poser, pose, wrong, iposer, ipose)

    tpborder, btborder, borderico = borders.getborders(avars[3][13], 1, 3, 1)

    hn = pygame.image.load("Sprites/Misc/menu/hngs.png").convert()
    hp = pygame.image.load("Sprites/Misc/menu/hpys.png").convert()
    sk = pygame.image.load("Sprites/Misc/menu/scks.png").convert()
    sl = pygame.image.load("Sprites/Misc/menu/slps.png").convert()

    tutimg = pygame.image.load("Sprites/Misc/bg/artt.png").convert()

    playbk = pygame.image.load("Sprites/Misc/bg/art.png").convert()

    artist, poser, pose, wrong, iposer, ipose = vals()

    poof = pygame.image.load("Sprites/Misc/obj/poof.png").convert()

    ready = pygame.image.load("Sprites/Misc/bg/ready.png").convert()
    go = pygame.image.load("Sprites/Misc/bg/go.png").convert()

    toobad = pygame.image.load("Sprites/Misc/bg/toobad.png").convert()
    good = pygame.image.load("Sprites/Misc/bg/good.png").convert()
    great = pygame.image.load("Sprites/Misc/bg/great.png").convert()
    excellent = pygame.image.load("Sprites/Misc/bg/excellent.png").convert()

    win = pygame.image.load("Sprites/Misc/emo/happy.png").convert()
    cry = pygame.image.load("Sprites/Misc/emo/cry.png").convert()

    money = pygame.image.load("Sprites/Misc/obj/money.png").convert()
    coin = pygame.image.load("Sprites/Misc/menu/gotchipt.png").convert()

    fnt = pygame.font.Font("Sprites/Misc/font/Tama2.ttf", 16)

    textbox = pygame.Surface([240, 64]).convert()
    textbox.fill((0, 255, 255))
    global tl
    global ty
    tl = 0
    ty = 0
    drhl()
    dral()
    tl = 6
    ty = 24
    drhl()
    textbox.set_colorkey((0, 255, 255))

    clock = pygame.time.Clock()

    sound = sounds.imprtsnd(avars)

    anifr = 0

    pygame.time.set_timer(USEREVENT + 1, int(1000 / ((5 * avars[3][3]) + 1)))
    
    if avars[3][3] == 0:
        avars[3][6] = time.strftime("%H:%M")

    while kr:
        if tuts:
            screen.blit(tutimg, [0, 0])
        elif strt:
            screen.blit(playbk, [0, 0])
            if anifr == 16:
                pygame.mixer.stop()
                sound[11].play()
            if anifr < 16:
                screen.blit(ready, [80, 48])
                spr = 3
            else:
                screen.blit(go, [95, 48])
                spr = 5
            screen.blit(asprs[avars[3][5]][spr], [(104 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)), (98 + (32 - asprs[avars[3][5]][spr].get_height()))])
        elif play:
            screen.blit(playbk, [0, 0])
            if end == 0:
                arts = 3 + (anifr % 12 > 5)
                screen.blit(poser[pose], [152, 98])
            elif end == 1:
                arts = 3 + (anifr % 12 > 5)
                screen.blit(iposer[ipose], [104, 72])
                screen.blit(asprs[avars[3][5]][6], [152, 98])
            else:
                arts = [9, 5, 7][(wrong == des) * (wrong + 1)]
                screen.blit(poser[pose], [104, 72])
                screen.blit(asprs[avars[3][5]][[9, 5, 8][(wrong == des) * (wrong + 1)]], [152, 98])
            screen.blit(pygame.transform.flip(artist[arts], 1, 0), [56, 98])
        else:
            screen.blit(playbk, [0, 0])
            if end == 3:
                screen.blit(money, [88, 106])
                if anifr < 8:
                    spr = 11
                else:
                    if anifr == 8:
                        pygame.mixer.stop()
                        sound[13].play()
                    screen.blit(textbox, [94, 64])
                    mntxt = fnt.render(str(scr * 200), 1, (0, 0, 100))
                    screen.blit(mntxt, [(138 - (mntxt.get_width())), 74])
                    screen.blit(coin, [138, 72])
                    if scr > 0:
                        spr = 5
                    else:
                        spr = 6
                screen.blit(asprs[avars[3][5]][spr], [(124 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)), (98 + (32 - asprs[avars[3][5]][spr].get_height()))])
            elif end == 4:
                if scr < 4:
                    screen.blit(toobad, [71, 48])
                    sy = 98
                    if ((anifr / 12) - (anifr // 12)) < 0.5:
                        spr = 6
                    else:
                        spr = 7
                        screen.blit(cry, [56, 90])
                else:
                    if scr < 8:
                        screen.blit(good, [94, 48])
                    elif scr < 12:
                        screen.blit(great, [85, 48])
                    else:
                        screen.blit(excellent, [51, 48])
                    if ((anifr / 12) - (anifr // 12)) < 0.5:
                        sy = 98
                        spr = 4
                    else:
                        sy = 90
                        spr = 5
                        screen.blit(win, [136, 82])
                screen.blit(asprs[avars[3][5]][spr], [(104 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)), (sy + (32 - asprs[avars[3][5]][spr].get_height()))])
            elif end == 5:
                if anifr < 6:
                    screen.blit(asprs[avars[3][5]][9], [104, 72])
                else:
                    screen.blit(poof, [104, 72])
        screen = borders.drawborders(screen, avars, asprs, tpborder, btborder, borderico, fnt, 0, anifr, hn, hp, sk, sl)
        for event in pygame.event.get():
            if event.type == QUIT:
                varsup.updtvrs(avars)
                kr = False
                pygame.quit()
                sys.exit()
            if event.type == MOUSEBUTTONDOWN:
                mp = event.pos
                d = (screen.get_size()[0] // 240)
                mp = ((mp[0] // d), (mp[1] // d))
                pb = event.button
                if pb == 1:
                    if 138 < mp[1] < 158:
                        if 228 < mp[0] < 240:
                            pygame.mixer.stop()
                            sound[4].play()
                            return(avars, ret)
                        elif 212 < mp[0] < 224:
                            pygame.mixer.stop()
                            sound[4].play()
                            ret = 0
                            return(avars, ret)
                    if (24 < mp[1] < 136) and tuts:
                        pygame.mixer.stop()
                        sound[10].play()
                        tuts = False
                        strt = True
                        anifr = -1
                if pb in [1, 3] and (24 < mp[1] < 136) and play and end == 1:
                    des = pb // 2
            if event.type == USEREVENT + 1:
                if avars[3][3] == 0:
                    avars[3][6] = time.strftime("%H:%M")
                else:
                    avars[3][7] += 1
                    if avars[3][7] == 60:
                        if int(avars[3][6][3:]) != 59:
                            nhour = avars[3][6][:3] + ("%02d" % (int(avars[3][6][3:]) + 1))
                            avars[3][6] = nhour
                        else:
                            nhour = ("%02d" % (int(avars[3][6][:2]) + 1)) + ":00"
                            if nhour == "24:00":
                                nhour = "00:00"
                            avars[3][6] = nhour
                        avars[3][7] = 0
                if len(avars[0]) > 0:
                    avars[0][2] += 1
                if len(avars[1]) > 0:
                    avars[1][2] += 1
                if len(avars[2]) > 0:
                    avars[2][2] += 1
                chngsts = True
        if chngsts:
            avars = statusup.chngsts(avars)
            chngsts = False
        if anifr < 23:
            anifr += 1
        else:
            anifr = 0
            if strt:
                play = True
                strt = False
            elif play:
                if end == 0:
                    end = 1
                    pygame.mixer.stop()
                    sound[2].play()
                elif end == 1:
                    end = 2
                    pygame.mixer.stop()
                    sound[9 + (3 * (wrong != des))].play()
                else:
                    if wrong == des:
                        scr += 1
                        end = 0
                        artist, poser, pose, wrong, iposer, ipose = vals()
                        des = -1
                    if scr == 12 or end == 2:
                        end = 3
                        play = False
                        if (avars[3][2] + (scr * 200)) < 99999:
                            avars[3][2] += (scr * 200)
                        else:
                            avars[3][2] = 99999
                        avars[avars[3][5]][9] += ((scr * 4) // 3)
                        avars[avars[3][5]][7] += ((scr * 2) // 3)
            elif end == 3:
                if scr < 12 or avars[avars[3][5]][15] != 283 or avars[avars[3][5]][9] < 667 or avars[avars[3][5]][7] < 334:
                    if scr < 4:
                        pygame.mixer.stop()
                        sound[14].play()
                    else:
                        pygame.mixer.stop()
                        sound[1].play()
                    end = 4
                else:
                    pygame.mixer.stop()
                    sound[15].play()
                    end = 5
            elif end == 5:
                pygame.mixer.stop()
                sound[1].play()
                avars[avars[3][5]][1] = 5
                avars = growth.grw(avars)
                asprs = aspr()
                spret = 1
                end = 4
            elif end == 4:
                ret = spret
                return(avars, ret)
        s = pygame.Surface([240, 160]).convert()
        s.blit(screen, [0, 0])
        s = pygame.transform.scale(s, (screen.get_size()[0], screen.get_size()[1]))
        screen.blit(s, [0, 0])
        clock.tick(16)
        pygame.display.update()
Beispiel #4
0
def kitchen(avars, asprs, screen):
    class Txtbx(pygame.sprite.Sprite):

        bxt = []

        def __init__(self):
            super().__init__()
            box = pygame.image.load("Sprites/Misc/txtbox/box1.png").convert()

            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 16, 8, 8))
            self.bxt.append(image)

            self.image = self.bxt[0]
            self.rect = self.image.get_rect()

        def update(self):
            self.image = self.bxt[tl]

    kr = True

    bx = True

    clt = 0

    spclk = False

    inf = False

    swt = False

    scr = 0

    etng = 0

    fname = ''

    frms = 0

    chngsts = False

    foodl = [[
        'Rice', 'Apple', 'Mandarin', 'Meat', 'Milk', 'IceCream', 'Cake',
        'Sake', 'Scone', 'Pasta', 'SandW', 'Melon', 'DrumS', 'Fries', 'Burger',
        'Steak'
    ],
             [
                 'Bread', 'Pear', 'Juice', 'Fish', 'ChMlk', 'Choco', 'Donut',
                 'Wine', 'BCheese', 'Tacos', 'Hotdog', 'WMelon', 'BBQ',
                 'PopCorn', 'Pizza', 'Sushi'
             ]]

    g = avars[avars[3][5]][14]
    if g < 0:
        g = 4294967296 + g
    a = format(g, '032b')

    l = int((a[16:19] + a[28]), 2)
    d = int((a[20:23] + a[29]), 2)

    #print(l)
    #print(d)
    #print(a[30])

    likes = [foodl[int(a[30])][l], foodl[int(a[30]) == 0][d]]

    alcohol = ['Wine', 'Sake']

    def chsprs(chara, dirt, g):
        sprs = []
        bs = pygame.image.load("Sprites/Characters/chara_" + str(chara) +
                               "b.png")
        ss = pygame.image.load("Sprites/Characters/chara_" + str(chara) +
                               "s.png")
        opal = []
        for i in range(32):
            opal.append(ss.get_at(((16 + (8 * (i % 2))), (16 + (i // 2)))))
        bs = palette.palch(bs, g, opal)
        if dirt:
            bs = dirty.dirt(bs)
        ss = palette.palch(ss, g, opal)
        for i in range(3):
            a = pygame.Surface([16, 16])
            a.fill((0, 255, 255))
            a.blit(ss, [-(16 * (i % 2)), -(16 * (i // 2))])
            a.set_colorkey((0, 255, 255))
            a.convert()
            sprs.append(a)
        s = (bs.get_width() // 4)
        for i in range(16):
            spr = pygame.Surface([s, s]).convert()
            spr.fill((0, 255, 255))
            spr.blit(bs, [-(s * (i % 4)), -(s * (i // 4))])
            spr.set_colorkey((0, 255, 255))
            sprs.append(spr)
        return (sprs)

    def drbx():
        tile = Txtbx()
        tile.update()
        textbox.blit(tile.image, [tx, ty])

    def drhl():
        global tx
        global tl
        tx = 0
        drbx()
        tl += 1
        while tx < 224:
            tx += 8
            drbx()
        tx = 232
        tl += 1
        drbx()

    def dral():
        global ty
        global tl
        while ty < 96:
            tl = 3
            ty += 8
            drhl()

    def aspr():
        if len(avars[0]) > 0:
            sprs0 = chsprs(avars[0][15], (avars[0][30] == 2), avars[0][14])
        else:
            sprs0 = []
        if len(avars[1]) > 0:
            sprs1 = chsprs(avars[1][15], (avars[1][30] == 2), avars[1][14])
        else:
            sprs1 = []
        if len(avars[2]) > 0:
            sprs2 = chsprs(avars[2][15], (avars[2][30] == 2), avars[2][14])
        else:
            sprs2 = []
        asprs = [sprs0, sprs1, sprs2]
        return (asprs)

    def drfd():
        global fdn
        if len(avars[3][4]) < (24 * (scr + 1)):
            a = len(avars[3][4]) - (24 * scr)
        else:
            a = 24
        while fdn < a:
            screen.blit(fsprs[(fdn + (24 * scr))][0],
                        [(14 + ((fdn - (8 * (fdn // 8))) * 27)),
                         (44 + (24 * (fdn // 8)))])
            screen.blit(
                (lfnt.render(str(avars[3][4][(fdn + (24 * scr))][4]), 1,
                             (0, 0, 100))),
                [(14 + ((fdn - (8 * (fdn // 8))) * 27)),
                 (44 + (24 * (fdn // 8)))])
            fdn += 1

    def fdspr():
        fsprs = []
        a = 0
        while a < len(avars[3][4]):
            sl = []
            try:
                s = pygame.image.load("Sprites/Food/" + avars[3][4][a][0] +
                                      ".png").convert()
            except:
                s = pygame.image.load("CFood/" + avars[3][4][a][0] +
                                      ".png").convert()
            for i in range(3):
                b = pygame.Surface([24, 24])
                b.fill((0, 255, 255))
                b.blit(s, [-(24 * (i)), 0])
                b.set_colorkey((0, 255, 255))
                b.convert()
                sl.append(b)
            fsprs.append(sl)
            a += 1
        return (fsprs)

    def eatanim():
        flip = False
        if etng == 1:
            screen.blit(tbl, [88, 95])
            screen.blit(chair, [160, 95])
            if frms == 0:
                if ((anifr / 12) - (anifr // 12)) < 0.5:
                    spr = 16
                else:
                    spr = 17
            else:
                if ((anifr / 12) - (anifr // 12)) < 0.5:
                    spr = 16
                elif ((anifr / 24) - (anifr // 24)) < 0.5:
                    spr = 17
                else:
                    spr = 16
            if frms == 0:
                if ((anifr / 24) - (anifr // 24)) < 0.5:
                    screen.blit(fsprs[efdn][0], [123, 86])
                else:
                    screen.blit(fsprs[efdn][1], [123, 86])
            else:
                if ((anifr / 24) - (anifr // 24)) < 0.5:
                    screen.blit(fsprs[efdn][2], [123, 86])
            screen.blit(asprs[avars[3][5]][spr],
                        [(156 +
                          ((32 - asprs[avars[3][5]][spr].get_width()) // 2)),
                         (84 + (32 - asprs[avars[3][5]][spr].get_height()))])
        elif etng == 2:
            if avars[avars[3][5]][1] > 3:
                spr = 9 + (anifr % 12 < 6)
                if anifr % 12 > 5:
                    screen.blit(cnf, [136, 82])
            else:
                if frms == 0:
                    spr = 9 - (3 * (anifr % 12 < 6))
                    if anifr % 12 > 5:
                        screen.blit(cnf, [136, 82])
                elif frms == 1:
                    spr = 8 + (6 * (anifr < 12))
                    if anifr > 11:
                        screen.blit(puke, [88, 114])
            screen.blit(
                pygame.transform.flip(asprs[avars[3][5]][spr], flip, 0),
                [(104 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)),
                 (98 + (32 - asprs[avars[3][5]][spr].get_height()))])
        elif etng == 3:
            if likes[0] == fname:
                spr = 4 + (anifr % 12 < 6)
                if anifr % 12 < 6:
                    screen.blit(ht, [136, 82])
            else:
                spr = 6 + (2 * (anifr % 12 < 6))
                if anifr % 12 < 6:
                    screen.blit(ang, [136, 82])
            screen.blit(
                pygame.transform.flip(asprs[avars[3][5]][spr], flip, 0),
                [(104 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)),
                 (98 + (32 - asprs[avars[3][5]][spr].get_height()))])
        else:
            if ((anifr / 12) - (anifr // 12)) < 0.5:
                spr = 14
            else:
                spr = 14
                flip = True
            screen.blit(
                pygame.transform.flip(asprs[avars[3][5]][spr], flip, 0),
                [(104 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)),
                 (98 + (32 - asprs[avars[3][5]][spr].get_height()))])

    tpborder, btborder, borderico = borders.getborders(avars[3][13], 1, 1, 0)

    hn = pygame.image.load("Sprites/Misc/menu/hngs.png").convert()
    hp = pygame.image.load("Sprites/Misc/menu/hpys.png").convert()
    sk = pygame.image.load("Sprites/Misc/menu/scks.png").convert()
    sl = pygame.image.load("Sprites/Misc/menu/slps.png").convert()

    ang = pygame.image.load("Sprites/Misc/emo/ang.png").convert()
    cnf = pygame.image.load("Sprites/Misc/emo/conf.png").convert()
    ht = pygame.image.load("Sprites/Misc/emo/heart.png").convert()

    puke = pygame.image.load("Sprites/Misc/sick/puke.png").convert()

    hnb = pygame.image.load("Sprites/Misc/menu/hngf.png").convert()
    hpb = pygame.image.load("Sprites/Misc/menu/hpyf.png").convert()

    inti = pygame.image.load("Sprites/Misc/menu/inti.png").convert()
    styi = pygame.image.load("Sprites/Misc/menu/styi.png").convert()
    kndi = pygame.image.load("Sprites/Misc/menu/kndi.png").convert()
    humi = pygame.image.load("Sprites/Misc/menu/humi.png").convert()
    gori = pygame.image.load("Sprites/Misc/menu/gori.png").convert()
    pasi = pygame.image.load("Sprites/Misc/menu/pasi.png").convert()

    try:
        bck = pygame.image.load(avars[3][15]).convert()
        if bck.get_size() != (240, 160):
            raise Exception("Wrong size!")
    except pygame.error:
        bck = pygame.Surface([240, 160]).convert()
        bck.fill((51, 51, 204))
    try:
        tbl = pygame.image.load(avars[3][16]).convert()
        if tbl.get_size() != (64, 32):
            raise Exception("Wrong size!")
    except pygame.error:
        tbl = pygame.Surface([64, 32]).convert()
        tbl.fill((51, 51, 204))
    try:
        chair = pygame.image.load(avars[3][17]).convert()
        if chair.get_size() != (32, 32):
            raise Exception("Wrong size!")
    except pygame.error:
        chair = pygame.Surface([32, 32]).convert()
        chair.fill((51, 51, 204))

    fsprs = fdspr()

    fnt = pygame.font.Font("Sprites/Misc/font/Tama2.ttf", 16)
    lfnt = pygame.font.Font("Sprites/Misc/font/Tama1.ttf", 8)

    textbox = pygame.Surface([240, 112]).convert()
    textbox.fill((0, 255, 255))
    global tl
    global ty
    tl = 0
    ty = 0
    drhl()
    dral()
    tl = 6
    ty = 104
    drhl()

    scrli = pygame.image.load("Sprites/Misc/txtbox/scrli.png").convert()

    sound = sounds.imprtsnd(avars)

    clock = pygame.time.Clock()

    anifr = 0

    pygame.time.set_timer(USEREVENT + 1, int(1000 / ((5 * avars[3][3]) + 1)))

    if avars[3][3] == 0:
        avars[3][6] = time.strftime("%H:%M")

    while kr:
        screen.blit(bck, [0, 0])
        if bx or inf:
            screen.blit(textbox, [0, 24])
            if bx:
                screen.blit(scrli, [232, 128])
                global fdn
                fdn = 0
                drfd()
            else:
                screen.blit(fsprs[cfdn][0], [108, 32])
                screen.blit(hnb, [16, 56])
                if avars[3][4][cfdn][1] > 1:
                    screen.blit(hnb, [40, 56])
                    if avars[3][4][cfdn][1] > 2:
                        screen.blit(hnb, [64, 56])
                        if avars[3][4][cfdn][1] > 3:
                            screen.blit(hnb, [88, 56])
                if avars[3][4][cfdn][2] > 0:
                    screen.blit(hpb, [136, 56])
                    if avars[3][4][cfdn][2] > 1:
                        screen.blit(hpb, [160, 56])
                        if avars[3][4][cfdn][2] > 2:
                            screen.blit(hpb, [184, 56])
                            if avars[3][4][cfdn][2] > 3:
                                screen.blit(hpb, [208, 56])
                if avars[3][4][cfdn][5] > 0:
                    screen.blit(inti, [32, 80])
                if avars[3][4][cfdn][6] > 0:
                    screen.blit(styi, [64, 80])
                if avars[3][4][cfdn][7] > 0:
                    screen.blit(kndi, [96, 80])
                if avars[3][4][cfdn][8] > 0:
                    screen.blit(humi, [128, 80])
                if avars[3][4][cfdn][9] > 0:
                    screen.blit(gori, [160, 80])
                if avars[3][4][cfdn][10] > 0:
                    screen.blit(pasi, [192, 80])
                screen.blit((fnt.render("MOVE", 1, (0, 0, 100))), [95, 98])
                screen.blit((fnt.render("TRASH", 1, (0, 0, 100))), [89, 114])
        else:
            eatanim()
        screen = borders.drawborders(screen, avars, asprs, tpborder, btborder,
                                     borderico, fnt, 0, anifr, hn, hp, sk, sl)
        for event in pygame.event.get():
            if event.type == QUIT:
                varsup.updtvrs(avars)
                kr = False
                pygame.quit()
                sys.exit()
            if event.type == KEYDOWN:
                if event.key in [303, 304]:
                    spclk = True
            if event.type == KEYUP:
                if event.key in [303, 304]:
                    spclk = False
            if event.type == MOUSEBUTTONDOWN:
                mp = event.pos
                d = (screen.get_size()[0] // 240)
                mp = ((mp[0] // d), (mp[1] // d))
                pb = event.button + (spclk * (1 + (event.button > 2)))
                if pb in [2, 4]:
                    if 24 < mp[1] < 136:
                        sound[2].play()
                        if scr != ((len(avars[3][4]) - 1) // 24):
                            scr += 1
                        else:
                            scr = 0
                        clt = 0
                elif pb == 5:
                    if 24 < mp[1] < 136:
                        sound[2].play()
                        if scr != 0:
                            scr -= 1
                        else:
                            scr = ((len(avars[3][4]) - 1) // 24)
                        clt = 0
                elif pb == 1:
                    clt = 0
                    if 138 < mp[1] < 158:
                        if 228 < mp[0] < 240:
                            sound[4].play()
                            return (avars)
                    if bx:
                        if 44 < mp[1] < 116 and 14 < mp[0] < 230 and (
                                mp[0] - (14 + (27 *
                                               ((mp[0] - 14) // 27)))) < 24:
                            efdn = ((mp[0] - 14) // 27) + (8 * (
                                (mp[1] - 44) // 24)) + (scr * 24)
                            if efdn < len(avars[3][4]):
                                if not swt:
                                    sound[3].play()
                                    anifr = 23
                                    bx = False
                                    frms = -1
                                    if avars[avars[3][5]][16] < 6 and (
                                            avars[avars[3][5]][1] > 2
                                            or avars[3][4][efdn][0]
                                            not in alcohol):
                                        etng = 1
                                        h = avars[avars[3][5]][17]
                                        if (avars[avars[3][5]][1] > 3
                                                or avars[3][4][efdn][0]
                                                not in alcohol):
                                            if (avars[avars[3][5]][16] +
                                                    avars[3][4][efdn][1]) < 6:
                                                avars[avars[3][5]][
                                                    16] += avars[3][4][efdn][1]
                                            else:
                                                avars[avars[3][5]][16] = 6
                                            if (avars[avars[3][5]][17] +
                                                    avars[3][4][efdn][2]) < 6:
                                                avars[avars[3][5]][
                                                    17] += avars[3][4][efdn][2]
                                            else:
                                                avars[avars[3][5]][17] = 6
                                            if (avars[avars[3][5]][18] +
                                                    avars[3][4][efdn][3]) < 99:
                                                avars[avars[3][5]][
                                                    18] += avars[3][4][efdn][3]
                                            else:
                                                avars[avars[3][5]][18] = 99
                                        avars[avars[3]
                                              [5]][5] += avars[3][4][efdn][5]
                                        avars[avars[3]
                                              [5]][6] += avars[3][4][efdn][6]
                                        avars[avars[3]
                                              [5]][7] += avars[3][4][efdn][7]
                                        avars[avars[3]
                                              [5]][8] += avars[3][4][efdn][8]
                                        avars[avars[3]
                                              [5]][9] += avars[3][4][efdn][9]
                                        avars[avars[3]
                                              [5]][10] += avars[3][4][efdn][10]
                                        fname = avars[3][4][efdn][0]
                                        if likes[0] == fname:
                                            if (avars[avars[3][5]][17] +
                                                    2) < 6:
                                                avars[avars[3][5]][17] += 2
                                            else:
                                                avars[avars[3][5]][17] = 6
                                        elif likes[1] == fname:
                                            avars[avars[3][5]][17] = h
                                            if (avars[avars[3][5]][17] -
                                                    2) > 0:
                                                avars[avars[3][5]][17] -= 2
                                            else:
                                                avars[avars[3][5]][17] = 0
                                        if (avars[avars[3][5]][15] == 163
                                            ) and (
                                                len(avars[avars[3][5]][25]) > 0
                                            ) and (len(
                                                avars[avars[3][5]][26]) >
                                                   0) and (avars[3][4][efdn][0]
                                                           == 'Sake'):
                                            if ([
                                                    avars[avars[3][5]][25][1],
                                                    avars[avars[3][5]][26][1]
                                            ] in [[379, 380], [
                                                    380, 379
                                            ]]) and (avars[avars[3][5]][24][2]
                                                     == 57):
                                                avars[avars[3][5]][1] = 5
                                                avars = growth.grw(avars)
                                                asprs = aspr()
                                        if (avars[avars[3][5]][15] == 167
                                            ) and (
                                                len(avars[avars[3][5]][25]) > 0
                                            ) and (len(
                                                avars[avars[3][5]][26]) >
                                                   0) and (avars[3][4][efdn][0]
                                                           == 'Tea'):
                                            if ([
                                                    avars[avars[3][5]][25][1],
                                                    avars[avars[3][5]][26][1]
                                            ] in [[383, 384], [
                                                    384, 383
                                            ]]) and ((avars[avars[3][5]][7] +
                                                      avars[avars[3][5]][10]) >
                                                     999):
                                                avars[avars[3][5]][1] = 5
                                                avars = growth.grw(avars)
                                                asprs = aspr()
                                        if (avars[avars[3][5]][15] == 204
                                            ) and (
                                                avars[avars[3][5]][10] < 100
                                            ) and (avars[avars[3][5]][7] > 500
                                                   ) and (avars[3][4][efdn][0]
                                                          == 'Cake'):
                                            avars[avars[3][5]][1] = 5
                                            avars = growth.grw(avars)
                                            asprs = aspr()
                                        avars[3][4][efdn][4] -= 1
                                        if avars[3][4][efdn][4] == 0:
                                            a = avars[3][4]
                                            a.pop(efdn)
                                            avars[3][4] = a
                                else:
                                    if efdn == cfdn:
                                        sound[12].play()
                                    else:
                                        sound[3].play()
                                        a = avars[3][4]
                                        a[efdn], a[cfdn] = a[cfdn], a[efdn]
                                        avars[3][4] = a
                                    swt = False
                                    fsprs = fdspr()
                    elif inf:
                        if 32 < mp[1] < 56 and 108 < mp[0] < 132:
                            sound[3].play()
                            inf = False
                            bx = True
                        if 98 < mp[1] < 110 and 95 < mp[0] < 145:
                            sound[3].play()
                            swt = True
                            inf = False
                            bx = True
                        if 114 < mp[1] < 126 and 89 < mp[0] < 153:
                            sound[3].play()
                            avars[3][4][cfdn][4] -= 1
                            if avars[3][4][cfdn][4] == 0:
                                a = avars[3][4]
                                a.pop(cfdn)
                                avars[3][4] = a
                            if len(avars[3][4]) > 0:
                                inf = False
                                bx = True
                                fsprs = fdspr()
                                if ((len(avars[3][4]) - 1) // 24) < scr:
                                    scr = (len(avars[3][4]) - 1) // 24
                            else:
                                return (avars)
                    elif frms != 0:
                        if len(avars[3][4]) > 0:
                            etng = 0
                            bx = True
                            frms = 0
                            fname = ''
                            fsprs = fdspr()
                        else:
                            return (avars)
                if pb == 3:
                    clt = 0
                    if bx:
                        if 44 < mp[1] < 116 and 14 < mp[0] < 230 and (
                                mp[0] - (14 + (27 *
                                               ((mp[0] - 14) // 27)))) < 24:
                            cfdn = ((mp[0] - 14) // 27) + (8 * (
                                (mp[1] - 44) // 24)) + (scr * 24)
                            if cfdn < len(avars[3][4]):
                                sound[3].play()
                                anifr = 23
                                bx = False
                                inf = True
            if event.type == USEREVENT + 1:
                if avars[3][3] == 0:
                    avars[3][6] = time.strftime("%H:%M")
                else:
                    avars[3][7] += 1
                    if avars[3][7] == 60:
                        if int(avars[3][6][3:]) != 59:
                            nhour = avars[3][6][:3] + (
                                "%02d" % (int(avars[3][6][3:]) + 1))
                            avars[3][6] = nhour
                        else:
                            nhour = ("%02d" %
                                     (int(avars[3][6][:2]) + 1)) + ":00"
                            if nhour == "24:00":
                                nhour = "00:00"
                            avars[3][6] = nhour
                        avars[3][7] = 0
                if len(avars[0]) > 0:
                    avars[0][2] += 1
                if len(avars[1]) > 0:
                    avars[1][2] += 1
                if len(avars[2]) > 0:
                    avars[2][2] += 1
                chngsts = True
                if bx:
                    clt += 1
        if chngsts:
            avars = statusup.chngsts(avars)
            if avars[avars[3][5]][20] or not avars[avars[3][5]][21]:
                return (avars)
            chngsts = False
        if anifr < 23:
            anifr += 1
        else:
            if not bx and not inf:
                frms += 1
                if frms == 2:
                    if (etng == 1 and (fname not in alcohol) and
                        (fname not in likes)) or etng == 0 or etng == 3 or (
                            etng == 2 and (fname not in likes)):
                        if len(avars[3][4]) > 0:
                            etng = 0
                            bx = True
                            frms = 0
                            fname = ''
                            fsprs = fdspr()
                            if ((len(avars[3][4]) - 1) // 24) < scr:
                                scr = (len(avars[3][4]) - 1) // 24
                        else:
                            return (avars)
                    elif etng == 1 and (fname in alcohol):
                        sound[5].play()
                        frms = 0
                        etng = 2
                    else:
                        sound[12 - (3 * (likes[0] == fname))].play()
                        frms = 0
                        etng = 3
            anifr = 0
        if clt > 29:
            return (avars)
        s = pygame.Surface([240, 160]).convert()
        s.blit(screen, [0, 0])
        s = pygame.transform.scale(
            s, (screen.get_size()[0], screen.get_size()[1]))
        screen.blit(s, [0, 0])
        clock.tick(16)
        pygame.display.update()
Beispiel #5
0
def bir(avars, asprs, mate, negg, screen):
    
    kr = True

    scr = 0
    name = False
    ne = False

    def chsprs(chara, dirt, g):
        sprs = []
        if chara > 0:
            try:
                bs = pygame.image.load("Sprites/Characters/chara_" + str(chara) + "b.png")
                ss = pygame.image.load("Sprites/Characters/chara_" + str(chara) + "s.png")
                opal = []
                for i in range(32):
                    opal.append(ss.get_at(((16 + (8 * (i % 2))), (16 + (i // 2)))))
                bs = palette.palch(bs, g, opal)
                if dirt:
                    bs = dirty.dirt(bs)
                ss = palette.palch(ss, g, opal)
            except:
                bs = pygame.image.load("Sprites/NPC/Nazotchi.png")
                ss = pygame.image.load("Sprites/NPC/Nazo.png")
                opal = []
                for i in range(32):
                    opal.append(ss.get_at(((16 + (8 * (i % 2))), (16 + (i // 2)))))
                bs = palette.palch(bs, g, opal)
                ss = palette.palch(ss, g, opal)
            for i in range(3):
                a = pygame.Surface([16, 16])
                a.fill((0, 255, 255))
                a.blit(ss, [-(16 * (i % 2)), -(16 * (i // 2))])
                a.set_colorkey((0, 255, 255))
                a.convert()
                sprs.append(a)
            s = (bs.get_width() // 4)
            for i in range(16):
                spr = pygame.Surface([s, s]).convert()
                spr.fill((0, 255, 255))
                spr.blit(bs, [-(s * (i % 4)), -(s * (i // 4))])
                spr.set_colorkey((0, 255, 255))
                sprs.append(spr)
        else:
            bs = pygame.image.load("Sprites/Eggs/egg_" + str(-chara) + "b.png")
            ss = pygame.image.load("Sprites/Eggs/egg_" + str(-chara) + "s.png")
            for i in range(2):
                a = pygame.Surface([16, 16])
                a.fill((0, 255, 255))
                a.blit(ss, [-(16 * (i % 2)), 0])
                a.set_colorkey((0, 255, 255))
                a.convert()
                sprs.append(a)
            for i in range(4):
                spr = pygame.Surface([24, 24]).convert()
                spr.fill((0, 255, 255))
                spr.blit(bs, [-(24 * (i % 2)), -(24 * (i // 2))])
                spr.set_colorkey((0, 255, 255))
                sprs.append(spr)
        return(sprs)

    fnt = pygame.font.Font("Sprites/Misc/font/Tama2.ttf", 16)
    
    nw = ""
    nmwr = fnt.render(nw, 1, (0, 0, 100))

    hn = pygame.image.load("Sprites/Misc/menu/hngs.png").convert()
    hp = pygame.image.load("Sprites/Misc/menu/hpys.png").convert()
    sk = pygame.image.load("Sprites/Misc/menu/scks.png").convert()
    sl = pygame.image.load("Sprites/Misc/menu/slps.png").convert()

    boytxt = fnt.render("BOY", 1, (204, 204, 255))

    girltxt = fnt.render("GIRL", 1, (255, 204, 204))

    wrttxt = fnt.render("WRITE", 1, (102, 102, 255))

    clock = pygame.time.Clock()

    def impvrs():
        d = shelve.open('save_db')
        if ('egg1' in d):
            var1 = [d['egg1'], d['charag1'], d['time1'], d['gene1'], d['poo1'], d['int1'], d['sty1'], d['knd1'], d['hum1'], d['gor1'], d['pas1'], d['grp1'], d['grpf1'],
                    d['grpm1'], d['gender1'], d['chara1'], d['hungry1'], d['happy1'], d['weight1'], d['caremiss1'], d['sick1'], d['awake1'], d['chname1'], d['room1'],
                    d['stages1'], d['parent1'], d['pspouse1'], d['gparent1'], d['gpspouse1'] ,d['agen1'], d['dirty1'], d['edu1'], d['frnd1'], d['pttrain1']]
        else:
            var1 = []

        if ('egg2' in d):
            var2 = [d['egg2'], d['charag2'], d['time2'], d['gene2'], d['poo2'], d['int2'], d['sty2'], d['knd2'], d['hum2'], d['gor2'], d['pas2'], d['grp2'], d['grpf2'],
                    d['grpm2'], d['gender2'], d['chara2'], d['hungry2'], d['happy2'], d['weight2'], d['caremiss2'], d['sick2'], d['awake2'], d['chname2'], d['room2'],
                    d['stages2'], d['parent2'], d['pspouse2'], d['gparent2'], d['gpspouse2'], d['agen2'], d['dirty2'], d['edu2'], d['frnd2'], d['pttrain2']]
        else:
            var2 = []

        if ('egg3' in d):
            var3 = [d['egg3'], d['charag3'], d['time3'], d['gene3'], d['poo3'], d['int3'], d['sty3'], d['knd3'], d['hum3'], d['gor3'], d['pas3'], d['grp3'], d['grpf3'],
                    d['grpm3'], d['gender3'], d['chara3'], d['hungry3'], d['happy3'], d['weight3'], d['caremiss3'], d['sick3'], d['awake3'], d['chname3'], d['room3'],
                    d['stages3'], d['parent3'], d['pspouse3'], d['gparent3'], d['gpspouse3'], d['agen3'], d['dirty3'], d['edu3'], d['frnd3'], d['pttrain3']]
        else:
            var3 = []

        gvar = [d['uname'], d['bday'], d['money'], d['speed'], d['food'], d['selchara'], d['hour'], d['secs'], d['vol'], d['item'], d['grave'], d['mail'],
                d['lstdt'], d['border'], d['chegg'], d['kitchen'], d['table'], d['chair'], d['wc'], d['toilet'], d['btoilet'], d['bathr'], d['bath'], d['dex']]

        avars = [var1, var2, var3, gvar]
        d.close()
        return(avars)

    if len(mate) > 0:
        if mate[0] == avars[3][0]:
            try:
                a = avars[0][14]
            except:
                a = 0
            try:
                b = avars[1][14]
            except:
                b = 0
            try:
                c = avars[2][14]
            except:
                c = 0
            l = [a, b, c]
            if mate[3] in l:
                varsup.updtvrs(avars)
                d = shelve.open('save_db')
                if mate[3] == l[0]:
                    del d['egg1']
                elif mate[3] == l[1]:
                    del d['egg2']
                elif mate[3] == l[2]:
                    del d['egg3']
                d.close()
                avars = impvrs()

    tpborder, btborder = borders.getborders(avars[3][13], 0, 0, 0)

    def aspr():
        if len(avars[0]) > 0:
            if avars[0][1] > 0:
                sprs0 = chsprs(avars[0][15], (avars[0][30] == 2), avars[0][14])
            else:
                sprs0 = chsprs(0 - avars[0][0], 0, 0)
        else:
            sprs0 = []
        if len(avars[1]) > 0:
            if avars[1][1] > 0:
                sprs1 = chsprs(avars[1][15], (avars[1][30] == 2), avars[1][14])
            else:
                sprs1 = chsprs(0 - avars[1][0], 0, 0)
        else:
            sprs1 = []
        if len(avars[2]) > 0:
            if avars[2][1] > 0:
                sprs2 = chsprs(avars[2][15], (avars[2][30] == 2), avars[2][14])
            else:
                sprs2 = chsprs(0 - avars[2][0], 0, 0)
        else:
            sprs2 = []
        asprs = [sprs0, sprs1, sprs2]
        return(asprs)

    def drawbg():
        try:
            if pygame.image.load(avars[avars[3][5]][23]).get_rect().size == (240, 160):
                bgi = pygame.image.load(avars[avars[3][5]][23]).convert()
            else:
                bgi = pygame.Surface([240, 160]).convert()
                bgi.fill((51, 51, 204))
                bgi.blit(fnt.render("IMAGE SIZE IS", 1, (255, 255, 255)), [8, 34])
                bgi.blit(fnt.render("INCORRECT!!!", 1, (255, 255, 255)), [8, 50])
                bgi.blit(fnt.render("DO NOT MESS", 1, (255, 255, 255)), [8, 66])
                bgi.blit(fnt.render("WITH THE", 1, (255, 255, 255)), [8, 82])
                bgi.blit(fnt.render("GAME FILES!", 1, (255, 255, 255)), [8, 98])
        except pygame.error:
            bgi = pygame.Surface([240, 160]).convert()
            bgi.fill((51, 51, 204))
            bgi.blit(fnt.render("ERROR 404:", 1, (255, 255, 255)), [8, 34])
            bgi.blit(fnt.render("BACKGROUND IMAGE", 1, (255, 255, 255)), [8, 50])
            bgi.blit(fnt.render("NOT FOUND", 1, (255, 255, 255)), [8, 66])
        if int(time.strftime("%m")) == 12 and int(time.strftime("%d")) > 19:
            bgi.blit(pygame.image.load("Sprites/Misc/bg/xmasbg.png").convert(), [0, 0])
        elif int(time.strftime("%m")) == 1 and int(time.strftime("%d")) < 11:
            bgi.blit(pygame.image.load("Sprites/Misc/bg/newyearbg.png").convert(), [0, 0])
        elif int(time.strftime("%m")) == 3 and int(time.strftime("%d")) < 11:
            bgi.blit(pygame.image.load("Sprites/Misc/bg/girlsbg.png").convert(), [0, 0])
        elif int(time.strftime("%m")) == 4 and int(time.strftime("%d")) < 11:
            bgi.blit(pygame.image.load("Sprites/Misc/bg/hanamibg.png").convert(), [0, 0])
        elif int(time.strftime("%m")) == 5 and int(time.strftime("%d")) < 11:
            bgi.blit(pygame.image.load("Sprites/Misc/bg/boysbg.png").convert(), [0, 0])
        elif int(time.strftime("%m")) == 7 and int(time.strftime("%d")) < 11:
            bgi.blit(pygame.image.load("Sprites/Misc/bg/tanabatabg.png").convert(), [0, 0])
        elif int(time.strftime("%m")) == 8 and 10 < int(time.strftime("%d")) < 21:
            bgi.blit(pygame.image.load("Sprites/Misc/bg/firewkbg.png").convert(), [0, 0])
        elif (int(time.strftime("%m")) == 10 and int(time.strftime("%d")) > 25) or (int(time.strftime("%m")) == 11 and int(time.strftime("%d")) < 5):
            bgi.blit(pygame.image.load("Sprites/Misc/bg/haweenbg.png").convert(), [0, 0])
        if (time.strftime("%m") + time.strftime("%d")) == avars[3][1]:
            bgi.blit(pygame.image.load("Sprites/Misc/bg/bdaybg.png").convert(), [0, 0])
        return(bgi)

    bgi = drawbg()

    eggs = chsprs(-(negg[0]), 0, 0)

    sound = sounds.imprtsnd(avars)

    anifr = 0

    pygame.time.set_timer(USEREVENT + 1, int(1000 / ((5 * avars[3][3]) + 1)))
    
    if avars[3][3] == 0:
        avars[3][6] = time.strftime("%H:%M")

    while kr:
        screen.blit(bgi, [0, 0])
        if scr == 0:
            screen.blit(eggs[2 + (anifr % 12 > 5)], [108, 106])
            screen.blit(pygame.transform.flip(asprs[avars[3][5]][16], 1, 0), [72, 98])
        elif scr == 1:
            if anifr < 132:
                screen.blit(eggs[4], [(107 + (2 * (anifr % 6 > 2))), 106])
                screen.blit(pygame.transform.flip(asprs[avars[3][5]][4 + (5 * (anifr % 12 > 5))], 1, 0), [72, 98])
            else:
                if anifr == 132:
                    pygame.mixer.stop()
                    sound[8].play()
                screen.blit(babys[5], [112, 107])
                screen.blit(eggs[5], [108, 106])
                screen.blit(pygame.transform.flip(asprs[avars[3][5]][5], 1, 0), [72, 98])
        elif scr == 2:
            screen.blit(babys[11 + (anifr % 12 > 5)], [112, 114])
            screen.blit(pygame.transform.flip(asprs[avars[3][5]][6], 1, 0), [72, 98])
        elif scr == 3:
            if anifr < 24:
                screen.blit(babys[5 + (5 * (anifr % 12 > 5))], [104, 106])
                screen.blit(pygame.transform.flip(asprs[avars[3][5]][5 + (10 * (anifr % 12 > 5))], 1, 0), [72, 98])
            elif anifr < 48:
                screen.blit(babys[4 + (2 * (anifr % 12 > 5))], [112, 114])
                screen.blit(pygame.transform.flip(asprs[avars[3][5]][3 + (anifr % 12 > 5)], 1, 0), [72, 98])
            elif anifr < 60:
                screen.blit(babys[18], [112, 114])
                screen.blit(pygame.transform.flip(asprs[avars[3][5]][12], 1, 0), [72, 98])
            elif anifr < 108:
                screen.blit(babys[18], [112, 114])
                screen.blit(pygame.transform.flip(asprs[avars[3][5]][6 + (anifr % 12 > 5)], 1, 0), [72, 98])
            elif anifr < 132:
                screen.blit(babys[18], [112, 114])
                screen.blit(asprs[avars[3][5]][11 + (2 * (anifr % 12 < 6))], [(48 - (24 * ((anifr - 108) // 6))), (98 - (2 * (anifr % 12 < 6)))])
            else:
                screen.blit(babys[9], [112, 114])
        screen = borders.drawborders(screen, avars, asprs, tpborder, btborder, 0, fnt, name, anifr, hn, hp, sk, sl)
        for event in pygame.event.get():
            if event.type == QUIT:
                pygame.mixer.stop()
                sound[12].play()
            if event.type == pygame.KEYDOWN:
                if name and scr == 2:
                    if pygame.K_a <= event.key <= pygame.K_z:
                        ltr = chr(event.key)
                        if len(nw) < 8:
                            nw = (nw + str(ltr)).upper()
                        nmwr = fnt.render(nw, 1, (0, 0, 100))
                        ne = True
                    if event.key == pygame.K_BACKSPACE:
                        if len(nw) != 0:
                            if len(nw) == 1:
                                ne = False
                            nw = nw[:len(nw) - 1]
                            nmwr = fnt.render(nw, 1, (0, 0, 100))
                    if event.key == pygame.K_RETURN:
                        if ne:
                            avars[avars[3][5]][2] = 0
                            avars[avars[3][5]][22] = nw
                            anifr = 0
                            scr = 3
            if event.type == USEREVENT + 1:
                if avars[3][3] == 0:
                    avars[3][6] = time.strftime("%H:%M")
                else:
                    avars[3][7] += 1
                    if avars[3][7] == 60:
                        if int(avars[3][6][3:]) != 59:
                            nhour = avars[3][6][:3] + ("%02d" % (int(avars[3][6][3:]) + 1))
                            avars[3][6] = nhour
                        else:
                            nhour = ("%02d" % (int(avars[3][6][:2]) + 1)) + ":00"
                            if nhour == "24:00":
                                nhour = "00:00"
                            avars[3][6] = nhour
                        avars[3][7] = 0
                if len(avars[0]) > 0:
                    avars[0][2] += 1
                if len(avars[1]) > 0:
                    avars[1][2] += 1
                if len(avars[2]) > 0:
                    avars[2][2] += 1
        if name and scr == 2:
            genbk= pygame.Surface([240, 24]).convert()
            if avars[avars[3][5]][14] % 2 == 0:
                genbk.fill((0, 0, 100))
                genbk.blit(boytxt, [102, 4])
            else:
                genbk.fill((100, 0, 0))
                genbk.blit(girltxt, [96, 4])
            screen.blit(genbk, [0, 24])
            screen.blit(nmwr, [67, 6])
            if not ne:
                screen.blit(wrttxt, [67, 6])
        else:
            screen.blit((fnt.render(avars[avars[3][5]][22], 1, (0, 0, 100))), [67, 6])
        if anifr < 143:
            anifr += 1
        else:
            anifr = 0
            if scr == 0:
                scr = 1
                name = True
                #print(negg)
                #print(avars[avars[3][5]][11])
                #print(avars[avars[3][5]][12])
                #print(avars[avars[3][5]][13])
                #print(avars[avars[3][5]][14])
                p = ["PARK", avars[avars[3][5]][22], avars[avars[3][5]][15], avars[avars[3][5]][14], avars[avars[3][5]][13], avars[avars[3][5]][12], avars[avars[3][5]][11], [avars[avars[3][5]][2], 0], 0]
                avars[avars[3][5]][27] = avars[avars[3][5]][25]
                avars[avars[3][5]][28] = avars[avars[3][5]][26]
                avars[avars[3][5]][25] = [avars[avars[3][5]][14],
                                          avars[avars[3][5]][15],
                                          avars[avars[3][5]][22],
                                          avars[avars[3][5]][24],
                                          avars[avars[3][5]][12],
                                          avars[avars[3][5]][13]]
                if len(mate) > 0:
                    q = ["PARK", mate[1], mate[2], mate[3], mate[4], mate[5], mate[6], [avars[avars[3][5]][2], 0], 0]
                    avars[avars[3][5]][26] = [mate[3],
                                              mate[2],
                                              mate[4],
                                              mate[5]]
                else:
                    avars[avars[3][5]][26] = []
                a = avars[avars[3][5]][29]
                a.append([avars[avars[3][5]][14],
                          avars[avars[3][5]][15],
                          avars[avars[3][5]][24]])
                avars[avars[3][5]][0] = negg[0]
                avars[avars[3][5]][1] = 1
                avars[avars[3][5]][2] = 0
                avars[avars[3][5]][3] += 1
                avars[avars[3][5]][4] = 0
                avars[avars[3][5]][5] = 0
                avars[avars[3][5]][6] = 0
                avars[avars[3][5]][7] = 0
                avars[avars[3][5]][8] = 0
                avars[avars[3][5]][9] = 0
                avars[avars[3][5]][10] = 0
                avars[avars[3][5]][11] = negg[1]
                if negg[0] < 9:
                    avars[avars[3][5]][12] = negg[1]
                    avars[avars[3][5]][13] = negg[2]
                avars[avars[3][5]][14] = negg[3]
                avars[avars[3][5]][15] = 0
                avars[avars[3][5]][16] = 0
                avars[avars[3][5]][17] = 0
                avars[avars[3][5]][18] = 5
                avars[avars[3][5]][19] = 0
                avars[avars[3][5]][20] = False
                avars[avars[3][5]][21] = True
                avars[avars[3][5]][22] = ""
                avars[avars[3][5]][24] = []
                avars[avars[3][5]][30] = 0
                avars[avars[3][5]][31] = 0
                if len(mate) > 0:
                    avars[avars[3][5]][32] = [p, q]
                else:
                    avars[avars[3][5]][32] = [p]
                avars[avars[3][5]][33] = 0
                avars = growth.grw(avars)
                babys = chsprs(avars[avars[3][5]][15], 0, avars[avars[3][5]][14])
                #print(avars[avars[3][5]][11])
                #print(avars[avars[3][5]][12])
                #print(avars[avars[3][5]][13])
                #print(avars[avars[3][5]][14])
                pygame.mixer.stop()
                sound[7].play()
            elif scr == 1:
                scr = 2
            elif scr == 3:
                #print(avars[avars[3][5]][25])
                #print(avars[avars[3][5]][26])
                #print(avars[avars[3][5]][27])
                #print(avars[avars[3][5]][28])
                #print(avars[avars[3][5]][29])
                pygame.mixer.stop()
                sound[0].play()
                return(avars)
        r = pygame.Surface([240, 160]).convert()
        r.blit(screen, [0, 0])
        r = pygame.transform.scale(r, (screen.get_size()[0], screen.get_size()[1]))
        screen.blit(r, [0, 0])
        clock.tick(16)
        pygame.display.update()
Beispiel #6
0
def game(avars, asprs, screen):

    class Mnbx(pygame.sprite.Sprite):

        bxt = []
        
        def __init__(self):
            super().__init__()
            box = pygame.image.load("Sprites/Misc/txtbox/box2.png").convert()

            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 16, 8, 8))
            self.bxt.append(image)

            self.image = self.bxt[0]
            self.rect = self.image.get_rect()

        def update(self):
            self.image = self.bxt[tl]
    
    kr = True

    chngsts = False

    scr = 0

    dnc = 0
    cmov = 0
    nmov = randint(0, 3)

    ret = 1
    spret = 0

    tuts = True
    strt = False
    play = False
    end = 0

    def chsprs(chara, dirt, g):
        sprs = []
        bs = pygame.image.load("Sprites/Characters/chara_" + str(chara) + "b.png")
        ss = pygame.image.load("Sprites/Characters/chara_" + str(chara) + "s.png")
        opal = []
        for i in range(32):
            opal.append(ss.get_at(((16 + (8 * (i % 2))), (16 + (i // 2)))))
        bs = palette.palch(bs, g, opal)
        if dirt:
            bs = dirty.dirt(bs)
        ss = palette.palch(ss, g, opal)
        for i in range(3):
            a = pygame.Surface([16, 16])
            a.fill((0, 255, 255))
            a.blit(ss, [-(16 * (i % 2)), -(16 * (i // 2))])
            a.set_colorkey((0, 255, 255))
            a.convert()
            sprs.append(a)
        s = (bs.get_width() // 4)
        for i in range(16):
            spr = pygame.Surface([s, s]).convert()
            spr.fill((0, 255, 255))
            spr.blit(bs, [-(s * (i % 4)), -(s * (i // 4))])
            spr.set_colorkey((0, 255, 255))
            sprs.append(spr)
        return(sprs)

    def drbx():
        tile = Mnbx()
        tile.update()
        textbox.blit(tile.image, [tx, ty])

    def drhl():
        global tx
        global tl
        tx = 0
        drbx()
        tl += 1
        while tx < 48:
            tx += 8
            drbx()
        tx = 56
        tl += 1
        drbx()

    def dral():
        global ty
        global tl
        while ty < 16:
            tl = 3
            ty += 8
            drhl()

    def aspr():
        if len(avars[0]) > 0:
            sprs0 = chsprs(avars[0][15], (avars[0][30] == 2), avars[0][14])
        else:
            sprs0 = []
        if len(avars[1]) > 0:
            sprs1 = chsprs(avars[1][15], (avars[1][30] == 2), avars[1][14])
        else:
            sprs1 = []
        if len(avars[2]) > 0:
            sprs2 = chsprs(avars[2][15], (avars[2][30] == 2), avars[2][14])
        else:
            sprs2 = []
        asprs = [sprs0, sprs1, sprs2]
        return(asprs)

    tpborder, btborder, borderico = borders.getborders(avars[3][13], 1, 3, 1)

    hn = pygame.image.load("Sprites/Misc/menu/hngs.png").convert()
    hp = pygame.image.load("Sprites/Misc/menu/hpys.png").convert()
    sk = pygame.image.load("Sprites/Misc/menu/scks.png").convert()
    sl = pygame.image.load("Sprites/Misc/menu/slps.png").convert()

    tutimg = pygame.image.load("Sprites/Misc/bg/concertt.png").convert()

    playbk = pygame.Surface((240, 160)).convert()
    f = pygame.image.load("Sprites/Misc/bg/job_1.png").convert()
    playbk.blit(f, [0, -160])

    cncth = []
    c = pygame.image.load("Sprites/Misc/bg/concert.png").convert()
    for i in [0, 1, 2, 3]:
        h = pygame.Surface((240, 160)).convert()
        h.blit(c, [-(240 * (i % 2)), -(160 * (i // 2))])
        cncth.append(h)

    emot = [pygame.image.load("Sprites/Misc/emo/heart2.png").convert(), pygame.image.load("Sprites/Misc/emo/happy.png").convert(),
            pygame.image.load("Sprites/Misc/emo/shine.png").convert(), pygame.image.load("Sprites/Misc/emo/em.png").convert(),
            pygame.image.load("Sprites/Misc/emo/qm.png").convert(), pygame.image.load("Sprites/Misc/emo/music2.png").convert(),
            pygame.image.load("Sprites/Misc/emo/music1.png").convert(), pygame.image.load("Sprites/Misc/emo/heart.png").convert()]

    poof = pygame.image.load("Sprites/Misc/obj/poof.png").convert()

    ready = pygame.image.load("Sprites/Misc/bg/ready.png").convert()
    go = pygame.image.load("Sprites/Misc/bg/go.png").convert()

    toobad = pygame.image.load("Sprites/Misc/bg/toobad.png").convert()
    good = pygame.image.load("Sprites/Misc/bg/good.png").convert()
    great = pygame.image.load("Sprites/Misc/bg/great.png").convert()
    excellent = pygame.image.load("Sprites/Misc/bg/excellent.png").convert()

    win = pygame.image.load("Sprites/Misc/emo/happy.png").convert()
    cry = pygame.image.load("Sprites/Misc/emo/cry.png").convert()

    money = pygame.image.load("Sprites/Misc/obj/money.png").convert()
    coin = pygame.image.load("Sprites/Misc/menu/gotchipt.png").convert()

    fnt = pygame.font.Font("Sprites/Misc/font/Tama2.ttf", 16)

    textbox = pygame.Surface([240, 64]).convert()
    textbox.fill((0, 255, 255))
    global tl
    global ty
    tl = 0
    ty = 0
    drhl()
    dral()
    tl = 6
    ty = 24
    drhl()
    textbox.set_colorkey((0, 255, 255))

    clock = pygame.time.Clock()

    sound = sounds.imprtsnd(avars)

    anifr = 0

    pygame.time.set_timer(USEREVENT + 1, int(1000 / ((5 * avars[3][3]) + 1)))
    
    if avars[3][3] == 0:
        avars[3][6] = time.strftime("%H:%M")

    while kr:
        if tuts:
            screen.blit(tutimg, [0, 0])
        elif strt:
            screen.blit(playbk, [0, 0])
            if anifr == 16:
                pygame.mixer.stop()
                sound[11].play()
            if anifr < 16:
                screen.blit(ready, [80, 48])
                spr = 3
            else:
                screen.blit(go, [95, 48])
                spr = 5
            screen.blit(asprs[avars[3][5]][spr], [(104 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)), (98 + (32 - asprs[avars[3][5]][spr].get_height()))])
        elif play:
            screen.blit(cncth[cmov], [0, 0])
            if dnc == cmov:
                spr = [4, 5, 3, 13, 10, 15, 10, 5][(2 * dnc) + (anifr % 12 > 5)]
                if nmov > -1:
                    for i in [0, 1, 2, 3]:
                        screen.blit(emot[(2 * nmov) + ((anifr % 12 > 5) == (i % 2))], [[8, 72, 152, 216][i], [112, 32][i % 3 > 0]])
            else:
                spr = 7
            screen.blit(pygame.transform.flip(asprs[avars[3][5]][spr], (dnc == 2), 0), [[104, 32, 176, 104][dnc], [99, 64][dnc == 3]])
        else:
            screen.blit(playbk, [0, 0])
            if end == 3:
                screen.blit(money, [88, 106])
                if anifr < 8:
                    spr = 11
                else:
                    if anifr == 8:
                        pygame.mixer.stop()
                        sound[13].play()
                    screen.blit(textbox, [94, 64])
                    mntxt = fnt.render(str(scr * 125), 1, (0, 0, 100))
                    screen.blit(mntxt, [(138 - (mntxt.get_width())), 74])
                    screen.blit(coin, [138, 72])
                    if scr > 0:
                        spr = 5
                    else:
                        spr = 6
                screen.blit(asprs[avars[3][5]][spr], [(124 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)), (98 + (32 - asprs[avars[3][5]][spr].get_height()))])
            elif end == 4:
                if scr < 8:
                    screen.blit(toobad, [71, 48])
                    sy = 98
                    if ((anifr / 12) - (anifr // 12)) < 0.5:
                        spr = 6
                    else:
                        spr = 7
                        screen.blit(cry, [56, 90])
                else:
                    if scr < 16:
                        screen.blit(good, [94, 48])
                    elif scr < 24:
                        screen.blit(great, [85, 48])
                    else:
                        screen.blit(excellent, [51, 48])
                    if ((anifr / 12) - (anifr // 12)) < 0.5:
                        sy = 98
                        spr = 4
                    else:
                        sy = 90
                        spr = 5
                        screen.blit(win, [136, 82])
                screen.blit(asprs[avars[3][5]][spr], [(104 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)), (sy + (32 - asprs[avars[3][5]][spr].get_height()))])
            elif end == 5:
                screen.blit(cncth[3], [0, 0])
                if anifr < 6:
                    screen.blit(asprs[avars[3][5]][5], [104, 64])
                else:
                    screen.blit(poof, [104, 64])
                for i in [0, 1, 2, 3]:
                    screen.blit(emot[6 + ((anifr % 12 > 5) == (i % 2))], [[8, 72, 152, 216][i], [112, 32][i % 3 > 0]])
        screen = borders.drawborders(screen, avars, asprs, tpborder, btborder, borderico, fnt, 0, anifr, hn, hp, sk, sl)
        for event in pygame.event.get():
            if event.type == QUIT:
                varsup.updtvrs(avars)
                kr = False
                pygame.quit()
                sys.exit()
            if event.type == MOUSEBUTTONDOWN:
                mp = event.pos
                d = (screen.get_size()[0] // 240)
                mp = ((mp[0] // d), (mp[1] // d))
                pb = event.button
                if pb == 1:
                    if 138 < mp[1] < 158:
                        if 228 < mp[0] < 240:
                            pygame.mixer.stop()
                            sound[4].play()
                            return(avars, ret)
                        elif 212 < mp[0] < 224:
                            pygame.mixer.stop()
                            sound[4].play()
                            ret = 0
                            return(avars, ret)
                    if (24 < mp[1] < 136) and tuts:
                        pygame.mixer.stop()
                        sound[10].play()
                        tuts = False
                        strt = True
                        anifr = -1
            if event.type == USEREVENT + 1:
                if avars[3][3] == 0:
                    avars[3][6] = time.strftime("%H:%M")
                else:
                    avars[3][7] += 1
                    if avars[3][7] == 60:
                        if int(avars[3][6][3:]) != 59:
                            nhour = avars[3][6][:3] + ("%02d" % (int(avars[3][6][3:]) + 1))
                            avars[3][6] = nhour
                        else:
                            nhour = ("%02d" % (int(avars[3][6][:2]) + 1)) + ":00"
                            if nhour == "24:00":
                                nhour = "00:00"
                            avars[3][6] = nhour
                        avars[3][7] = 0
                if len(avars[0]) > 0:
                    avars[0][2] += 1
                if len(avars[1]) > 0:
                    avars[1][2] += 1
                if len(avars[2]) > 0:
                    avars[2][2] += 1
                chngsts = True
        if chngsts:
            avars = statusup.chngsts(avars)
            chngsts = False
        if anifr < 23:
            anifr += 1
            if play and anifr % 6 == 0 and dnc == cmov:
                pygame.mixer.stop()
                sound[19 + cmov].play()
        else:
            anifr = 0
            if strt:
                play = True
                strt = False
                pygame.mixer.stop()
                sound[19].play()
            elif play:
                if dnc != cmov or nmov == -1:
                    end = 3
                    play = False
                else:
                    cmov = nmov
                    nmov = randint(0, 3)
                    p = pygame.mouse.get_pos()
                    d = (screen.get_size()[0] // 240)
                    p = ((p[0] // d), (p[1] // d))
                    dnc = (2 * ((2 * p[0]) > (3 * p[1]))) + ((480 - (2 * p[0])) > (3 * p[1]))
                    if dnc == cmov:
                        pygame.mixer.stop()
                        sound[19 + cmov].play()
                        scr += 1
                        if scr == 24:
                            nmov = -1
                    else:
                        pygame.mixer.stop()
                        sound[12].play()
                        anifr = 12
                if not play:
                    if (avars[3][2] + (scr * 125)) < 99999:
                        avars[3][2] += (scr * 125)
                    else:
                        avars[3][2] = 99999
                    avars[avars[3][5]][6] += scr
            elif end == 3:
                if scr < 24 or avars[avars[3][5]][15] != 278 or avars[avars[3][5]][6] < 1000:
                    if scr < 8:
                        pygame.mixer.stop()
                        sound[14].play()
                    else:
                        pygame.mixer.stop()
                        sound[1].play()
                    end = 4
                else:
                    pygame.mixer.stop()
                    sound[15].play()
                    end = 5
            elif end == 5:
                pygame.mixer.stop()
                sound[1].play()
                avars[avars[3][5]][1] = 5
                avars = growth.grw(avars)
                asprs = aspr()
                spret = 1
                end = 4
            elif end == 4:
                ret = spret
                return(avars, ret)
        s = pygame.Surface([240, 160]).convert()
        s.blit(screen, [0, 0])
        s = pygame.transform.scale(s, (screen.get_size()[0], screen.get_size()[1]))
        screen.blit(s, [0, 0])
        clock.tick(16)
        pygame.display.update()
Beispiel #7
0
def prk(avars, asprs, screen, pt, pchr, panit, pcharinfo):

    kr = True

    chngsts = False

    ar = True

    ret = 1

    swthr = ["skyd", "skyaf", "skyn"]
    cwthr = ["skydc", "skydc", "skync"]
    wthrbk = [swthr, cwthr, cwthr]

    slake = ["laked", "lakee", "laken"]
    clake = ["lakec", "lakec", "lakecn"]
    lakebk = [slake, clake, clake]

    pgbk = ["pgbk", "pgbks", "pgbka", "pgbkw"]

    lkfrbk = ["lakebg", "lakebgs", "lakebga", "lakebgw"]

    def chsprs(chara, g):
        try:
            sprs = []
            if chara > 0:
                bs = pygame.image.load("Sprites/Characters/chara_" +
                                       str(chara) + "b.png")
                ss = pygame.image.load("Sprites/Characters/chara_" +
                                       str(chara) + "s.png")
            else:
                bs = pygame.image.load("Sprites/NPC/Nazotchi.png")
                ss = pygame.image.load("Sprites/NPC/Nazo.png")
            opal = []
            for i in range(32):
                opal.append(ss.get_at(((16 + (8 * (i % 2))), (16 + (i // 2)))))
            bs = palette.palch(bs, g, opal)
            ss = palette.palch(ss, g, opal)
            for i in range(3):
                a = pygame.Surface([16, 16])
                a.fill((0, 255, 255))
                a.blit(ss, [-(16 * (i % 2)), -(16 * (i // 2))])
                a.set_colorkey((0, 255, 255))
                a.convert()
                sprs.append(a)
            s = (bs.get_width() // 4)
            for i in range(16):
                spr = pygame.Surface([s, s]).convert()
                spr.fill((0, 255, 255))
                spr.blit(bs, [-(s * (i % 4)), -(s * (i // 4))])
                spr.set_colorkey((0, 255, 255))
                sprs.append(spr)
        except:
            sprs = chsprs(0, g)
        return (sprs)

    def outbg():
        bg = pygame.image.load("Sprites/Misc/bg/" + wthrbk[w][tm] +
                               ".png").convert()
        a = pygame.image.load("Sprites/Misc/bg/" + pgbk[s] + ".png").convert()
        b = pygame.Surface([240, 160]).convert()
        c = (0, 0, 0)
        if w != 0:
            if w == 2:
                if s == 3:
                    a.blit(snowg, [0, 0])
                else:
                    a.blit(raing, [0, 0])
        if panit < 2:
            a.blit(
                pygame.image.load("Sprites/Misc/bg/" + prkbg[s] +
                                  ".png").convert(), [0, 0])
        elif panit < 5:
            a.blit(city, [0, 12])
        else:
            a.blit(
                pygame.image.load("Sprites/Misc/bg/" + lkfrbk[s] +
                                  ".png").convert(), [0, 0])
            bg.blit(
                pygame.image.load("Sprites/Misc/bg/" + lakebk[w][tm] +
                                  ".png").convert(), [0, 0])
        if w != 0:
            if tm < 2:
                b.fill((204, 204, 204))
                c = (81, 81, 81)
            else:
                b.fill((102, 102, 102))
                c = (40, 40, 40)
            b.set_alpha(102)
            a.blit(b, [0, 0])
        elif tm > 0:
            if tm == 1:
                b.fill((255, 102, 0))
                c = (101, 40, 0)
            else:
                b.fill((0, 0, 102))
                c = (0, 0, 40)
            b.set_alpha(102)
            a.blit(b, [0, 0])
        a.set_colorkey(c)
        bg.blit(a, [0, 0])
        return (bg)

    def arrive():
        flip = False
        pflip = False
        if anifr < 48:
            if ((anifr / 12) - (anifr // 12)) < 0.5:
                spr = 11
                spry = 98 + (32 - asprs[avars[3][5]][spr].get_height())
                if pchr > 0:
                    pcs = 3
            else:
                spr = 13
                spry = 96 + (32 - asprs[avars[3][5]][spr].get_height())
                if pchr > 0:
                    pcs = 4
            sprx = (208 - (10 * (anifr // 6))) + (
                (32 - asprs[avars[3][5]][spr].get_width()) // 2)
            if pchr > 0:
                pcy = 98 + (32 - pchrs[pcs].get_height())
        else:
            if ((anifr / 12) - (anifr // 12)) < 0.5:
                spr = 3
                spry = 98 + (32 - asprs[avars[3][5]][spr].get_height())
                if pchr > 0:
                    pcs = 3
                    pcy = 98 + (32 - pchrs[pcs].get_height())
            else:
                spr = 5
                spry = 96 + (32 - asprs[avars[3][5]][spr].get_height())
                if pchr > 0:
                    pcs = 5
                    pcy = 96 + (32 - pchrs[pcs].get_height())
            sprx = 128 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)
        if pchr > 0:
            pcx = 86 + ((32 - pchrs[pcs].get_width()) // 2)
            pflip = True
        if pchr == 0:
            return spr, sprx, spry, flip
        else:
            return spr, sprx, spry, flip, pcs, pcx, pcy, pflip

    def pani():
        flip = False
        pflip = False
        if panit == 0:
            if pchr > 0 and ptlk:
                if anifr < 58:
                    if ((anifr / 12) - (anifr // 12)) < 0.5:
                        spr = 11
                        pcs = 12
                    else:
                        spr = 12
                        pcs = 11
                else:
                    spr = 5
                    pcs = 5
            else:
                if ((anifr / 12) - (anifr // 12)) < 0.5:
                    spr = 3
                    if pchr > 0:
                        pcs = 3
                else:
                    spr = 4
                    if pchr > 0:
                        pcs = 4
            sprx = 128 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)
            spry = 98 + (32 - asprs[avars[3][5]][spr].get_height())
            if pchr > 0:
                pcy = 98 + (32 - pchrs[pcs].get_height())
                pcx = 86 + ((32 - pchrs[pcs].get_width()) // 2)
                pflip = True
        elif panit == 1:
            flip = True
            if ((anifr / 12) - (anifr // 12)) < 0.5:
                spr = 16
                pcs = 17
            else:
                spr = 17
                pcs = 16
            sprx = 72 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)
            spry = 98 + (32 - asprs[avars[3][5]][spr].get_height())
            pcx = 108 + ((32 - pchrs[pcs].get_width()) // 2)
            pcy = 98 + (32 - pchrs[pcs].get_height())
        elif panit == 2:
            if anifr % 16 < 8:
                spr = 17
                pcs = 17
                spry = 83 + (32 - asprs[avars[3][5]][spr].get_height())
                pcy = 83 + (32 - pchrs[pcs].get_height())
            else:
                if anifr % 32 < 16:
                    spr = 5
                    pcs = 16
                    spry = 68 + (32 - asprs[avars[3][5]][spr].get_height())
                    pcy = 94 + (32 - pchrs[pcs].get_height())
                else:
                    spr = 16
                    pcs = 5
                    spry = 94 + (32 - asprs[avars[3][5]][spr].get_height())
                    pcy = 68 + (32 - pchrs[pcs].get_height())
            sprx = 136 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)
            pcx = 72 + ((32 - pchrs[pcs].get_width()) // 2)
            pflip = True
        elif panit == 3:
            pflip = True
            if anifr < 32:
                if anifr % 16 < 8:
                    spr = 11
                    pcs = 11
                    sprx = 132 + (
                        (32 - asprs[avars[3][5]][spr].get_width()) // 2)
                    pcx = 76 + ((32 - pchrs[pcs].get_width()) // 2)
                    screen.blit(
                        pygame.transform.flip(sndsnw[(s == 3 and w == 2)][0],
                                              1, 0), [124, 114])
                    screen.blit(sndsnw[(s == 3 and w == 2)][0], [88, 114])
                else:
                    spr = 13
                    pcs = 13
                    sprx = 128 + (
                        (32 - asprs[avars[3][5]][spr].get_width()) // 2)
                    pcx = 80 + ((32 - pchrs[pcs].get_width()) // 2)
                    screen.blit(
                        pygame.transform.flip(sndsnw[(s == 3 and w == 2)][0],
                                              1, 0), [120, 114])
                    screen.blit(sndsnw[(s == 3 and w == 2)][0], [92, 114])
                spry = 98 + (32 - asprs[avars[3][5]][spr].get_height())
                pcy = 98 + (32 - pchrs[pcs].get_height())
            elif anifr < 56:
                if anifr % 16 < 8:
                    spr = 4
                    pcs = 4
                    spry = 98 + (32 - asprs[avars[3][5]][spr].get_height())
                    pcy = 98 + (32 - pchrs[pcs].get_height())
                else:
                    spr = 5
                    pcs = 5
                    spry = 94 + (32 - asprs[avars[3][5]][spr].get_height())
                    pcy = 94 + (32 - pchrs[pcs].get_height())
                sprx = 132 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)
                pcx = 76 + ((32 - pchrs[pcs].get_width()) // 2)
                screen.blit(sndsnw[(s == 3 and w == 2)][1], [108, 106])
            else:
                spr = 9
                pcs = 9
                spry = 98 + (32 - asprs[avars[3][5]][spr].get_height())
                pcy = 98 + (32 - pchrs[pcs].get_height())
                sprx = 132 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)
                pcx = 76 + ((32 - pchrs[pcs].get_width()) // 2)
                screen.blit(sndsnw[(s == 3 and w == 2)][2], [108, 106])
        elif panit == 4:
            pflip = anifr < 32
            flip = anifr > 31
            if anifr % 32 < 8:
                spr = 5
                pcs = 5
                sprx = 56 + ((32 - asprs[avars[3][5]][spr].get_width()) //
                             2) + (104 * (anifr < 32))
                pcx = 56 + (
                    (32 - pchrs[pcs].get_width()) // 2) + (104 * (anifr > 31))
                spry = 66 + (32 - asprs[avars[3][5]][spr].get_height()) + (
                    32 * (anifr < 32))
                pcy = 66 + (32 - pchrs[pcs].get_height()) + (32 * (anifr > 31))
            elif anifr % 32 < 16:
                spr = 17 - (4 * (anifr < 32))
                pcs = 17 - (4 * (anifr > 31))
                sprx = 84 + ((32 - asprs[avars[3][5]][spr].get_width()) //
                             2) + (41 * (anifr < 32))
                pcx = 84 + (
                    (32 - pchrs[pcs].get_width()) // 2) + (41 * (anifr > 31))
                spry = 44 + (32 - asprs[avars[3][5]][spr].get_height()) + (
                    56 * (anifr < 32))
                pcy = 44 + (32 - pchrs[pcs].get_height()) + (56 * (anifr > 31))
            elif anifr % 32 < 24:
                spr = 16 - (5 * (anifr < 32))
                pcs = 16 - (5 * (anifr > 31))
                sprx = 108 + ((32 - asprs[avars[3][5]][spr].get_width()) //
                              2) - (18 * (anifr < 32))
                pcx = 108 + (
                    (32 - pchrs[pcs].get_width()) // 2) - (18 * (anifr > 31))
                spry = 62 + (32 - asprs[avars[3][5]][spr].get_height()) + (
                    38 * (anifr < 32))
                pcy = 62 + (32 - pchrs[pcs].get_height()) + (38 * (anifr > 31))
            else:
                spr = 17 - (4 * (anifr < 32))
                pcs = 17 - (4 * (anifr > 31))
                sprx = 128 + ((32 - asprs[avars[3][5]][spr].get_width()) //
                              2) - (64 * (anifr < 32))
                pcx = 128 + (
                    (32 - pchrs[pcs].get_width()) // 2) - (64 * (anifr > 31))
                spry = 90 + (32 - asprs[avars[3][5]][spr].get_height()) + (
                    10 * (anifr < 32))
                pcy = 90 + (32 - pchrs[pcs].get_height()) + (10 * (anifr > 31))
        elif panit == 5:
            pflip = True
            if anifr % 16 < 8:
                spr = [10, 6, 4, 6][s]
                pcs = [3, 3, 5, 6][s]
                if s == 1:
                    screen.blit(sweat, [156, 82])
                elif s == 3:
                    screen.blit(shiver, [71, 108])
                    screen.blit(shiver, [155, 108])
            else:
                spr = [3, 3, 5, 6][s]
                pcs = [10, 6, 4, 6][s]
                if s == 1:
                    screen.blit(sweat, [120, 82])
                elif s == 3:
                    screen.blit(shiver, [69, 108])
                    screen.blit(shiver, [157, 108])
            sprx = 122 + ((32 - pchrs[pcs].get_width()) // 2) + ((s == 3) * (
                (2 * (anifr % 16 > 7)) - 1))
            pcx = 86 + ((32 - pchrs[pcs].get_width()) // 2) + ((s == 3) * (
                (2 * (anifr % 16 < 8)) - 1))
            spry = 98 + (32 - asprs[avars[3][5]][spr].get_height())
            pcy = 98 + (32 - pchrs[pcs].get_height())
        if pchr == 0:
            return spr, sprx, spry, flip
        else:
            return spr, sprx, spry, flip, pcs, pcx, pcy, pflip

    if pt == 0:
        tpborder, btborder, borderico = borders.getborders(
            avars[3][13], 1, 3, 1)
    else:
        tpborder, btborder, borderico = borders.getborders(
            avars[3][13], 1, 4, 0)

    hn = pygame.image.load("Sprites/Misc/menu/hngs.png").convert()
    hp = pygame.image.load("Sprites/Misc/menu/hpys.png").convert()
    sk = pygame.image.load("Sprites/Misc/menu/scks.png").convert()
    sl = pygame.image.load("Sprites/Misc/menu/slps.png").convert()

    shiver = pygame.image.load("Sprites/Misc/emo/shiver.png").convert()
    sweat = pygame.image.load("Sprites/Misc/emo/sweat.png").convert()

    prkbg = ["parkbg", "parkbgs", "parkbga", "parkbgw"]

    city = pygame.image.load("Sprites/Misc/bg/walkbg.png").convert()

    balnc1 = pygame.image.load("Sprites/Misc/obj/prkbal1.png").convert()
    balnc2 = pygame.image.load("Sprites/Misc/obj/prkbal2.png").convert()

    prkpnk = pygame.image.load("Sprites/Misc/bg/prkpnk.png").convert()

    sndbox = pygame.image.load("Sprites/Misc/bg/prksand.png").convert()

    sndsnw = [[
        pygame.image.load("Sprites/Misc/obj/sandm.png").convert(),
        pygame.image.load("Sprites/Misc/obj/sandcst.png").convert(),
        pygame.image.load("Sprites/Misc/obj/sandd.png").convert()
    ],
              [
                  pygame.image.load("Sprites/Misc/obj/snowm.png").convert(),
                  pygame.image.load("Sprites/Misc/obj/snowman.png").convert(),
                  pygame.image.load("Sprites/Misc/obj/snowd.png").convert()
              ]]

    slide = pygame.image.load("Sprites/Misc/obj/slide.png").convert()

    rain = pygame.image.load("Sprites/Misc/bg/rain.png").convert()
    snow = pygame.image.load("Sprites/Misc/bg/snow.png").convert()

    raing = pygame.image.load("Sprites/Misc/bg/rpgb.png").convert()
    snowg = pygame.image.load("Sprites/Misc/bg/spgb.png").convert()

    s, tm, w = weather.chktime(avars)

    obgi = outbg()

    fnt = pygame.font.Font("Sprites/Misc/font/Tama2.ttf", 16)

    sound = sounds.imprtsnd(avars)

    clock = pygame.time.Clock()

    anifr = 0

    pygame.time.set_timer(USEREVENT + 1, int(1000 / ((5 * avars[3][3]) + 1)))

    if avars[3][3] == 0:
        avars[3][6] = time.strftime("%H:%M")

    ptlk = False

    if pt == 0:
        if int(avars[3][6][:2]) < 12 or int(avars[3][6][:2]) > 18:
            pchr = 0
        else:
            p = randint(1, 4)
            t = [0, 3600, 176400, 435600][p - 1]
            g = randint(0, 4294967295)
            while (format(g,
                          '032b')[16:28]) == (format(avars[avars[3][5]][14],
                                                     '032b')[16:28]):
                g = randint(0, 4294967295)
            a = randint(1, 8)
            c = ["no", "ma", "ku", "ku", "ma", "me", "me", "no"][a - 1]
            d = [
                choice(["ku", "ma", "me"]), "ku", "ku", "me", "ma", "me", "ma",
                "no"
            ][a - 1]
            ov = [[
                a, 1, 0, (g % 4 > 1), 0,
                randint(0, 200),
                randint(0, 200),
                randint(0, 200),
                randint(0, 200),
                randint(0, 200),
                randint(0, 200), c, c, d, g, 0, 0, 0,
                randint(1, 99),
                randint(0, 5), 0, 0, 0, 0, [], 0, 0, 0, 0, 0, 0, 0, 0, 4
            ], [], [], [0, 0, 0, 0, 0, 0]]
            ov = growth.grw(ov)
            while ov[0][1] < p:
                ov[0][1] += 1
                ov = growth.grw(ov)
            pchr = ov[0][15]
            pcharinfo = [
                "PARK", "", pchr, g, ov[0][13], ov[0][12], ov[0][11],
                [t, avars[avars[3][5]][2]], 0
            ]
    if pchr > 0:
        pchrs = chsprs(pchr, pcharinfo[3])

    while kr:
        screen.blit(obgi, [0, 0])
        if w == 2:
            if ((anifr / 12) - (anifr // 12)) < 0.5:
                y = 0
            else:
                if s < 3:
                    y = 16
                else:
                    y = 8
            if s < 3:
                screen.blit(rain, [0, y])
            else:
                screen.blit(snow, [0, y])
        if ar:
            if anifr < 48 and ((anifr / 12) - (anifr // 12)) == 0.5:
                pygame.mixer.stop()
                sound[6].play()
            elif ((anifr / 12) - (anifr // 12)) == 0.5:
                pygame.mixer.stop()
                sound[9].play()
            if pchr == 0:
                spr, sprx, spry, flip = arrive()
            else:
                spr, sprx, spry, flip, pcs, pcx, pcy, pflip = arrive()
                screen.blit(pygame.transform.flip(pchrs[pcs], pflip, 0),
                            [pcx, pcy])
            screen.blit(
                pygame.transform.flip(asprs[avars[3][5]][spr], flip, 0),
                [sprx, spry])
        else:
            if pt == 0:
                if panit == 0:
                    if pchr == 0:
                        spr, sprx, spry, flip = pani()
                    else:
                        spr, sprx, spry, flip, pcs, pcx, pcy, pflip = pani()
                        screen.blit(
                            pygame.transform.flip(pchrs[pcs], pflip, 0),
                            [pcx, pcy])
                else:
                    spr = 11 + (2 * (anifr % 8 < 4))
                    spry = 98 + (32 - asprs[avars[3][5]][spr].get_height()) - (
                        8 * (anifr % 8 < 4))
                    sprx = (368 - (32 * (anifr // 4))) + (
                        (32 - asprs[avars[3][5]][spr].get_width()) // 2)
                    flip = False
                    if anifr % 8 < 4:
                        screen.blit(sweat, [(400 - (32 * (anifr // 4))), 74])
            else:
                if panit == 1:
                    screen.blit(prkpnk, [74, 123])
                elif panit == 2:
                    if anifr % 16 < 8:
                        screen.blit(balnc1, [72, 98])
                    else:
                        screen.blit(
                            pygame.transform.flip(balnc2, (anifr % 32 < 16),
                                                  0), [72, 98])
                elif panit == 3 and (s < 3 or w < 2):
                    screen.blit(sndbox, [32, 104])
                elif panit == 4:
                    screen.blit(slide, [88, 66])
                spr, sprx, spry, flip, pcs, pcx, pcy, pflip = pani()
                screen.blit(pygame.transform.flip(pchrs[pcs], pflip, 0),
                            [pcx, pcy])
            screen.blit(
                pygame.transform.flip(asprs[avars[3][5]][spr], flip, 0),
                [sprx, spry])
        screen = borders.drawborders(screen, avars, asprs, tpborder, btborder,
                                     borderico, fnt, 0, anifr, hn, hp, sk, sl)
        for event in pygame.event.get():
            if event.type == QUIT:
                varsup.updtvrs(avars)
                kr = False
                pygame.quit()
                sys.exit()
            if event.type == MOUSEBUTTONDOWN:
                mp = event.pos
                d = (screen.get_size()[0] // 240)
                mp = ((mp[0] // d), (mp[1] // d))
                pb = event.button
                if pb == 1:
                    if 138 < mp[1] < 158:
                        if 228 < mp[0] < 240:
                            sound[4].play()
                            if pt == 0:
                                return (avars, ret)
                            else:
                                return (avars)
                        elif 212 < mp[0] < 224 and pt == 0:
                            ret = 0
                            sound[4].play()
                            return (avars, ret)
                    if 23 < mp[
                            1] < 136 and not ar and not ptlk and pt == 0 and panit == 0:
                        if pchr > 0:
                            ptlk = True
                            anifr = 33
                            f = avars[avars[3][5]][32]
                            f.append(pcharinfo)
                            avars[avars[3][5]][32] = f
                        else:
                            panit = 5
                            obgi = outbg()
                            anifr = 0
            if event.type == USEREVENT + 1:
                if avars[3][3] == 0:
                    avars[3][6] = time.strftime("%H:%M")
                else:
                    avars[3][7] += 1
                    if avars[3][7] == 60:
                        if int(avars[3][6][3:]) != 59:
                            nhour = avars[3][6][:3] + (
                                "%02d" % (int(avars[3][6][3:]) + 1))
                            avars[3][6] = nhour
                        else:
                            nhour = ("%02d" %
                                     (int(avars[3][6][:2]) + 1)) + ":00"
                            if nhour == "24:00":
                                nhour = "00:00"
                            avars[3][6] = nhour
                        avars[3][7] = 0
                if len(avars[0]) > 0:
                    avars[0][2] += 1
                if len(avars[1]) > 0:
                    avars[1][2] += 1
                if len(avars[2]) > 0:
                    avars[2][2] += 1
                chngsts = True
        if chngsts:
            avars = statusup.chngsts(avars)
            if avars[avars[3][5]][20] or not avars[avars[3][5]][21]:
                if pt == 0:
                    return (avars, ret)
                else:
                    return (avars)
            chngsts = False
        if anifr < 63:
            anifr += 1
        else:
            anifr = 0
            if panit == 5 and pt == 0:
                if avars[avars[3][5]][18] > 1:
                    avars[avars[3][5]][18] -= 1
            ar = False
        r = pygame.Surface([240, 160]).convert()
        r.blit(screen, [0, 0])
        r = pygame.transform.scale(
            r, (screen.get_size()[0], screen.get_size()[1]))
        screen.blit(r, [0, 0])
        clock.tick(16)
        pygame.display.update()
Beispiel #8
0
def game(avars, asprs, screen):
    class Mnbx(pygame.sprite.Sprite):

        bxt = []

        def __init__(self):
            super().__init__()
            box = pygame.image.load("Sprites/Misc/txtbox/box2.png").convert()

            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 16, 8, 8))
            self.bxt.append(image)

            self.image = self.bxt[0]
            self.rect = self.image.get_rect()

        def update(self):
            self.image = self.bxt[tl]

    kr = True

    chngsts = False

    vfls = [0, 0, 0, 0]
    vbfl = [0, 0]

    fsel = -1

    scr = 0

    ret = 1
    spret = 0

    tuts = True
    strt = False
    play = False
    end = 0

    def chsprs(chara, dirt, g):
        sprs = []
        bs = pygame.image.load("Sprites/Characters/chara_" + str(chara) +
                               "b.png")
        ss = pygame.image.load("Sprites/Characters/chara_" + str(chara) +
                               "s.png")
        opal = []
        for i in range(32):
            opal.append(ss.get_at(((16 + (8 * (i % 2))), (16 + (i // 2)))))
        bs = palette.palch(bs, g, opal)
        if dirt:
            bs = dirty.dirt(bs)
        ss = palette.palch(ss, g, opal)
        for i in range(3):
            a = pygame.Surface([16, 16])
            a.fill((0, 255, 255))
            a.blit(ss, [-(16 * (i % 2)), -(16 * (i // 2))])
            a.set_colorkey((0, 255, 255))
            a.convert()
            sprs.append(a)
        s = (bs.get_width() // 4)
        for i in range(16):
            spr = pygame.Surface([s, s]).convert()
            spr.fill((0, 255, 255))
            spr.blit(bs, [-(s * (i % 4)), -(s * (i // 4))])
            spr.set_colorkey((0, 255, 255))
            sprs.append(spr)
        return (sprs)

    def fvals():
        l = [1, 2, 3, 5, 7, 11]
        shuffle(l)
        fls = [[l[0], l[1]], [l[2], l[3]]]
        flss = []
        f = pygame.image.load("Sprites/Misc/obj/labf.png").convert()
        for i in range(4):
            c = pygame.Surface((24, 24)).convert()
            c.fill((0, 255, 255))
            n = [1, 2, 3, 5, 7, 11].index(fls[i // 2][i % 2])
            c.blit(f, [-(24 * (n % 3)), -(24 * (n // 3))])
            c.set_colorkey((0, 255, 255))
            flss.append(c)
        obj = [0, 0]
        for i in [0, 1]:
            obj[i] = randint(1, (max(fls[i]) - 1))
        return (fls, flss, obj)

    def drbx():
        tile = Mnbx()
        tile.update()
        textbox.blit(tile.image, [tx, ty])

    def drhl():
        global tx
        global tl
        tx = 0
        drbx()
        tl += 1
        while tx < 48:
            tx += 8
            drbx()
        tx = 56
        tl += 1
        drbx()

    def dral():
        global ty
        global tl
        while ty < 16:
            tl = 3
            ty += 8
            drhl()

    def aspr():
        if len(avars[0]) > 0:
            sprs0 = chsprs(avars[0][15], (avars[0][30] == 2), avars[0][14])
        else:
            sprs0 = []
        if len(avars[1]) > 0:
            sprs1 = chsprs(avars[1][15], (avars[1][30] == 2), avars[1][14])
        else:
            sprs1 = []
        if len(avars[2]) > 0:
            sprs2 = chsprs(avars[2][15], (avars[2][30] == 2), avars[2][14])
        else:
            sprs2 = []
        asprs = [sprs0, sprs1, sprs2]
        return (asprs)

    tpborder, btborder, borderico = borders.getborders(avars[3][13], 1, 3, 1)

    hn = pygame.image.load("Sprites/Misc/menu/hngs.png").convert()
    hp = pygame.image.load("Sprites/Misc/menu/hpys.png").convert()
    sk = pygame.image.load("Sprites/Misc/menu/scks.png").convert()
    sl = pygame.image.load("Sprites/Misc/menu/slps.png").convert()

    tutimg = pygame.image.load("Sprites/Misc/bg/labt.png").convert()

    playbk = pygame.image.load("Sprites/Misc/bg/lab.png").convert()

    ready = pygame.image.load("Sprites/Misc/bg/ready.png").convert()
    go = pygame.image.load("Sprites/Misc/bg/go.png").convert()

    bflsk = []
    a = pygame.image.load("Sprites/Misc/obj/labfb.png").convert()
    for i in [0, 1]:
        b = pygame.Surface((48, 48)).convert()
        b.fill((0, 255, 255))
        b.blit(a, [-(48 * i), 0])
        b.set_colorkey((0, 255, 255))
        bflsk.append(b)

    toobad = pygame.image.load("Sprites/Misc/bg/toobad.png").convert()
    good = pygame.image.load("Sprites/Misc/bg/good.png").convert()
    great = pygame.image.load("Sprites/Misc/bg/great.png").convert()
    excellent = pygame.image.load("Sprites/Misc/bg/excellent.png").convert()

    win = pygame.image.load("Sprites/Misc/emo/happy.png").convert()
    cry = pygame.image.load("Sprites/Misc/emo/cry.png").convert()

    money = pygame.image.load("Sprites/Misc/obj/money.png").convert()
    coin = pygame.image.load("Sprites/Misc/menu/gotchipt.png").convert()

    fnt = pygame.font.Font("Sprites/Misc/font/Tama2.ttf", 16)

    textbox = pygame.Surface([240, 64]).convert()
    textbox.fill((0, 255, 255))
    global tl
    global ty
    tl = 0
    ty = 0
    drhl()
    dral()
    tl = 6
    ty = 24
    drhl()
    textbox.set_colorkey((0, 255, 255))

    clock = pygame.time.Clock()

    sound = sounds.imprtsnd(avars)

    anifr = 0

    pygame.time.set_timer(USEREVENT + 1, int(1000 / ((5 * avars[3][3]) + 1)))

    if avars[3][3] == 0:
        avars[3][6] = time.strftime("%H:%M")

    while kr:
        if tuts:
            screen.blit(tutimg, [0, 0])
        elif strt:
            screen.blit(playbk, [0, 0])
            if anifr == 16:
                pygame.mixer.stop()
                sound[11].play()
            if anifr < 16:
                screen.blit(ready, [80, 48])
                spr = 3
            else:
                screen.blit(go, [95, 48])
                spr = 5
            screen.blit(asprs[avars[3][5]][spr],
                        [(104 +
                          ((32 - asprs[avars[3][5]][spr].get_width()) // 2)),
                         (98 + (32 - asprs[avars[3][5]][spr].get_height()))])
        elif play:
            screen.blit(playbk, [0, 0])
            if end < 2:
                spr = 3 + (anifr % 12 > 5)
            else:
                spr = 5 + (2 * (obj != vbfl))
            for i in range(4):
                screen.blit(flss[i], [[8, 56, 160, 208][i],
                                      (104 - (8 * (i == fsel)))])
            screen.blit(fnt.render("%02d" % obj[0], 1, (0, 0, 100)), [67, 30])
            screen.blit(fnt.render("%02d" % obj[1], 1, (0, 0, 100)), [155, 30])
            screen.blit(bflsk[(end == 2 and (obj != vbfl))], [96, 80])
            screen.blit(asprs[avars[3][5]][spr], [104, 32])
        else:
            screen.blit(playbk, [0, 0])
            if end == 3:
                screen.blit(money, [88, 106])
                if anifr < 8:
                    spr = 11
                else:
                    if anifr == 8:
                        pygame.mixer.stop()
                        sound[13].play()
                    screen.blit(textbox, [94, 64])
                    mntxt = fnt.render(str(scr * 500), 1, (0, 0, 100))
                    screen.blit(mntxt, [(138 - (mntxt.get_width())), 74])
                    screen.blit(coin, [138, 72])
                    if scr > 0:
                        spr = 5
                    else:
                        spr = 6
                screen.blit(
                    asprs[avars[3][5]][spr],
                    [(124 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)),
                     (98 + (32 - asprs[avars[3][5]][spr].get_height()))])
            elif end == 4:
                if scr < 2:
                    screen.blit(toobad, [71, 48])
                    sy = 98
                    if ((anifr / 12) - (anifr // 12)) < 0.5:
                        spr = 6
                    else:
                        spr = 7
                        screen.blit(cry, [56, 90])
                else:
                    if scr < 4:
                        screen.blit(good, [94, 48])
                    elif scr < 6:
                        screen.blit(great, [85, 48])
                    else:
                        screen.blit(excellent, [51, 48])
                    if ((anifr / 12) - (anifr // 12)) < 0.5:
                        sy = 98
                        spr = 4
                    else:
                        sy = 90
                        spr = 5
                        screen.blit(win, [136, 82])
                screen.blit(
                    asprs[avars[3][5]][spr],
                    [(104 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)),
                     (sy + (32 - asprs[avars[3][5]][spr].get_height()))])
            elif end == 5:
                if anifr < 6:
                    screen.blit(asprs[avars[3][5]][9], [104, 56])
                screen.blit(bflsk[(anifr > 11)], [96, 80])
        screen = borders.drawborders(screen, avars, asprs, tpborder, btborder,
                                     borderico, fnt, 0, anifr, hn, hp, sk, sl)
        for event in pygame.event.get():
            if event.type == QUIT:
                varsup.updtvrs(avars)
                kr = False
                pygame.quit()
                sys.exit()
            if event.type == MOUSEBUTTONDOWN:
                mp = event.pos
                d = (screen.get_size()[0] // 240)
                mp = ((mp[0] // d), (mp[1] // d))
                pb = event.button
                if pb == 1:
                    if 138 < mp[1] < 158:
                        if 228 < mp[0] < 240:
                            pygame.mixer.stop()
                            sound[4].play()
                            return (avars, ret)
                        elif 212 < mp[0] < 224:
                            pygame.mixer.stop()
                            sound[4].play()
                            ret = 0
                            return (avars, ret)
                    if (24 < mp[1] < 136) and tuts:
                        pygame.mixer.stop()
                        sound[10].play()
                        tuts = False
                        strt = True
                        anifr = -1
                    if play and end == 0:
                        if fsel == -1 and (96 < mp[1] < 136) and (
                                mp[0] not in range(96, 144)):
                            pygame.mixer.stop()
                            sound[2].play()
                            if mp[0] < 120:
                                fsel = (mp[0] > 47)
                            else:
                                fsel = 2 + (mp[0] > 191)
                        elif fsel > -1 and (fsel < 2 and mp[0] < 144) or \
                             (fsel > 1 and mp[0] > 95) and (24 < mp[1] < 136):
                            pygame.mixer.stop()
                            sound[3].play()
                            if 96 < mp[1]:
                                if mp[0] not in range(96, 144):
                                    if mp[0] < 120:
                                        a = (mp[0] > 47)
                                    else:
                                        a = 2 + (mp[0] > 191)
                                    if fsel == a:
                                        vfls[fsel] = 0
                                    else:
                                        b = vfls[a] + vfls[fsel]
                                        if b > fls[a // 2][a % 2]:
                                            vfls[a] = fls[a // 2][a % 2]
                                            vfls[fsel] = b - fls[a // 2][a % 2]
                                        else:
                                            vfls[a] = b
                                            vfls[fsel] = 0
                                else:
                                    vbfl[fsel > 1] += vfls[fsel]
                                    vfls[fsel] = 0
                            else:
                                vfls[fsel] = fls[fsel // 2][fsel % 2]
                            end = 1
                            anifr = 17
            if event.type == USEREVENT + 1:
                if avars[3][3] == 0:
                    avars[3][6] = time.strftime("%H:%M")
                else:
                    avars[3][7] += 1
                    if avars[3][7] == 60:
                        if int(avars[3][6][3:]) != 59:
                            nhour = avars[3][6][:3] + (
                                "%02d" % (int(avars[3][6][3:]) + 1))
                            avars[3][6] = nhour
                        else:
                            nhour = ("%02d" %
                                     (int(avars[3][6][:2]) + 1)) + ":00"
                            if nhour == "24:00":
                                nhour = "00:00"
                            avars[3][6] = nhour
                        avars[3][7] = 0
                if len(avars[0]) > 0:
                    avars[0][2] += 1
                if len(avars[1]) > 0:
                    avars[1][2] += 1
                if len(avars[2]) > 0:
                    avars[2][2] += 1
                chngsts = True
        if chngsts:
            avars = statusup.chngsts(avars)
            chngsts = False
        if anifr < 23:
            anifr += 1
        else:
            anifr = 0
            if strt:
                play = True
                strt = False
                fls, flss, obj = fvals()
            if play:
                if end == 1:
                    if vbfl.count(0) == 0:
                        end = 2
                        anifr = 12
                        pygame.mixer.stop()
                        sound[9 + (3 * (obj != vbfl))].play()
                    else:
                        end = 0
                    fsel = -1
                elif end == 2:
                    if obj == vbfl:
                        scr += 1
                        end = 0
                        vfls = [0, 0, 0, 0]
                        vbfl = [0, 0]
                        fls, flss, obj = fvals()
                    if end == 2 or scr == 6:
                        end = 3
                        play = False
                        if (avars[3][2] + (scr * 500)) < 99999:
                            avars[3][2] += (scr * 500)
                        else:
                            avars[3][2] = 99999
                        avars[avars[3][5]][5] += scr * 4
            elif end == 3:
                if scr < 6 or avars[avars[3][5]][15] != 217 or avars[
                        avars[3][5]][5] < 1000:
                    if scr < 2:
                        pygame.mixer.stop()
                        sound[14].play()
                    else:
                        pygame.mixer.stop()
                        sound[1].play()
                    end = 4
                else:
                    pygame.mixer.stop()
                    sound[15].play()
                    end = 5
            elif end == 5:
                pygame.mixer.stop()
                sound[1].play()
                avars[avars[3][5]][1] = 5
                avars = growth.grw(avars)
                asprs = aspr()
                spret = 1
                end = 4
            elif end == 4:
                ret = spret
                return (avars, ret)
        s = pygame.Surface([240, 160]).convert()
        s.blit(screen, [0, 0])
        s = pygame.transform.scale(
            s, (screen.get_size()[0], screen.get_size()[1]))
        screen.blit(s, [0, 0])
        clock.tick(16)
        pygame.display.update()
Beispiel #9
0
def fdt(avars, asprs, screen):
    class Txtbx(pygame.sprite.Sprite):

        bxt = []

        def __init__(self):
            super().__init__()
            box = pygame.image.load("Sprites/Misc/txtbox/box1.png").convert()

            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 16, 8, 8))
            self.bxt.append(image)

            self.image = self.bxt[0]
            self.rect = self.image.get_rect()

        def update(self):
            self.image = self.bxt[tl]

    kr = True

    bx = False

    scr = 0

    ret = 1

    chngsts = False

    def chsprs(chara, g):
        try:
            sprs = []
            if chara > 0:
                bs = pygame.image.load("Sprites/Characters/chara_" +
                                       str(chara) + "b.png")
                ss = pygame.image.load("Sprites/Characters/chara_" +
                                       str(chara) + "s.png")
            else:
                bs = pygame.image.load("Sprites/NPC/Nazotchi.png")
                ss = pygame.image.load("Sprites/NPC/Nazo.png")
            opal = []
            for i in range(32):
                opal.append(ss.get_at(((16 + (8 * (i % 2))), (16 + (i // 2)))))
            bs = palette.palch(bs, g, opal)
            ss = palette.palch(ss, g, opal)
            for i in range(3):
                a = pygame.Surface([16, 16])
                a.fill((0, 255, 255))
                a.blit(ss, [-(16 * (i % 2)), -(16 * (i // 2))])
                a.set_colorkey((0, 255, 255))
                a.convert()
                sprs.append(a)
            s = (bs.get_width() // 4)
            for i in range(16):
                spr = pygame.Surface([s, s]).convert()
                spr.fill((0, 255, 255))
                spr.blit(bs, [-(s * (i % 4)), -(s * (i // 4))])
                spr.set_colorkey((0, 255, 255))
                sprs.append(spr)
        except:
            sprs = chsprs(0, g)
        return (sprs)

    def drbx():
        tile = Txtbx()
        tile.update()
        textbox.blit(tile.image, [tx, ty])

    def drhl():
        global tx
        global tl
        tx = 0
        drbx()
        tl += 1
        while tx < 224:
            tx += 8
            drbx()
        tx = 232
        tl += 1
        drbx()

    def dral():
        global ty
        global tl
        while ty < 96:
            tl = 3
            ty += 8
            drhl()

    tpborder, btborder, borderico = borders.getborders(avars[3][13], 1, 3, 1)

    hn = pygame.image.load("Sprites/Misc/menu/hngs.png").convert()
    hp = pygame.image.load("Sprites/Misc/menu/hpys.png").convert()
    sk = pygame.image.load("Sprites/Misc/menu/scks.png").convert()
    sl = pygame.image.load("Sprites/Misc/menu/slps.png").convert()

    heart = pygame.image.load("Sprites/Misc/emo/heart.png").convert()
    hear2 = pygame.image.load("Sprites/Misc/emo/heart2.png").convert()

    backg = pygame.image.load("Sprites/Misc/bg/dateplin.png").convert()

    textbox = pygame.Surface([240, 112]).convert()
    textbox.fill((0, 255, 255))
    global tl
    global ty
    tl = 0
    ty = 0
    drhl()
    dral()
    tl = 6
    ty = 104
    drhl()

    book = []
    for i in [0, 1]:
        a = pygame.Surface((24, 24))
        a.blit(backg, [-(24 * i), 0])
        a.set_colorkey((0, 255, 255))
        a.convert()
        book.append(a)

    fnt = pygame.font.Font("Sprites/Misc/font/Tama2.ttf", 16)

    marrtx = fnt.render("MARRY?", 1, (0, 0, 100))
    yest = fnt.render("YES", 1, (0, 0, 100))
    notx = fnt.render("NO", 1, (0, 0, 100))

    sound = sounds.imprtsnd(avars)

    clock = pygame.time.Clock()

    anifr = 0

    p = [4, 6][randint(1, 4) == 4]
    t = 435600
    g = randint(0, 4294967295)
    a = randint(1, 8)
    c = ["no", "ma", "ku", "ku", "ma", "me", "me", "no"][a - 1]
    d = [choice(["ku", "ma", "me"]), "ku", "ku", "me", "ma", "me", "ma",
         "no"][a - 1]
    ov = [[
        a, 1, 0, (g % 4 > 1), 0,
        randint(0, 200),
        randint(0, 200),
        randint(0, 200),
        randint(0, 200),
        randint(0, 200),
        randint(0, 200), c, c, d, g, 0, 0, 0,
        randint(1, 99),
        randint(0, 5), 0, 0, 0, 0, [], 0, 0, 0, 0, 0, 0, 0, 0, 4
    ], [], [], [0, 0, 0, 0, 0, 0]]
    ov = growth.grw(ov)
    while ov[0][1] < p:
        ov[0][1] += 1
        if ov[0][1] == 5:
            ov[0][1] = 6
        ov = growth.grw(ov)
    pchr = ov[0][15]
    pcharinfo = [
        "PARK", "", pchr, g, ov[0][13], ov[0][12], ov[0][11],
        [t, avars[avars[3][5]][2]], 0
    ]
    pchrs = chsprs(pchr, pcharinfo[3])

    matc = [
        randint(379, 384),
        randint(379, 380),
        randint(381, 382),
        randint(383, 384)
    ][["no", "ma", "me", "ku"].index(c)]
    mats = chsprs(matc, [4027187200, 16384000][matc == 381])

    pygame.time.set_timer(USEREVENT + 1, int(1000 / ((5 * avars[3][3]) + 1)))

    if avars[3][3] == 0:
        avars[3][6] = time.strftime("%H:%M")

    while kr:
        screen.blit(backg, [0, 0])
        if scr == 0 and not bx:
            if anifr < 48:
                screen.blit(
                    pygame.transform.flip(mats[3 + (anifr % 12 > 5)], 1, 0),
                    [104, 35])
                screen.blit(book[0], [136, 43])
                screen.blit(asprs[avars[3][5]][11 + (2 * (anifr % 12 > 5))],
                            [(224 - (12 * (anifr // 6))),
                             (98 - (2 * (anifr % 12 > 5)))])
            elif anifr < 54:
                if anifr == 48:
                    pygame.mixer.stop()
                    sound[9].play()
                screen.blit(pygame.transform.flip(mats[5], 1, 0), [104, 35])
                screen.blit(book[0], [136, 43])
                screen.blit(asprs[avars[3][5]][5], [128, 98])
            elif anifr < 78:
                screen.blit(
                    pygame.transform.flip(mats[11 + (anifr % 12 > 5)], 1, 0),
                    [104, 35])
                screen.blit(book[anifr % 12 > 5], [136, 43])
                screen.blit(asprs[avars[3][5]][3 + (anifr % 12 > 5)],
                            [128, 98])
            elif anifr < 84:
                if anifr == 78:
                    pygame.mixer.stop()
                    sound[9].play()
                screen.blit(mats[5], [104, 35])
                screen.blit(book[0], [136, 43])
                screen.blit(asprs[avars[3][5]][9], [128, 98])
            elif anifr < 132:
                screen.blit(mats[3 + (anifr % 12 > 5)], [104, 35])
                screen.blit(book[0], [136, 43])
                screen.blit(asprs[avars[3][5]][3 + (7 * (anifr % 12 > 5))],
                            [128, 98])
                screen.blit(
                    pygame.transform.flip(pchrs[11 + (2 * (anifr % 12 > 5))],
                                          1, 0),
                    [(-16 + (12 * ((anifr - 84) // 6))),
                     (98 - (2 * (anifr % 12 > 5)))])
            else:
                if anifr == 132:
                    pygame.mixer.stop()
                    sound[9].play()
                screen.blit(mats[4 + (anifr % 12 > 5)], [104, 35])
                screen.blit(book[0], [136, 43])
                screen.blit(asprs[avars[3][5]][10], [128, 98])
                screen.blit(pygame.transform.flip(pchrs[10], 1, 0), [80, 98])
        elif bx:
            screen.blit(textbox, [0, 24])
            screen.blit(marrtx, [8, 66])
            screen.blit(yest, [107, 82])
            screen.blit(notx, [164, 82])
        elif scr == 1:
            if anifr < 96:
                screen.blit(mats[8], [104, 35])
                screen.blit(book[0], [136, 43])
                screen.blit(asprs[avars[3][5]][6], [128, 98])
                screen.blit(pygame.transform.flip(pchrs[7], 1, 0), [80, 98])
            else:
                screen.blit(
                    pygame.transform.flip(mats[11 + (anifr % 12 > 5)], 1, 0),
                    [104, 35])
                screen.blit(book[anifr % 12 > 5], [136, 43])
                screen.blit(asprs[avars[3][5]][6], [128, 98])
                screen.blit(pchrs[11 + (2 * (anifr % 12 > 5))],
                            [(68 - (12 * ((anifr - 96) // 6))),
                             (98 - (2 * (anifr % 12 > 5)))])
        elif scr == 2:
            screen.blit(mats[5 + (5 * (anifr % 12 > 5))], [104, 35])
            screen.blit(book[0], [136, 43])
            if anifr < 72:
                screen.blit(asprs[avars[3][5]][5 + (5 * (anifr % 12 > 5))],
                            [128, 98])
                screen.blit(pygame.transform.flip(pchrs[3], 1, 0), [80, 98])
                screen.blit([hear2, heart][anifr % 12 > 5], [160, 82])
            elif anifr < 96:
                screen.blit(asprs[avars[3][5]][3], [128, 98])
                screen.blit(
                    pygame.transform.flip(pchrs[5 + (5 * (anifr % 12 > 5))], 1,
                                          0), [80, 98])
                screen.blit([hear2, heart][anifr % 12 > 5], [64, 82])
            elif anifr < 120:
                screen.blit(asprs[avars[3][5]][11 + (anifr > 107)], [124, 98])
                screen.blit(
                    pygame.transform.flip(pchrs[11 + (anifr > 107)], 1, 0),
                    [84, 98])
            else:
                if anifr == 120:
                    pygame.mixer.stop()
                    sound[9].play()
                screen.blit(asprs[avars[3][5]][15], [120, 98])
                screen.blit(pygame.transform.flip(pchrs[15], 1, 0), [88, 98])
                screen.blit([hear2, heart][anifr % 12 > 5],
                            [64, (74 + (4 * (anifr % 12 > 5)))])
                screen.blit([hear2, heart][anifr % 12 < 6],
                            [112, (74 + (4 * (anifr % 12 < 6)))])
                screen.blit([hear2, heart][anifr % 12 > 5],
                            [160, (74 + (4 * (anifr % 12 > 5)))])
        screen = borders.drawborders(screen, avars, asprs, tpborder, btborder,
                                     borderico, fnt, 0, anifr, hn, hp, sk, sl)
        for event in pygame.event.get():
            if event.type == QUIT:
                varsup.updtvrs(avars)
                kr = False
                pygame.quit()
                sys.exit()
            if event.type == MOUSEBUTTONDOWN:
                mp = event.pos
                d = (screen.get_size()[0] // 240)
                mp = ((mp[0] // d), (mp[1] // d))
                pb = event.button
                if pb == 1:
                    if 138 < mp[1] < 158:
                        if 228 < mp[0] < 240:
                            sound[4].play()
                            return (avars, ret)
                        elif 212 < mp[0] < 224:
                            ret = 0
                            sound[4].play()
                            return (avars, ret)
                    if bx and 80 < mp[1] < 96:
                        if 164 < mp[0] < 188:
                            pygame.mixer.stop()
                            sound[12].play()
                            bx = False
                            scr = 1
                            anifr = 83
                        elif 107 < mp[0] < 139:
                            pygame.mixer.stop()
                            sound[9].play()
                            bx = False
                            scr = 2
                            anifr = 47
            if event.type == USEREVENT + 1:
                if avars[3][3] == 0:
                    avars[3][6] = time.strftime("%H:%M")
                else:
                    avars[3][7] += 1
                    if avars[3][7] == 60:
                        if int(avars[3][6][3:]) != 59:
                            nhour = avars[3][6][:3] + (
                                "%02d" % (int(avars[3][6][3:]) + 1))
                            avars[3][6] = nhour
                        else:
                            nhour = ("%02d" %
                                     (int(avars[3][6][:2]) + 1)) + ":00"
                            if nhour == "24:00":
                                nhour = "00:00"
                            avars[3][6] = nhour
                        avars[3][7] = 0
                if len(avars[0]) > 0:
                    avars[0][2] += 1
                if len(avars[1]) > 0:
                    avars[1][2] += 1
                if len(avars[2]) > 0:
                    avars[2][2] += 1
                chngsts = True
        if chngsts:
            avars = statusup.chngsts(avars)
            if avars[avars[3][5]][20] or not avars[avars[3][5]][21]:
                return (avars, ret)
            chngsts = False
        if anifr < 143:
            anifr += 1
        else:
            anifr = 0
            if scr == 0 and not bx:
                bx = True
            elif scr == 1:
                scr = 0
                anifr = 78
                p = [4, 6][randint(1, 4) == 4]
                t = 435600
                g = randint(0, 4294967295)
                a = [
                    choice([1, 2, 5, 8]),
                    choice([1, 6, 7, 8]),
                    choice([1, 3, 4, 8])
                ][(matc - 379) // 2]
                c = ["no", "ma", "ku", "ku", "ma", "me", "me", "no"][a - 1]
                d = [
                    choice(["ku", "ma", "me"]), "ku", "ku", "me", "ma", "me",
                    "ma", "no"
                ][a - 1]
                ov = [[
                    a, 1, 0, (g % 4 > 1), 0,
                    randint(0, 200),
                    randint(0, 200),
                    randint(0, 200),
                    randint(0, 200),
                    randint(0, 200),
                    randint(0, 200), c, c, d, g, 0, 0, 0,
                    randint(1, 99),
                    randint(0, 5), 0, 0, 0, 0, [], 0, 0, 0, 0, 0, 0, 0, 0, 4
                ], [], [], [0, 0, 0, 0, 0, 0]]
                ov = growth.grw(ov)
                while ov[0][1] < p:
                    ov[0][1] += 1
                    if ov[0][1] == 5:
                        ov[0][1] = 6
                    ov = growth.grw(ov)
                pchr = ov[0][15]
                pcharinfo = [
                    "PARK", "", pchr, g, ov[0][13], ov[0][12], ov[0][11],
                    [t, avars[avars[3][5]][2]], 0
                ]
                pchrs = chsprs(pchr, pcharinfo[3])
            elif scr == 2:
                avars = marryseq.wed(avars, asprs, pchrs, pcharinfo, screen)
                return (avars, ret)
        r = pygame.Surface([240, 160]).convert()
        r.blit(screen, [0, 0])
        r = pygame.transform.scale(
            r, (screen.get_size()[0], screen.get_size()[1]))
        screen.blit(r, [0, 0])
        clock.tick(16)
        pygame.display.update()
Beispiel #10
0
def game(avars, asprs, screen):
    class Mnbx(pygame.sprite.Sprite):

        bxt = []

        def __init__(self):
            super().__init__()
            box = pygame.image.load("Sprites/Misc/txtbox/box2.png").convert()

            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 16, 8, 8))
            self.bxt.append(image)

            self.image = self.bxt[0]
            self.rect = self.image.get_rect()

        def update(self):
            self.image = self.bxt[tl]

    kr = True

    chngsts = False

    scr = 0

    ret = 1
    spret = 0

    tuts = True
    strt = False
    play = False
    end = 0

    cpos = 0
    opt = -1

    def chsprs(chara, dirt, g):
        sprs = []
        bs = pygame.image.load("Sprites/Characters/chara_" + str(chara) +
                               "b.png")
        ss = pygame.image.load("Sprites/Characters/chara_" + str(chara) +
                               "s.png")
        opal = []
        for i in range(32):
            opal.append(ss.get_at(((16 + (8 * (i % 2))), (16 + (i // 2)))))
        bs = palette.palch(bs, g, opal)
        if dirt:
            bs = dirty.dirt(bs)
        ss = palette.palch(ss, g, opal)
        for i in range(3):
            a = pygame.Surface([16, 16])
            a.fill((0, 255, 255))
            a.blit(ss, [-(16 * (i % 2)), -(16 * (i // 2))])
            a.set_colorkey((0, 255, 255))
            a.convert()
            sprs.append(a)
        s = (bs.get_width() // 4)
        for i in range(16):
            spr = pygame.Surface([s, s]).convert()
            spr.fill((0, 255, 255))
            spr.blit(bs, [-(s * (i % 4)), -(s * (i // 4))])
            spr.set_colorkey((0, 255, 255))
            sprs.append(spr)
        return (sprs)

    def drbx():
        tile = Mnbx()
        tile.update()
        textbox.blit(tile.image, [tx, ty])

    def drhl():
        global tx
        global tl
        tx = 0
        drbx()
        tl += 1
        while tx < 48:
            tx += 8
            drbx()
        tx = 56
        tl += 1
        drbx()

    def dral():
        global ty
        global tl
        while ty < 16:
            tl = 3
            ty += 8
            drhl()

    def aspr():
        if len(avars[0]) > 0:
            sprs0 = chsprs(avars[0][15], (avars[0][30] == 2), avars[0][14])
        else:
            sprs0 = []
        if len(avars[1]) > 0:
            sprs1 = chsprs(avars[1][15], (avars[1][30] == 2), avars[1][14])
        else:
            sprs1 = []
        if len(avars[2]) > 0:
            sprs2 = chsprs(avars[2][15], (avars[2][30] == 2), avars[2][14])
        else:
            sprs2 = []
        asprs = [sprs0, sprs1, sprs2]
        return (asprs)

    def tiles():
        seq = [randint(0, 1), randint(0, 1), randint(0, 1), randint(0, 1)]
        c = [(224, 128, 153), (204, 128, 176), (176, 128, 204),
             (152, 128, 224)]
        floor = pygame.image.load("Sprites/Misc/bg/adventuref.png")
        for i in range(1, 9):
            if (seq[(i - 1) % 4]) == (i > 4):
                floor.set_palette_at(i, c[(i - 1) % 4])
            else:
                j = randint(0, 3)
                while j == ((i - 1) % 4):
                    j = randint(0, 3)
                floor.set_palette_at(i, c[j])
        floor.convert()
        return (seq, floor)

    tpborder, btborder, borderico = borders.getborders(avars[3][13], 1, 3, 1)

    hn = pygame.image.load("Sprites/Misc/menu/hngs.png").convert()
    hp = pygame.image.load("Sprites/Misc/menu/hpys.png").convert()
    sk = pygame.image.load("Sprites/Misc/menu/scks.png").convert()
    sl = pygame.image.load("Sprites/Misc/menu/slps.png").convert()

    tutimg = pygame.image.load("Sprites/Misc/bg/adventuret.png").convert()

    playbk = pygame.image.load("Sprites/Misc/bg/adventure.png").convert()

    ent = pygame.Surface((240, 160)).convert()
    j = pygame.image.load("Sprites/Misc/bg/job_1.png").convert()
    ent.blit(j, [-240, -800])

    seq, floor = tiles()

    poof = pygame.image.load("Sprites/Misc/obj/poof.png").convert()

    ready = pygame.image.load("Sprites/Misc/bg/ready.png").convert()
    go = pygame.image.load("Sprites/Misc/bg/go.png").convert()

    toobad = pygame.image.load("Sprites/Misc/bg/toobad.png").convert()
    good = pygame.image.load("Sprites/Misc/bg/good.png").convert()
    great = pygame.image.load("Sprites/Misc/bg/great.png").convert()
    excellent = pygame.image.load("Sprites/Misc/bg/excellent.png").convert()

    win = pygame.image.load("Sprites/Misc/emo/happy.png").convert()
    cry = pygame.image.load("Sprites/Misc/emo/cry.png").convert()

    money = pygame.image.load("Sprites/Misc/obj/money.png").convert()
    coin = pygame.image.load("Sprites/Misc/menu/gotchipt.png").convert()

    fnt = pygame.font.Font("Sprites/Misc/font/Tama2.ttf", 16)

    textbox = pygame.Surface([240, 64]).convert()
    textbox.fill((0, 255, 255))
    global tl
    global ty
    tl = 0
    ty = 0
    drhl()
    dral()
    tl = 6
    ty = 24
    drhl()
    textbox.set_colorkey((0, 255, 255))

    clock = pygame.time.Clock()

    sound = sounds.imprtsnd(avars)

    anifr = 0

    pygame.time.set_timer(USEREVENT + 1, int(1000 / ((5 * avars[3][3]) + 1)))

    if avars[3][3] == 0:
        avars[3][6] = time.strftime("%H:%M")

    while kr:
        if tuts:
            screen.blit(tutimg, [0, 0])
        elif strt:
            screen.blit(ent, [0, 0])
            if anifr == 16:
                pygame.mixer.stop()
                sound[11].play()
            if anifr < 16:
                screen.blit(ready, [80, 48])
                spr = 3
            else:
                screen.blit(go, [95, 48])
                spr = 5
            screen.blit(asprs[avars[3][5]][spr],
                        [(104 +
                          ((32 - asprs[avars[3][5]][spr].get_width()) // 2)),
                         (98 + (32 - asprs[avars[3][5]][spr].get_height()))])
        elif play:
            screen.blit(playbk, [-(240 * (end == 2)), 0])
            if end == 0:
                spr = 6
                screen.blit(floor, [64, 120])
            elif end == 1:
                spr = 5 + (4 * (cpos < 5))
            else:
                spr = 4 + (anifr % 12 > 5)
            screen.blit(pygame.transform.flip(asprs[avars[3][5]][spr], 1, 0),
                        [(36 + (28 * cpos)), [96, 92, 100][opt + 1]])
        else:
            if end == 5:
                screen.blit(playbk, [-240, 0])
            else:
                screen.blit(ent, [0, 0])
            if end == 3:
                screen.blit(money, [88, 106])
                if anifr < 8:
                    spr = 11
                else:
                    if anifr == 8:
                        pygame.mixer.stop()
                        sound[13].play()
                    screen.blit(textbox, [94, 64])
                    mntxt = fnt.render(str(scr * 200), 1, (0, 0, 100))
                    screen.blit(mntxt, [(138 - (mntxt.get_width())), 74])
                    screen.blit(coin, [138, 72])
                    if scr > 0:
                        spr = 5
                    else:
                        spr = 6
                screen.blit(
                    asprs[avars[3][5]][spr],
                    [(124 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)),
                     (98 + (32 - asprs[avars[3][5]][spr].get_height()))])
            elif end == 4:
                if scr < 4:
                    screen.blit(toobad, [71, 48])
                    sy = 98
                    if ((anifr / 12) - (anifr // 12)) < 0.5:
                        spr = 6
                    else:
                        spr = 7
                        screen.blit(cry, [56, 90])
                else:
                    if scr < 8:
                        screen.blit(good, [94, 48])
                    elif scr < 12:
                        screen.blit(great, [85, 48])
                    else:
                        screen.blit(excellent, [51, 48])
                    if ((anifr / 12) - (anifr // 12)) < 0.5:
                        sy = 98
                        spr = 4
                    else:
                        sy = 90
                        spr = 5
                        screen.blit(win, [136, 82])
                screen.blit(
                    asprs[avars[3][5]][spr],
                    [(104 + ((32 - asprs[avars[3][5]][spr].get_width()) // 2)),
                     (sy + (32 - asprs[avars[3][5]][spr].get_height()))])
            elif end == 5:
                if anifr < 6:
                    screen.blit(asprs[avars[3][5]][9], [104, 98])
                else:
                    screen.blit(poof, [104, 98])
                screen.blit(bksl[(anifr % 12 > 5)], [72, 102])
                screen.blit(bksl[1 + (anifr % 12 > 5)], [144, 102])
        screen = borders.drawborders(screen, avars, asprs, tpborder, btborder,
                                     borderico, fnt, 0, anifr, hn, hp, sk, sl)
        for event in pygame.event.get():
            if event.type == QUIT:
                varsup.updtvrs(avars)
                kr = False
                pygame.quit()
                sys.exit()
            if event.type == MOUSEBUTTONDOWN:
                mp = event.pos
                d = (screen.get_size()[0] // 240)
                mp = ((mp[0] // d), (mp[1] // d))
                pb = event.button
                if pb == 1:
                    if 138 < mp[1] < 158:
                        if 228 < mp[0] < 240:
                            pygame.mixer.stop()
                            sound[4].play()
                            return (avars, ret)
                        elif 212 < mp[0] < 224:
                            pygame.mixer.stop()
                            sound[4].play()
                            ret = 0
                            return (avars, ret)
                    if (24 < mp[1] < 136) and tuts:
                        pygame.mixer.stop()
                        sound[10].play()
                        tuts = False
                        strt = True
                        anifr = -1
                if play and end == 0 and (24 < mp[1] < 136) and pb in [1, 3]:
                    cpos += 1
                    if cpos < 5:
                        pygame.mixer.stop()
                        sound[2].play()
                        opt = pb // 2
                        if opt != seq[cpos - 1]:
                            end = 1
                            anifr = 11
                            pygame.mixer.stop()
                            sound[12].play()
                    else:
                        opt = -1
                        end = 1
                        anifr = 11
                        pygame.mixer.stop()
                        sound[9].play()
            if event.type == USEREVENT + 1:
                if avars[3][3] == 0:
                    avars[3][6] = time.strftime("%H:%M")
                else:
                    avars[3][7] += 1
                    if avars[3][7] == 60:
                        if int(avars[3][6][3:]) != 59:
                            nhour = avars[3][6][:3] + (
                                "%02d" % (int(avars[3][6][3:]) + 1))
                            avars[3][6] = nhour
                        else:
                            nhour = ("%02d" %
                                     (int(avars[3][6][:2]) + 1)) + ":00"
                            if nhour == "24:00":
                                nhour = "00:00"
                            avars[3][6] = nhour
                        avars[3][7] = 0
                if len(avars[0]) > 0:
                    avars[0][2] += 1
                if len(avars[1]) > 0:
                    avars[1][2] += 1
                if len(avars[2]) > 0:
                    avars[2][2] += 1
                chngsts = True
        if chngsts:
            avars = statusup.chngsts(avars)
            chngsts = False
        if anifr < (23 + (72 * (play and end == 0))):
            anifr += 1
        else:
            anifr = 0
            if strt:
                play = True
                strt = False
            elif play:
                if end == 0:
                    end = 1
                    anifr = 12
                    pygame.mixer.stop()
                    sound[12].play()
                elif end == 1:
                    if cpos == 5:
                        end = 0
                        scr += 1
                        seq, floor = tiles()
                        cpos = 0
                    else:
                        play = False
                    if scr == 12:
                        end = 2
                        cpos = 2
                        pygame.mixer.stop()
                        sound[9].play()
                elif end == 2:
                    play = False
                if not play:
                    end = 3
                    if (avars[3][2] + (scr * 200)) < 99999:
                        avars[3][2] += (scr * 200)
                    else:
                        avars[3][2] = 99999
                    avars[avars[3][5]][10] += ((scr * 4) // 3)
                    avars[avars[3][5]][5] += ((scr * 2) // 3)
            elif end == 3:
                if scr < 12 or avars[avars[3][5]][15] != 332 or avars[
                        avars[3][5]][10] < 667 or avars[avars[3][5]][5] < 334:
                    if scr < 4:
                        pygame.mixer.stop()
                        sound[14].play()
                    else:
                        pygame.mixer.stop()
                        sound[1].play()
                    end = 4
                else:
                    pygame.mixer.stop()
                    sound[15].play()
                    end = 5
            elif end == 5:
                pygame.mixer.stop()
                sound[1].play()
                avars[avars[3][5]][1] = 5
                avars = growth.grw(avars)
                asprs = aspr()
                spret = 1
                end = 4
            elif end == 4:
                ret = spret
                return (avars, ret)
        s = pygame.Surface([240, 160]).convert()
        s.blit(screen, [0, 0])
        s = pygame.transform.scale(
            s, (screen.get_size()[0], screen.get_size()[1]))
        screen.blit(s, [0, 0])
        clock.tick(16)
        pygame.display.update()
Beispiel #11
0
def phom(avars, asprs, screen):

    class Txtbx(pygame.sprite.Sprite):

        bxt = []
        
        def __init__(self):
            super().__init__()
            box = pygame.image.load("Sprites/Misc/txtbox/box1.png").convert()

            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 0, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 8, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (0, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (8, 16, 8, 8))
            self.bxt.append(image)
            image = pygame.Surface([8, 8]).convert()
            image.set_colorkey((0, 0, 0))
            image.blit(box, (0, 0), (16, 16, 8, 8))
            self.bxt.append(image)

            self.image = self.bxt[0]
            self.rect = self.image.get_rect()

        def update(self):
            self.image = self.bxt[tl]
    
    kr = True

    bx = False
    name = False

    scr = (format(avars[avars[3][5]][14], '032b')[30] == '0')
    sibin = 0
    if len(avars[avars[3][5]][26]) > 0:
        for a in avars[avars[3][5]][32][2:]:
            if (format(a[3], '032b')[16:28]) == (format(avars[avars[3][5]][14], '032b')[16:28]):
                sibin = avars[avars[3][5]][32].index(a)
                if avars[avars[3][5]][32][sibin][8] < 80:
                    avars[avars[3][5]][32][sibin][8] += 1
                if avars[avars[3][5]][32][sibin][0] == avars[3][0]:
                    for i in [0, 1, 2]:
                        if len(avars[i]) > 0:
                            if avars[i][14] == avars[avars[3][5]][32][sibin][3]:
                                if avars[i][32][0][8] < 80:
                                    avars[i][32][0][8] += 1
                                if avars[i][32][1][8] < 80:
                                    avars[i][32][1][8] += 1
                                for b in avars[i][32][2:]:
                                    if b[3] == avars[avars[3][5]][14]:
                                        c = avars[i][32].index(b)
                                        if avars[i][32][c][8] < 80:
                                            avars[i][32][c][8] += 1
                scr = 1

    chngsts = False

    ret = 1

    def chsprs(chara, dirt, g):
        sprs = []
        if chara > 0:
            try:
                bs = pygame.image.load("Sprites/Characters/chara_" + str(chara) + "b.png")
                ss = pygame.image.load("Sprites/Characters/chara_" + str(chara) + "s.png")
                opal = []
                for i in range(32):
                    opal.append(ss.get_at(((16 + (8 * (i % 2))), (16 + (i // 2)))))
                bs = palette.palch(bs, g, opal)
                if dirt:
                    bs = dirty.dirt(bs)
                ss = palette.palch(ss, g, opal)
            except:
                bs = pygame.image.load("Sprites/NPC/Nazotchi.png")
                ss = pygame.image.load("Sprites/NPC/Nazo.png")
                opal = []
                for i in range(32):
                    opal.append(ss.get_at(((16 + (8 * (i % 2))), (16 + (i // 2)))))
                bs = palette.palch(bs, g, opal)
                ss = palette.palch(ss, g, opal)
            for i in range(3):
                a = pygame.Surface([16, 16])
                a.fill((0, 255, 255))
                a.blit(ss, [-(16 * (i % 2)), -(16 * (i // 2))])
                a.set_colorkey((0, 255, 255))
                a.convert()
                sprs.append(a)
            s = (bs.get_width() // 4)
            for i in range(16):
                spr = pygame.Surface([s, s]).convert()
                spr.fill((0, 255, 255))
                spr.blit(bs, [-(s * (i % 4)), -(s * (i // 4))])
                spr.set_colorkey((0, 255, 255))
                sprs.append(spr)
        else:
            bs = pygame.image.load("Sprites/Eggs/egg_" + str(-chara) + "b.png")
            ss = pygame.image.load("Sprites/Eggs/egg_" + str(-chara) + "s.png")
            for i in range(2):
                a = pygame.Surface([16, 16])
                a.fill((0, 255, 255))
                a.blit(ss, [-(16 * (i % 2)), 0])
                a.set_colorkey((0, 255, 255))
                a.convert()
                sprs.append(a)
            for i in range(4):
                spr = pygame.Surface([24, 24]).convert()
                spr.fill((0, 255, 255))
                spr.blit(bs, [-(24 * (i % 2)), -(24 * (i // 2))])
                spr.set_colorkey((0, 255, 255))
                sprs.append(spr)
        return(sprs)

    def drbx():
        tile = Txtbx()
        tile.update()
        textbox.blit(tile.image, [tx, ty])

    def drhl():
        global tx
        global tl
        tx = 0
        drbx()
        tl += 1
        while tx < 224:
            tx += 8
            drbx()
        tx = 232
        tl += 1
        drbx()

    def dral():
        global ty
        global tl
        while ty < 96:
            tl = 3
            ty += 8
            drhl()

    def nchild():
        negg = []
        if len(avars[avars[3][5]][26]) > 0:
            l = [choice([avars[avars[3][5]][25][4], avars[avars[3][5]][25][5]]),
                 choice([avars[avars[3][5]][26][2], avars[avars[3][5]][26][3]])]
        else:
            l = [avars[avars[3][5]][12], avars[avars[3][5]][13]]
        if avars[avars[3][5]][0] < 9:
            if "no" in l:
                if l.count("no") == 2:
                    negg.append(8)
                else:
                    negg.append(1)
                negg.append(l.pop(l.index("no")))
                negg.append(l[0])
            elif "ma" in l:
                if l.count("ma") == 2:
                    negg.append(5)
                    negg.append(l.pop(l.index("ma")))
                else:
                    if "me" in l:
                        negg.append(7)
                        negg.append(l.pop(l.index("me")))
                    else:
                        negg.append(2)
                        negg.append(l.pop(l.index("ma")))
                negg.append(l[0])
            elif "me" in l:
                if l.count("me") == 2:
                    negg.append(6)
                    negg.append(l.pop(l.index("me")))
                else:
                    negg.append(4)
                    negg.append(l.pop(l.index("ku")))
                negg.append(l[0])
            else:
                negg.append(3)
                negg.append(l.pop(l.index("ku")))
                negg.append(l[0])
        else:
            negg.append(avars[avars[3][5]][0])
            negg.append(ced[str(avars[avars[3][5]][0])])
            negg.append(0)
        y = format(avars[avars[3][5]][25][0], '032b')
        m = format(avars[avars[3][5]][26][0], '032b')
        a = (int(y[:16], 2) & int(m[:16], 2))
        b = ((int(y[:16], 2) ^ int(m[:16], 2)) & randint(0, 65535))
        r = format((a | b), '016b') + format((int(y[16:28], 2) ^ int(m[16:28], 2)), '012b') + format(randint(0, 15), '04b')
        #print('%08x' % int(y, 2))
        #print('%08x' % int(m, 2))
        #print('%08x' % int(r, 2))
        negg.append(int(r, 2))
        return(negg)
    
    ced = {}
    for f in os.listdir("CCharacters"):
        if f.endswith(".txt") and (f != ("Names.txt")):
            n = open(("CCharacters/" + f), 'r')
            t = n.read()
            i = t.index('/')
            j = int(t[:i])
            if os.path.isfile("Sprites/Eggs/egg_" + str(j) + "b.png") and os.path.isfile("Sprites/Eggs/egg_" + str(j) + "s.png") and (8 < j < 16):
                ced.update({str(j): f[:(len(f) - 4)]})

    def impvrs():
        d = shelve.open('save_db')
        if ('egg1' in d):
            var1 = [d['egg1'], d['charag1'], d['time1'], d['gene1'], d['poo1'], d['int1'], d['sty1'], d['knd1'], d['hum1'], d['gor1'], d['pas1'], d['grp1'], d['grpf1'],
                    d['grpm1'], d['gender1'], d['chara1'], d['hungry1'], d['happy1'], d['weight1'], d['caremiss1'], d['sick1'], d['awake1'], d['chname1'], d['room1'],
                    d['stages1'], d['parent1'], d['pspouse1'], d['gparent1'], d['gpspouse1'], d['agen1'], d['dirty1'], d['edu1'], d['frnd1'], d['pttrain1']]
        else:
            var1 = []

        if ('egg2' in d):
            var2 = [d['egg2'], d['charag2'], d['time2'], d['gene2'], d['poo2'], d['int2'], d['sty2'], d['knd2'], d['hum2'], d['gor2'], d['pas2'], d['grp2'], d['grpf2'],
                    d['grpm2'], d['gender2'], d['chara2'], d['hungry2'], d['happy2'], d['weight2'], d['caremiss2'], d['sick2'], d['awake2'], d['chname2'], d['room2'],
                    d['stages2'], d['parent2'], d['pspouse2'], d['gparent2'], d['gpspouse2'], d['agen2'], d['dirty2'], d['edu2'], d['frnd2'], d['pttrain2']]
        else:
            var2 = []

        if ('egg3' in d):
            var3 = [d['egg3'], d['charag3'], d['time3'], d['gene3'], d['poo3'], d['int3'], d['sty3'], d['knd3'], d['hum3'], d['gor3'], d['pas3'], d['grp3'], d['grpf3'],
                    d['grpm3'], d['gender3'], d['chara3'], d['hungry3'], d['happy3'], d['weight3'], d['caremiss3'], d['sick3'], d['awake3'], d['chname3'], d['room3'],
                    d['stages3'], d['parent3'], d['pspouse3'], d['gparent3'], d['gpspouse3'], d['agen3'], d['dirty3'], d['edu3'], d['frnd3'], d['pttrain3']]
        else:
            var3 = []

        gvar = [d['uname'], d['bday'], d['money'], d['speed'], d['food'], d['selchara'], d['hour'], d['secs'], d['vol'], d['item'], d['grave'], d['mail'],
                d['lstdt'], d['border'], d['chegg'], d['kitchen'], d['table'], d['chair'], d['wc'], d['toilet'], d['btoilet'], d['bathr'], d['bath'], d['dex']]

        avars = [var1, var2, var3, gvar]
        d.close()
        return(avars)

    tpborder, btborder, borderico = borders.getborders(avars[3][13], 1, 3, 1)

    hn = pygame.image.load("Sprites/Misc/menu/hngs.png").convert()
    hp = pygame.image.load("Sprites/Misc/menu/hpys.png").convert()
    sk = pygame.image.load("Sprites/Misc/menu/scks.png").convert()
    sl = pygame.image.load("Sprites/Misc/menu/slps.png").convert()

    house = pygame.image.load("Sprites/Misc/bg/parenti.png").convert()

    if (avars[avars[3][5]][2] - avars[avars[3][5]][32][0][7][1] + avars[avars[3][5]][32][0][7][0]) > 1382400 and avars[avars[3][5]][32][0][2] < 379:
        a = 6
        gn = avars[avars[3][5]][3] - 1
        l = [0, 0, 0, 0, 0, 0]
        l[int(format(avars[avars[3][5]][14], '032b')[16:28], 2) % 6] += 500
        ov = [[0, a, 0, gn, 0, l[0], l[1], l[2], l[3], l[4], l[5], avars[avars[3][5]][32][0][6], avars[avars[3][5]][32][0][5], avars[avars[3][5]][32][0][4], avars[avars[3][5]][32][0][3], \
               avars[avars[3][5]][32][0][2], 0, 0, 22, 0, 0, 0, 0, 0, [], 0, 0, 0, 0, 0, 0, 0, 0, 4], [], [], [0, 0, 0, 0, 0, 0]]
        ov = growth.grw(ov)
        avars[avars[3][5]][32][0][2] = ov[0][15]
        avars[avars[3][5]][32][0][5] = ov[0][12]
        avars[avars[3][5]][32][0][4] = ov[0][13]
    if avars[avars[3][5]][32][0][8] < 80:
        avars[avars[3][5]][32][0][8] += 1

    if len(avars[avars[3][5]][26]) > 0:
        if (avars[avars[3][5]][2] - avars[avars[3][5]][32][1][7][1] + avars[avars[3][5]][32][1][7][0]) > 1382400 and avars[avars[3][5]][32][1][2] < 379:
            a = 6
            gn = avars[avars[3][5]][3] - 1
            l = [0, 0, 0, 0, 0, 0]
            l[int(format(avars[avars[3][5]][14], '032b')[16:28], 2) % 6] += 500
            ov = [[0, a, 0, gn, 0, l[0], l[1], l[2], l[3], l[4], l[5], avars[avars[3][5]][32][1][6], avars[avars[3][5]][32][1][5], avars[avars[3][5]][32][1][4], avars[avars[3][5]][32][1][3], \
                   avars[avars[3][5]][32][1][2], 0, 0, 22, 0, 0, 0, 0, 0, [], 0, 0, 0, 0, 0, 0, 0, 0, 4], [], [], [0, 0, 0, 0, 0, 0]]
            ov = growth.grw(ov)
            avars[avars[3][5]][32][1][2] = ov[0][15]
            avars[avars[3][5]][32][1][5] = ov[0][12]
            avars[avars[3][5]][32][1][4] = ov[0][13]
        if avars[avars[3][5]][32][1][8] < 80:
            avars[avars[3][5]][32][1][8] += 1

    eggs = chsprs(-avars[avars[3][5]][0], 0, 0)
    parents = chsprs(avars[avars[3][5]][32][0][2], 0, avars[avars[3][5]][25][0])
    aparents = chsprs(avars[avars[3][5]][25][1], 0, avars[avars[3][5]][25][0])
    if len(avars[avars[3][5]][26]) > 0:
        spouses = chsprs(avars[avars[3][5]][32][1][2], 0, avars[avars[3][5]][26][0])
        aspouses = chsprs(avars[avars[3][5]][26][1], 0, avars[avars[3][5]][26][0])
    if sibin > 0:
        sibls = chsprs(avars[avars[3][5]][32][sibin][2], 0, avars[avars[3][5]][32][sibin][3])

    if scr == 0:
        negg = nchild()
        #print(negg)
        e = avars[3][14]
        e = e[:(negg[0] - 1)] + '1' + e[(negg[0]):]
        avars[3][14] = e
        neggs = chsprs(-negg[0], 0, 0)
        babd = [[negg[0], 1, 0, avars[avars[3][5]][3], 0, 0, 0, 0, 0, 0, 0, negg[1], negg[1], negg[2], negg[3], \
               0, 0, 0, 5, 0, 0, 0, 0, 0, [], 0, 0, 0, 0, 0, 0, 0, 0, 0], [], [], [0, 0, 0, 0, 0, 0]]
        babd = growth.grw(babd)
        babs = chsprs(babd[0][15], 0, babd[0][14])

    frame = pygame.Surface((24, 24)).convert()
    frame.blit(house, [0, 0])

    fnt = pygame.font.Font("Sprites/Misc/font/Tama2.ttf", 16)

    keeptx = fnt.render("KEEP?", 1, (0, 0, 100))
    nametx = fnt.render("NAME:", 1, (0, 0, 100))
    yest = fnt.render("YES", 1, (0, 0, 100))
    notx = fnt.render("NO", 1, (0, 0, 100))
    nw = ""
    nmwr = fnt.render(nw, 1, (0, 0, 100))
    ne = False

    textbox = pygame.Surface([240, 112]).convert()
    textbox.fill((0, 255, 255))
    global tl
    global ty
    tl = 0
    ty = 0
    drhl()
    dral()
    tl = 6
    ty = 104
    drhl()

    clock = pygame.time.Clock()

    sound = sounds.imprtsnd(avars)

    anifr = 0

    pygame.time.set_timer(USEREVENT + 1, int(1000 / ((5 * avars[3][3]) + 1)))
    
    if avars[3][3] == 0:
        avars[3][6] = time.strftime("%H:%M")

    while kr:
        if not bx:
            screen.blit(house, [0, 0])
            screen.blit(aparents[1], [13, 62])
            screen.blit(eggs[0], [29, 62])
            if len(avars[avars[3][5]][26]) > 0:
                screen.blit(aspouses[1], [45, 62])
            screen.blit(frame, [32, 28])
            screen.blit(asprs[avars[3][5]][1], [36, 32])
            if sibin > 0:
                screen.blit(frame, [56, 28])
                screen.blit(sibls[1], [60, 32])
            if scr == 0:
                if anifr < 24:
                    screen.blit(pygame.transform.flip(spouses[4 + (anifr % 12 > 5)], 1, 0), [80, 90])
                    screen.blit(pygame.transform.flip(parents[4 + (anifr % 12 < 6)], 1, 0), [56, 98])
                    screen.blit(asprs[avars[3][5]][4 + (5 * (anifr % 12 > 5))], [(152 + ((32 - asprs[avars[3][5]][3].get_width()) // 2)), (98 + (32 - asprs[avars[3][5]][3].get_height()))])
                    screen.blit(neggs[2 + (anifr % 12 > 5)], [108, 106])
                elif anifr < 96:
                    if anifr == 24:
                        pygame.mixer.stop()
                        sound[7].play()
                    screen.blit(pygame.transform.flip(spouses[4 + (5 * (anifr % 12 > 5))], 1, 0), [80, 90])
                    screen.blit(pygame.transform.flip(parents[4 + (5 * (anifr % 12 < 6))], 1, 0), [56, 98])
                    screen.blit(asprs[avars[3][5]][4 + (5 * (anifr % 12 > 5))], [(152 + ((32 - asprs[avars[3][5]][3].get_width()) // 2)), (98 + (32 - asprs[avars[3][5]][3].get_height()))])
                    screen.blit(neggs[4], [(107 + (2 * (anifr % 12 > 5))), 106])
                elif anifr < 120:
                    if anifr == 96:
                        pygame.mixer.stop()
                        sound[8].play()
                    screen.blit(pygame.transform.flip(spouses[5], 1, 0), [80, 90])
                    screen.blit(pygame.transform.flip(parents[5], 1, 0), [56, 98])
                    screen.blit(asprs[avars[3][5]][5], [(152 + ((32 - asprs[avars[3][5]][3].get_width()) // 2)), (98 + (32 - asprs[avars[3][5]][3].get_height()))])
                    screen.blit(babs[5], [112, 107])
                    screen.blit(neggs[5], [108, 106])
                else:
                    screen.blit(pygame.transform.flip(spouses[11 + (anifr % 12 > 5)], 1, 0), [80, 90])
                    screen.blit(pygame.transform.flip(parents[11 + (anifr % 12 < 6)], 1, 0), [56, 98])
                    screen.blit(asprs[avars[3][5]][11 + (anifr % 12 > 5)], [(152 + ((32 - asprs[avars[3][5]][3].get_width()) // 2)), (98 + (32 - asprs[avars[3][5]][3].get_height()))])
                    screen.blit(babs[6 + (anifr % 12 > 5)], [112, 114])
            elif scr == 1:
                if len(avars[avars[3][5]][26]) > 0:
                    screen.blit(pygame.transform.flip(spouses[4 + (anifr % 12 > 5)], 1, 0), [80, 90])
                if sibin > 0:
                    screen.blit(sibls[4 + (anifr % 12 < 6)], [(128 + ((32 - sibls[3].get_width()) // 2)), (90 + (32 - sibls[3].get_height()))])
                screen.blit(pygame.transform.flip(parents[4 + (anifr % 12 < 6)], 1, 0), [56, 98])
                screen.blit(asprs[avars[3][5]][4 + (anifr % 12 > 5)], [(152 + ((32 - asprs[avars[3][5]][3].get_width()) // 2)), (98 + (32 - asprs[avars[3][5]][3].get_height()))])
        else:
            screen.blit(textbox, [0, 24])
            if not name:
                screen.blit(keeptx, [8, 66])
                screen.blit(yest, [107, 82])
                screen.blit(notx, [164, 82])
            else:
                screen.blit(nametx, [8, 66])
                screen.blit(nmwr, [8, 82])
        screen = borders.drawborders(screen, avars, asprs, tpborder, btborder, borderico, fnt, 0, anifr, hn, hp, sk, sl)
        for event in pygame.event.get():
            if event.type == QUIT:
                varsup.updtvrs(avars)
                kr = False
                pygame.quit()
                sys.exit()
            if event.type == pygame.KEYDOWN:
                if name and bx:
                    if pygame.K_a <= event.key <= pygame.K_z:
                        ltr = chr(event.key)
                        if len(nw) < 8:
                            nw = (nw + str(ltr)).upper()
                        nmwr = fnt.render(nw, 1, (0, 0, 100))
                        ne = True
                    if event.key == pygame.K_BACKSPACE:
                        if len(nw) != 0:
                            if len(nw) == 1:
                                ne = False
                            nw = nw[:len(nw) - 1]
                            nmwr = fnt.render(nw, 1, (0, 0, 100))
                    if event.key == pygame.K_RETURN:
                        if ne:
                            pygame.mixer.stop()
                            sound[0].play()
                            pcharinfo = [avars[3][0], nw, babd[0][15], babd[0][14], babd[0][13], babd[0][12], babd[0][11], [0, avars[avars[3][5]][2]], 0]
                            f = avars[avars[3][5]][32]
                            f.append(pcharinfo)
                            avars[avars[3][5]][32] = f
                            x = avars[3][23]
                            x = format(x, '0384b')
                            x = x[:(babd[0][15] - 1)] + '1' + x[babd[0][15]:]
                            avars[3][23] = int(x, 2)
                            y = [avars[3][0], avars[avars[3][5]][22], avars[avars[3][5]][15], avars[avars[3][5]][14], \
                                 avars[avars[3][5]][13], avars[avars[3][5]][12], avars[avars[3][5]][11], avars[avars[3][5]][2], 0]
                            varsup.updtvrs(avars)
                            d = shelve.open('save_db')
                            if (not ('egg1' in d)) or d['egg1'] == None:
                                for file in os.listdir("Sprites/Misc/mail/tm1"):
                                    os.remove("Sprites/Misc/mail/tm1/" + file)
                                d['egg1'] = babd[0][0]
                                d['charag1'] = babd[0][1]
                                d['time1'] = 0
                                d['gene1'] = babd[0][3]
                                d['poo1'] = 0
                                d['int1'] = babd[0][5]
                                d['sty1'] = babd[0][6]
                                d['knd1'] = babd[0][7]
                                d['hum1'] = babd[0][8]
                                d['gor1'] = babd[0][9]
                                d['pas1'] = babd[0][10]
                                d['grp1'] = babd[0][11]
                                d['grpf1'] = babd[0][12]
                                d['grpm1'] = babd[0][13]
                                d['gender1'] = babd[0][14]
                                d['chara1'] = babd[0][15]
                                d['hungry1'] = 0
                                d['happy1'] = 0
                                d['weight1'] = 5
                                d['caremiss1'] = 0
                                d['sick1'] = False
                                d['awake1'] = True
                                d['chname1'] = nw
                                d['stages1'] = []
                                d['parent1'] = avars[avars[3][5]][25]
                                d['pspouse1'] = avars[avars[3][5]][26]
                                d['gparent1'] = avars[avars[3][5]][27]
                                d['gpspouse1'] = avars[avars[3][5]][28]
                                d['agen1'] = avars[avars[3][5]][29]
                                d['dirty1'] = 0
                                d['edu1'] = 0
                                d['frnd1'] = [avars[avars[3][5]][32][0], avars[avars[3][5]][32][1], y]
                                d['pttrain1'] = 0
                                d['selchara'] = 0
                            elif (not ('egg2' in d)):
                                for file in os.listdir("Sprites/Misc/mail/tm2"):
                                    os.remove("Sprites/Misc/mail/tm2/" + file)
                                d['egg2'] = babd[0][0]
                                d['charag2'] = babd[0][1]
                                d['time2'] = 0
                                d['gene2'] = babd[0][3]
                                d['poo2'] = 0
                                d['int2'] = babd[0][5]
                                d['sty2'] = babd[0][6]
                                d['knd2'] = babd[0][7]
                                d['hum2'] = babd[0][8]
                                d['gor2'] = babd[0][9]
                                d['pas2'] = babd[0][10]
                                d['grp2'] = babd[0][11]
                                d['grpf2'] = babd[0][12]
                                d['grpm2'] = babd[0][13]
                                d['gender2'] = babd[0][14]
                                d['chara2'] = babd[0][15]
                                d['hungry2'] = 0
                                d['happy2'] = 0
                                d['weight2'] = 5
                                d['caremiss2'] = 0
                                d['sick2'] = False
                                d['awake2'] = True
                                d['chname2'] = nw
                                d['stages2'] = []
                                d['parent2'] = avars[avars[3][5]][25]
                                d['pspouse2'] = avars[avars[3][5]][26]
                                d['gparent2'] = avars[avars[3][5]][27]
                                d['gpspouse2'] = avars[avars[3][5]][28]
                                d['agen2'] = avars[avars[3][5]][29]
                                d['dirty2'] = 0
                                d['edu2'] = 0
                                d['frnd2'] = [avars[avars[3][5]][32][0], avars[avars[3][5]][32][1], y]
                                d['pttrain2'] = 0
                                d['selchara'] = 1
                            elif (not ('egg3' in d)):
                                for file in os.listdir("Sprites/Misc/mail/tm3"):
                                    os.remove("Sprites/Misc/mail/tm3/" + file)
                                d['egg3'] = babd[0][0]
                                d['charag3'] = babd[0][1]
                                d['time3'] = 0
                                d['gene3'] = babd[0][3]
                                d['poo3'] = 0
                                d['int3'] = babd[0][5]
                                d['sty3'] = babd[0][6]
                                d['knd3'] = babd[0][7]
                                d['hum3'] = babd[0][8]
                                d['gor3'] = babd[0][9]
                                d['pas3'] = babd[0][10]
                                d['grp3'] = babd[0][11]
                                d['grpf3'] = babd[0][12]
                                d['grpm3'] = babd[0][13]
                                d['gender3'] = babd[0][14]
                                d['chara3'] = babd[0][15]
                                d['hungry3'] = 0
                                d['happy3'] = 0
                                d['weight3'] = 5
                                d['caremiss3'] = 0
                                d['sick3'] = False
                                d['awake3'] = True
                                d['chname3'] = nw
                                d['stages3'] = []
                                d['parent3'] = avars[avars[3][5]][25]
                                d['pspouse3'] = avars[avars[3][5]][26]
                                d['gparent3'] = avars[avars[3][5]][27]
                                d['gpspouse3'] = avars[avars[3][5]][28]
                                d['agen3'] = avars[avars[3][5]][29]
                                d['dirty3'] = 0
                                d['edu3'] = 0
                                d['frnd3'] = [avars[avars[3][5]][32][0], avars[avars[3][5]][32][1], y]
                                d['pttrain3'] = 0
                                d['selchara'] = 2
                            d.close()
                            avars = impvrs()
                            return(avars, ret)
            if event.type == MOUSEBUTTONDOWN:
                mp = event.pos
                d = (screen.get_size()[0] // 240)
                mp = ((mp[0] // d), (mp[1] // d))
                pb = event.button
                if pb == 1:
                    if 138 < mp[1] < 158 and scr == 1:
                        if 228 < mp[0] < 240:
                            pygame.mixer.stop()
                            sound[4].play()
                            return(avars, ret)
                        elif 212 < mp[0] < 224:
                            pygame.mixer.stop()
                            sound[4].play()
                            ret = 0
                            return(avars, ret)
                    if 24 < mp[1] < 136 and scr == 1:
                        fsps = [parents]
                        if len(avars[avars[3][5]][26]) > 0:
                            fsps.append(spouses)
                            if sibin > 0:
                                fsps.append(sibls)
                        avars, ret = parentg.game(avars, asprs, screen, fsps)
                        return(avars, ret)
                    if bx and not name and 80 < mp[1] < 96:
                        if 164 < mp[0] < 188:
                            pygame.mixer.stop()
                            sound[4].play()
                            pcharinfo = ["PARK", "", babd[0][15], babd[0][14], babd[0][13], babd[0][12], babd[0][11], [0, avars[avars[3][5]][2]], 0]
                            f = avars[avars[3][5]][32]
                            f.append(pcharinfo)
                            avars[avars[3][5]][32] = f
                            return(avars, ret)
                        elif 107 < mp[0] < 139:
                            pygame.mixer.stop()
                            sound[3].play()
                            name = True
            if event.type == USEREVENT + 1:
                if avars[3][3] == 0:
                    avars[3][6] = time.strftime("%H:%M")
                else:
                    avars[3][7] += 1
                    if avars[3][7] == 60:
                        if int(avars[3][6][3:]) != 59:
                            nhour = avars[3][6][:3] + ("%02d" % (int(avars[3][6][3:]) + 1))
                            avars[3][6] = nhour
                        else:
                            nhour = ("%02d" % (int(avars[3][6][:2]) + 1)) + ":00"
                            if nhour == "24:00":
                                nhour = "00:00"
                            avars[3][6] = nhour
                        avars[3][7] = 0
                if len(avars[0]) > 0:
                    avars[0][2] += 1
                if len(avars[1]) > 0:
                    avars[1][2] += 1
                if len(avars[2]) > 0:
                    avars[2][2] += 1
                chngsts = True
        if chngsts:
            avars = statusup.chngsts(avars)
            if avars[avars[3][5]][20] or not avars[avars[3][5]][21]:
                return(avars, ret)
            chngsts = False
        if anifr < 143:
            anifr += 1
        else:
            anifr = 0
            if scr == 0 and not bx:
                if not (len(avars[0]) > 0 and len(avars[1]) > 0 and len(avars[2]) > 0):
                    bx = True
                else:
                    pygame.mixer.stop()
                    sound[4].play()
                    pcharinfo = ["PARK", "", babd[0][15], babd[0][14], babd[0][13], babd[0][12], babd[0][11], [0, avars[avars[3][5]][2]], 0]
                    f = avars[avars[3][5]][32]
                    f.append(pcharinfo)
                    avars[avars[3][5]][32] = f
                    return(avars, ret)
        r = pygame.Surface([240, 160]).convert()
        r.blit(screen, [0, 0])
        r = pygame.transform.scale(r, (screen.get_size()[0], screen.get_size()[1]))
        screen.blit(r, [0, 0])
        clock.tick(16)
        pygame.display.update()