﻿default pairs_set_1 = [
    "☀", "☂", "☎", "★", "☘",
    "☯", "☻", "☢", "♥", "✈",
    "⧓", "�", "¾", "฿", "ᔓ",
    "ᚎ", "ῼ", "※", "⁂", "₪",
    "⁐", "⇅", "⇲", "⌘", "⌬",
    "▨", "☠", "♋", "♻", "⚖",
    "⚢", "⛃",
    ]

init python:
    def make_pairs_list(p):
        lst = []
        memo = []
        for i in range(p):
            lst.append(i)
            lst.append(i)
            memo.append(1)
            memo.append(1)
        renpy.random.shuffle(lst)
        return lst,memo

    def sum_list(lst):
        sum = 0
        for i in lst:
            sum = sum+i
        return sum

screen pairs(icons = pairs_set_1):
    ############ Change these settings
    default xy = 150
    default pairs = 12
    default columns = 6
    
    ############ Don't touch
    default lst = make_pairs_list(pairs)[0]
    default memo = make_pairs_list(pairs)[1]
    default n1 = 0
    default n2 = 0
    default settings = 0
    
    modal True
    frame:
        hbox:
            box_wrap True xsize (columns*xy) spacing 0
            for i in range(pairs*2):
                if memo[i]:
                    button:
                        at btn
                        xysize(xy,xy)
                        action If(n1, setscrvar("n2", i+1), setscrvar("n1", i+1)), SetDict(memo,i,0)
                else:
                    frame:
                        xysize(xy,xy)
                        text icons[lst[i]] size 80

    if n1 and n2:
        if lst[n1-1]==lst[n2-1]:
            timer .04 action setscrvar("n2", 0), setscrvar("n1", 0)
        else:
            timer .4 action [SetDict(memo,n1-1,1),SetDict(memo,n2-1,1), setscrvar("n2", 0), setscrvar("n1", 0)]
            button:
                background None
                action [SetDict(memo,n1-1,1),SetDict(memo,n2-1,1), setscrvar("n2", 0), setscrvar("n1", 0)]

    if not sum_list(memo):
        frame:
            padding(400,50)
            vbox:
                text "you won"
                hbox:
                    button:
                        text "restart"
                        action setscrvar("lst", make_pairs_list(pairs)[0]), setscrvar("memo", make_pairs_list(pairs)[1])
                    button:
                        text "exit"
        


    drag:
        align(.0,.0) offset(40,40)
        frame:
            xsize 520
            if settings:
                vbox:
                    hbox:
                        button:
                            text "<"
                            action If(pairs > 1, setscrvar("pairs",pairs-1))
                        text str(pairs)
                        button:
                            text ">"
                            action If(pairs < len(icons), setscrvar("pairs",pairs+1))

                    hbox:
                        button:
                            text "<"
                            action If(columns > 1, setscrvar("columns",columns-1))
                        text str(columns)
                        button:
                            text ">"
                            action If(columns < len(icons), setscrvar("columns",columns+1))
                    button:
                        text "Restart"
                        action setscrvar("lst", make_pairs_list(pairs)[0]), setscrvar("memo", make_pairs_list(pairs)[1]), setscrvar("settings",0)
                    hbox:
                        box_wrap True
                        for i in range(pairs):
                            text icons[i] size 50
            else:
                button:
                    text "settings"
                    action setscrvar("lst", make_pairs_list(len(icons))[0]), setscrvar("memo", make_pairs_list(len(icons))[1]), setscrvar("settings",1)




















