﻿init python:
    class chess_pieces:
        def __init__(self, name, icon, color):
            self.name = name
            self.icon = icon
            self.color = color


screen chess_board:
    default w_king = chess_pieces("White King", "♚", 1)
    default w_queen = chess_pieces("White Queen", "♛", 1)
    default w_bishop = chess_pieces("White Bishop", "♝", 1)
    default w_knight = chess_pieces("White Knight", "♞", 1)
    default w_rook = chess_pieces("White Rook", "♜", 1)
    default w_pawn = chess_pieces("White Pawn", "♟", 1)

    default b_king = chess_pieces("Black King", "♚", 0)
    default b_queen = chess_pieces("Black Queen", "♛", 0)
    default b_bishop = chess_pieces("Black Bishop", "♝", 0)
    default b_knight = chess_pieces("Black Knight", "♞", 0)
    default b_rook = chess_pieces("Black Rook", "♜", 0)
    default b_pawn = chess_pieces("Black Pawn", "♟", 0)

    default board = [
        [["8A", 1, b_rook],["8B", 0, b_knight],["8C", 1, b_bishop],["8D", 0, b_queen],["8E", 1, b_king],["8F", 0, b_bishop],["8G", 1, b_knight],["8H", 0, b_rook]],
        [["7A", 0, b_pawn],["7B", 1, b_pawn],["7C", 0, b_pawn],["7D", 1, b_pawn],["7E", 0, b_pawn],["7F", 1, b_pawn],["7G", 0, b_pawn],["7H", 1, b_pawn]],
        [["6A", 1, None],["6B", 0, None],["6C", 1, None],["6D", 0, None],["6E", 1, None],["6F", 0, None],["6G", 1, None],["6H", 0, None]],
        [["5A", 0, None],["5B", 1, None],["5C", 0, None],["5D", 1, None],["5E", 0, None],["5F", 1, None],["5G", 0, None],["5H", 1, None]],
        [["4A", 1, None],["4B", 0, None],["4C", 1, None],["4D", 0, None],["4E", 1, None],["4F", 0, None],["4G", 1, None],["4H", 0, None]],
        [["3A", 0, None],["3B", 1, None],["3C", 0, None],["3D", 1, None],["3E", 0, None],["3F", 1, None],["3G", 0, None],["3H", 1, None]],
        [["2A", 1, w_pawn],["2B", 0, w_pawn],["2C", 1, w_pawn],["2D", 0, w_pawn],["2E", 1, w_pawn],["2F", 0, w_pawn],["2G", 1, w_pawn],["2H", 0, w_pawn]],
        [["1A", 0, w_rook],["1B", 1, w_knight],["1C", 0, w_bishop],["1D", 1, w_king],["1E", 0, w_queen],["1F", 1, w_bishop],["1G", 0, w_knight],["1H", 1, w_rook]],
    ]
    vbox:
        spacing 0
        for r in board:
            hbox:
                spacing 0
                for p in r:
                    button:
                        xysize 100,100
                        if p[1] == 0:
                            background "#333"
                        elif p[1] == 1:
                            background "#ccc"
                        if p[2] is not None:
                            text p[2].icon:
                                size 80
                                if p[2].color == 0:
                                    color "#000"
                                elif p[2].color == 1:
                                    color "#fff"
