const games: Games = [
    {
        name: "LAN Party",
        walls: [
            {
                name: "Wall 1",
                categories: [
                    {
                        name: "Category 1",
                        questions: [
                            {
                                points: 100,
                                type: "MULTIPLE_CHOICE",
                                data: {
                                    question: "Wie heißt unser Planet?",
                                    choices: [
                                        "Erde",
                                        "Sonne",
                                        "Mars",
                                        "Venus",
                                        "Saturn",
                                        "Jupiter",
                                        "Merkur",
                                        "Uranus",
                                        "Neptun"
                                    ]
                                }
                            },
                            {
                                points: 200,
                                type: "IMAGE",
                                data: {
                                    question: "Question 2?",
                                    image: "firstImage.jpg",
                                    answer: "Answer 2"
                                }
                            },
                            {
                                points: 300,
                                type: "IMAGE_MULTIPLE_CHOICE",
                                data: {
                                    question: "Question 3?",
                                    image: "test/secondImage.jpg",
                                    choices: [
                                        "Choice 1",
                                        "Choice 2",
                                        "Choice 3",
                                        "Choice 4",
                                        "Choice 5",
                                        "Choice 6"
                                    ]
                                }
                            },
                            {
                                points: 400,
                                type: "AUDIO",
                                data: {
                                    question: "Question 4?",
                                    audio: "music.mp3",
                                    answer: "Answer 4"
                                }
                            },
                            {
                                points: 500,
                                type: "AUDIO_MULTIPLE_CHOICE",
                                data: {
                                    question: "Question 5?",
                                    audio: "music.mp3",
                                    choices: [
                                        "Choice 1",
                                        "Choice 2",
                                        "Choice 3",
                                        "Choice 4",
                                        "Choice 5",
                                        "Choice 6"
                                    ]
                                }
                            }
                        ]
                    },
                    {
                        name: "Category 2",
                        questions: [
                            {
                                points: 100,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 1?",
                                    answer: "Answer 1"
                                }
                            },
                            {
                                points: 200,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 2?",
                                    answer: "Answer 2"
                                }
                            },
                            {
                                points: 300,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 3?",
                                    answer: "Answer 3"
                                }
                            },
                            {
                                points: 400,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 4?",
                                    answer: "Answer 4"
                                }
                            },
                            {
                                points: 500,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 5?",
                                    answer: "Answer 5"
                                }
                            }
                        ]
                    },
                    {
                        name: "Category 3",
                        questions: [
                            {
                                points: 100,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 1?",
                                    answer: "Answer 1"
                                }
                            },
                            {
                                points: 200,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 2?",
                                    answer: "Answer 2"
                                }
                            },
                            {
                                points: 300,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 3?",
                                    answer: "Answer 3"
                                }
                            },
                            {
                                points: 400,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 4?",
                                    answer: "Answer 4"
                                }
                            },
                            {
                                points: 500,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 5?",
                                    answer: "Answer 5"
                                }
                            }
                        ]
                    },
                    {
                        name: "Category 4",
                        questions: [
                            {
                                points: 100,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 1?",
                                    answer: "Answer 1"
                                }
                            },
                            {
                                points: 200,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 2?",
                                    answer: "Answer 2"
                                }
                            },
                            {
                                points: 300,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 3?",
                                    answer: "Answer 3"
                                }
                            },
                            {
                                points: 400,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 4?",
                                    answer: "Answer 4"
                                }
                            },
                            {
                                points: 500,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 5?",
                                    answer: "Answer 5"
                                }
                            }
                        ]
                    },
                    {
                        name: "Category 5",
                        questions: [
                            {
                                points: 100,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 1?",
                                    answer: "Answer 1"
                                }
                            },
                            {
                                points: 200,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 2?",
                                    answer: "Answer 2"
                                }
                            },
                            {
                                points: 300,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 3?",
                                    answer: "Answer 3"
                                }
                            },
                            {
                                points: 400,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 4?",
                                    answer: "Answer 4"
                                }
                            },
                            {
                                points: 500,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 5?",
                                    answer: "Answer 5"
                                }
                            }
                        ]
                    }
                ]
            },
            {
                name: "Wall 2",
                categories: [
                    {
                        name: "Category 1",
                        questions: [
                            {
                                points: 100,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 1?",
                                    answer: "Answer 1"
                                }
                            },
                            {
                                points: 200,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 2?",
                                    answer: "Answer 2"
                                }
                            },
                            {
                                points: 300,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 3?",
                                    answer: "Answer 3"
                                }
                            },
                            {
                                points: 400,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 4?",
                                    answer: "Answer 4"
                                }
                            },
                            {
                                points: 500,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 5?",
                                    answer: "Answer 5"
                                }
                            }
                        ]
                    },
                    {
                        name: "Category 2",
                        questions: [
                            {
                                points: 100,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 1?",
                                    answer: "Answer 1"
                                }
                            },
                            {
                                points: 200,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 2?",
                                    answer: "Answer 2"
                                }
                            },
                            {
                                points: 300,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 3?",
                                    answer: "Answer 3"
                                }
                            },
                            {
                                points: 400,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 4?",
                                    answer: "Answer 4"
                                }
                            },
                            {
                                points: 500,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 5?",
                                    answer: "Answer 5"
                                }
                            }
                        ]
                    },
                    {
                        name: "Category 3",
                        questions: [
                            {
                                points: 100,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 1?",
                                    answer: "Answer 1"
                                }
                            },
                            {
                                points: 200,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 2?",
                                    answer: "Answer 2"
                                }
                            },
                            {
                                points: 300,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 3?",
                                    answer: "Answer 3"
                                }
                            },
                            {
                                points: 400,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 4?",
                                    answer: "Answer 4"
                                }
                            },
                            {
                                points: 500,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 5?",
                                    answer: "Answer 5"
                                }
                            }
                        ]
                    },
                    {
                        name: "Category 4",
                        questions: [
                            {
                                points: 100,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 1?",
                                    answer: "Answer 1"
                                }
                            },
                            {
                                points: 200,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 2?",
                                    answer: "Answer 2"
                                }
                            },
                            {
                                points: 300,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 3?",
                                    answer: "Answer 3"
                                }
                            },
                            {
                                points: 400,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 4?",
                                    answer: "Answer 4"
                                }
                            },
                            {
                                points: 500,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 5?",
                                    answer: "Answer 5"
                                }
                            }
                        ]
                    },
                    {
                        name: "Category 5",
                        questions: [
                            {
                                points: 100,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 1?",
                                    answer: "Answer 1"
                                }
                            },
                            {
                                points: 200,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 2?",
                                    answer: "Answer 2"
                                }
                            },
                            {
                                points: 300,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 3?",
                                    answer: "Answer 3"
                                }
                            },
                            {
                                points: 400,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 4?",
                                    answer: "Answer 4"
                                }
                            },
                            {
                                points: 500,
                                type: "SIMPLE",
                                data: {
                                    question: "Question 5?",
                                    answer: "Answer 5"
                                }
                            }
                        ]
                    }
                ]
            }
        ]
    },
    {
        name: "Ich gehe zur Schule",
        walls: [
            {
                name: "Schulfächer",
                categories: [
                    {
                        name: "Deutsch",
                        questions: [
                            {
                                type: "SIMPLE",
                                points: 100,
                                data: {
                                    question: "Wie viele Fälle gibt es in der deutschen Sprache?",
                                    answer: "4"
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 200,
                                data: {
                                    question:
                                        "Mein Sohn, was birgst du so bang dein Gesicht? - Wie geht es weiter?",
                                    choices: [
                                        "Siehst, Vater, du den Erlkönig nicht?",
                                        "Was Erlkönig mir leise verspricht?",
                                        "Mein Vater, mein Vater, und hörest du nicht,",
                                        "Den Erlkönig mit Kron und Schweif?"
                                    ]
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 300,
                                data: {
                                    question: 'Bilde das Futur II Passiv von "Ich frage ihn."',
                                    answer: "Er wird von mir gefragt worden sein."
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 400,
                                data: {
                                    question:
                                        'Bilde das Plusquamperfekt Passiv von "Ich frage ihn."',
                                    answer: "Er war von mir gefragt worden."
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 500,
                                data: {
                                    question: "Welche Szene gibt es nicht in Faust",
                                    choices: [
                                        "Abend. Offen Feld",
                                        "Nacht",
                                        "Abend",
                                        "Nacht. Offen Feld"
                                    ]
                                }
                            }
                        ]
                    },
                    {
                        name: "Biologie",
                        questions: [
                            {
                                type: "SIMPLE",
                                points: 100,
                                data: {
                                    question:
                                        "Welches Tierchen kann man sich über die Füße ziehen?",
                                    answer: "Pantoffeltierchen"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 200,
                                data: {
                                    question: "Welches ist das größte Säugetier an Land?",
                                    answer: "Afrikanischer Elefant"
                                }
                            },
                            {
                                type: "AUDIO_MULTIPLE_CHOICE",
                                points: 300,
                                data: {
                                    question: "Welches Tier macht dieses Geräusch?",
                                    audio: "goingtoschool/Shoebill.mp3",
                                    choices: ["Schuhschnabel", "Pelikan", "Andenkondor", "Kranich"]
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 400,
                                data: {
                                    question:
                                        "Welche der folgenden Pflanzen betreibt keine Photosynthese (und existiert)?",
                                    choices: [
                                        "Fichtenspargel",
                                        "Buchenmöhre",
                                        "Eichensellerie",
                                        "Erlenrübe"
                                    ]
                                }
                            },
                            {
                                type: "IMAGE_MULTIPLE_CHOICE",
                                points: 500,
                                data: {
                                    question: "Wie heißt diese Pflanze?",
                                    image: "goingtoschool/ctenanthe_oppenheimiana.jpg",
                                    choices: [
                                        "Ctenanthe Oppenheimiana",
                                        "Calathea Oppenheimiana",
                                        "Maranta Oppenheimiana",
                                        "Stromanthe Oppenheimiana"
                                    ]
                                }
                            }
                        ]
                    },
                    {
                        name: "Religion",
                        questions: [
                            {
                                type: "SIMPLE",
                                points: 100,
                                data: {
                                    question: "Nenne die 5 größten Religionen.",
                                    answer: "Christentum, Judentum, Islam, Hinduismus, Buddhismus"
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 200,
                                data: {
                                    question:
                                        "In welchem Jahrhundert wurde der Buddhismus gegründet?",
                                    choices: ["6. v. Chr", "3. n. Chr", "12. v. Chr", "7. n. Chr"]
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 300,
                                data: {
                                    question: "Welchen Gott gibt es nicht im Hinduismus?",
                                    choices: [
                                        "Haathi",
                                        "Skanda",
                                        "Surya",
                                        "Indra",
                                        "Garuda",
                                        "Kali",
                                        "Durga",
                                        "Hanuman"
                                    ]
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 400,
                                data: {
                                    question: "Welches ist keine der 5 Säulen des Islams?",
                                    choices: ["Hubb", "Shahada", "Salah", "Zakat", "Sawm", "Hadsch"]
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 500,
                                data: {
                                    question: "Welche Abkürzung stand über dem Kreuz von Jesus?",
                                    answer: "INRI"
                                }
                            }
                        ]
                    },
                    {
                        name: "Mathematik",
                        questions: [
                            {
                                type: "SIMPLE",
                                points: 100,
                                data: {
                                    question: "Was ist das Ergebnis von 2 + 2 * 4?",
                                    answer: "10"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 200,
                                data: {
                                    question: "Wer wird als Vater der Geometrie bezeichnet?",
                                    answer: "Euklid von Alexandria"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 300,
                                data: {
                                    question:
                                        "Wie werden die drei Seiten eines rechtwinkligen Dreiecks genannt?",
                                    answer: "Hypotenuse, Ankathete, Gegenkathete"
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 400,
                                data: {
                                    question: "Welche der Aantworten stellt PI am besten dar?",
                                    choices: [
                                        "3,141592653589",
                                        "3,141522653589",
                                        "3,142592653589",
                                        "3,141592657589",
                                        "3,141562653589"
                                    ]
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 500,
                                data: {
                                    question: "(6 + 58 * 0,4 * 5 - 2) / 5!",
                                    answer: "1"
                                }
                            }
                        ]
                    },
                    {
                        name: "Sport",
                        questions: [
                            {
                                type: "SIMPLE",
                                points: 100,
                                data: {
                                    question:
                                        "Wie viele Berührungen sind beim Volleyball in der eigenen Hälfte erlaubt?",
                                    answer: "3"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 200,
                                data: {
                                    question:
                                        "Wie viele Schritte darf man mit einem Basketball machen ohne zu prellen?",
                                    answer: "2"
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 300,
                                data: {
                                    question: "Wie groß ist ein Handballfeld mit Sicherheitszone?",
                                    choices: ["43m x 23m", "40m x 20m", "45m x 30m", "34m x 19m"]
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 400,
                                data: {
                                    question:
                                        "Was ist der wichtigste Unterschied zwischen American Football und Rugby?",
                                    answer: "Der Ball darf im Rugby nur nach hinten gepasst werden. Im Football sind alle Richtungen erlaubt."
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 500,
                                data: {
                                    question:
                                        "Wer hat die Snookerweltmeisterschaft in 2025 gewonnen?",
                                    choices: [
                                        "Zhao Xintong",
                                        "Mark Williams",
                                        "Jackson Page",
                                        "Lei Peifan",
                                        "Xiao Guodong"
                                    ]
                                }
                            }
                        ]
                    }
                ]
            },
            {
                name: "Schulfächer",
                categories: [
                    {
                        name: "Englisch",
                        questions: [
                            {
                                type: "SIMPLE",
                                points: 100,
                                data: {
                                    question: "Wie lautet 'sink' im past participle?",
                                    answer: "sunk"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 200,
                                data: {
                                    question: "Was bedeutet das Wort 'voluptuous'?",
                                    answer: "üppig, wollüstig, sinnlich, schwelgerisch, verlockend, ausschweifend, hingebungsvoll"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 300,
                                data: {
                                    question: "Wie viele Zeitformen hat die englische Sprache?",
                                    answer: "12"
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 400,
                                data: {
                                    question: "Wie viele Bedeutungen hat das Wort 'run'?",
                                    choices: ["645", "5", "23", "11", "36"]
                                }
                            },
                            {
                                type: "AUDIO_MULTIPLE_CHOICE",
                                points: 500,
                                data: {
                                    question: "Aus welcher Region kommt dieser Akzent?",
                                    audio: "goingtoschool/englishAccent.mp3",
                                    choices: [
                                        "East Yorkshire",
                                        "Cockney",
                                        "Glasgow",
                                        "London",
                                        "Texas",
                                        "Dublin"
                                    ]
                                }
                            }
                        ]
                    },
                    {
                        name: "Physik",
                        questions: [
                            {
                                type: "SIMPLE",
                                points: 100,
                                data: {
                                    question:
                                        "Wie lautet die Formel zur Berechnung des elektrischen Widerstands?",
                                    answer: "R = U/I"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 200,
                                data: {
                                    question: "Wieviele Planeten hat unser Sonnensystem?",
                                    answer: "8"
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 300,
                                data: {
                                    question: "Wie viele natürliche Satelliten besitzt der Saturn?",
                                    choices: ["274", "28", "78", "97", "198", "212", "379"]
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 400,
                                data: {
                                    question: "Wer gilt als Vater der Quantenphysik?",
                                    answer: "Max Karl Ernst Ludwig Planck"
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 500,
                                data: {
                                    question: "Wie lautet die kürzeste messbare Zeit?",
                                    choices: [
                                        "Planck-Zeit",
                                        "Einstein-Zeit",
                                        "Oppenheimer-Zeit",
                                        "Schrödinger-Zeit",
                                        "Curie-Zeit"
                                    ]
                                }
                            }
                        ]
                    },
                    {
                        name: "Geschichte",
                        questions: [
                            {
                                type: "SIMPLE",
                                points: 100,
                                data: {
                                    question:
                                        "Vor wieviel Milliarden Jahren fand der Urknall statt?",
                                    answer: "13,8 Milliarden Jahre"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 200,
                                data: {
                                    question: "Wie hieß der einzige weibliche König Polens?",
                                    answer: "Jadwiga Andegaweńska (deutsch: Hedwig von Anjou)"
                                }
                            },
                            {
                                type: "IMAGE",
                                points: 300,
                                data: {
                                    question: "Wer ist das?",
                                    image: "goingtoschool/venusauswillendorf.jpg",
                                    answer: "Venus aus Willendorf"
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 400,
                                data: {
                                    question: "Wann wurde das Heilige Römische Reich gegründet?",
                                    choices: ["962", "712", "845", "1034", "1145"]
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 500,
                                data: {
                                    question:
                                        "Wer war der erste Kaiser des Heiligen Römischen Reiches?",
                                    answer: "Otto I. der Große"
                                }
                            }
                        ]
                    },
                    {
                        name: "Informatik",
                        questions: [
                            {
                                type: "IMAGE",
                                points: 100,
                                data: {
                                    question: "Welche Programmiersprache ist hier zu sehen?",
                                    answer: "Brainfuck",
                                    image: "goingtoschool/brainfuck.png"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 200,
                                data: {
                                    question:
                                        "Wie heißt der erste funktionsfähige, frei programmierbare, digital arbeitende Computer?",
                                    answer: "Z3"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 300,
                                data: {
                                    question: "Was versteht man unter dem Jahr 2000 Problem?",
                                    answer: "Vor 2000 wurden Jahreszahlen immer nur durch 2 Zahlen dargestellt. Dadurch wären ab 2000 falsche Jahreszahlen dargestellt worden."
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 400,
                                data: {
                                    question: "Welchen Automaten gibt es nicht?",
                                    choices: [
                                        "Dachautomat",
                                        "Kellerautomat",
                                        "deterministischer Automat",
                                        "nicht deterministischer Automat"
                                    ]
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 500,
                                data: {
                                    question:
                                        "Welche Zeichenketten werden durch diesen regulären Ausdruck validiert: '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$/'",
                                    answer: "Emails"
                                }
                            }
                        ]
                    },
                    {
                        name: "Politische Bildung",
                        questions: [
                            {
                                points: 100,
                                type: "SIMPLE",
                                data: {
                                    question: "Welches politische System gilt in Deutschland?",
                                    answer: "Die parlamentarische Demokratie"
                                }
                            },
                            {
                                points: 200,
                                type: "IMAGE",
                                data: {
                                    question: "Welches Gebäude ist hier zu sehen?",
                                    answer: "Das Bundeskanzleramt",
                                    image: "goingtoschool/sitzbundeskanzler.jpg"
                                }
                            },
                            {
                                points: 300,
                                type: "SIMPLE",
                                data: {
                                    question:
                                        "In welchem Jahrhundert und wo wurde die Demokratie gegründet?",
                                    answer: "6. Jhd. vor Christus in Athen"
                                }
                            },
                            {
                                points: 400,
                                type: "MULTIPLE_CHOICE",
                                data: {
                                    question:
                                        "Welche Bedingungen müssen erfüllt sein, damit eine Partei in den Bundestag einziehen kann?",
                                    choices: [
                                        "Sie muss fünf Prozent der Stimmen oder drei Direktmandate erwerben.",
                                        "Sie muss drei Prozent der Stimmen auf sich vereinen.",
                                        "Sie muss vier Direktmandate haben.",
                                        "Sie muss alle Stimmen auf sich vereinen."
                                    ]
                                }
                            },
                            {
                                points: 500,
                                type: "IMAGE_MULTIPLE_CHOICE",
                                data: {
                                    question:
                                        "Wer hat den Adler für den Plenarsaal in Berlin gestaltet?",
                                    choices: [
                                        "Lord Normann Foster",
                                        "Ludwig Gies",
                                        "Gerhard Richter",
                                        "Marie-Elisabeth-Lüders"
                                    ],
                                    image: "goingtoschool/adler.jpg"
                                }
                            }
                        ]
                    }
                ]
            },
            {
                name: "Schulfächer",
                categories: [
                    {
                        name: "Polnisch",
                        questions: [
                            {
                                type: "SIMPLE",
                                points: 100,
                                data: {
                                    question: "Wie viele Fälle gibt es in der polnischen Sprache?",
                                    answer: "7"
                                }
                            },
                            {
                                type: "AUDIO",
                                points: 200,
                                data: {
                                    question: "Um welches Tier geht es hier?",
                                    answer: "Bober, kurwa! (Bieber)",
                                    audio: "goingtoschool/bober.mp3"
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 300,
                                data: {
                                    question: "Wie heißt der aktuelle Präsident Polens?",
                                    choices: [
                                        "Karol Nawrocki",
                                        "Andrzej Duda",
                                        "Bronisław Komorowski",
                                        "Grzegorz Schetyna",
                                        "Bogdan Borusewicz",
                                        "Lech Kaczyński",
                                        "Aleksander Kwaśniewski",
                                        "Rafał Trzaskowski"
                                    ]
                                }
                            },
                            {
                                type: "AUDIO",
                                points: 400,
                                data: {
                                    question: "Um was geht es in diesem Lied?",
                                    answer: "Drogen und Depressionen",
                                    audio: "goingtoschool/koksu.mp3"
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 500,
                                data: {
                                    question: "Wie viele Dialekt-Gruppen gibt es im polnischen?",
                                    choices: ["7", "5", "6", "8", "9", "10"]
                                }
                            }
                        ]
                    },
                    {
                        name: "Chemie",
                        questions: [
                            {
                                type: "SIMPLE",
                                points: 100,
                                data: {
                                    question:
                                        "Was ist das häufigste chemische Element im Universum?",
                                    answer: "Wasserstoff"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 200,
                                data: {
                                    question: "Wie lautet die chemische Formel für Glucose?",
                                    answer: "C6 H12 O6"
                                }
                            },
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 300,
                                data: {
                                    question: "Ein Magnesiumspan wird erhitzt. Nach kurzer Zeit...",
                                    choices: [
                                        "...flammt das Magnesium grell auf",
                                        "...schimmert das Magnesium bläulich",
                                        "...schimmert das Magnesium grünlich",
                                        "...flammt das Magnesium leicht auf"
                                    ]
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 400,
                                data: {
                                    question:
                                        "Wie viel Milliliter Flüssigkeit bekommt man, wenn man 50ml Wasser und 50ml Ethanol mischt?",
                                    answer: "96ml"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 500,
                                data: {
                                    question:
                                        "Was passiert, wenn man 0,4 g Kalium (rund 0,01 Mol) in einem stickstoffgefüllten 2-l-Kolben (rund 0,1 Mol) auf etwa 500 °C erhitzt?",
                                    answer: "Das Kalium schmilzt"
                                }
                            }
                        ]
                    },
                    {
                        name: "Geographie",
                        questions: [
                            {
                                type: "SIMPLE",
                                points: 100,
                                data: {
                                    question: "Nenne alle Bundesländer Deutschlands",
                                    answer: "Baden-Württemberg, Bayern, Berlin, Brandenburg, Bremen, Hamburg, Hessen, Mecklenburg-Vorpommern, Niedersachsen Nordreihn-Westfalen, Rheinland-Pfalz, Saarland, Sachsen, Sachsen-Anhalt, Schleswig-Holstein, Thüringen"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 200,
                                data: {
                                    question:
                                        "Welches Land in Europa hat die meisten Nachbarländer und wie viele?",
                                    answer: "Deutschland, 9"
                                }
                            },
                            {
                                type: "SIMPLE",
                                points: 300,
                                data: {
                                    question: "Welcher Berg ist der höchste Berg in Nordamerika?",
                                    answer: "Mount McKinley, 6190m"
                                }
                            },
                            {
                                type: "IMAGE",
                                points: 400,
                                data: {
                                    question: "Zu welchem Land gehört diese Flagge?",
                                    image: "goingtoschool/flagsanmarino.svg",
                                    answer: "San Marino"
                                }
                            },
                            {
                                type: "IMAGE",
                                points: 500,
                                data: {
                                    question: "Welches Land ist hier zu sehen?",
                                    image: "goingtoschool/liechtenstein.jpg",
                                    answer: "Liechtenstein"
                                }
                            }
                        ]
                    },
                    {
                        name: "Musik",
                        questions: [
                            {
                                type: "MULTIPLE_CHOICE",
                                points: 100,
                                data: {
                                    question: "Wer hat die deutsche Nationalhymne geschrieben?",
                                    choices: [
                                        "Joseph Haydn",
                                        "Ludwig van Beethoven",
                                        "Johann Sebastian Bach",
                                        "Johann Strauss",
                                        "Richard Wagner"
                                    ]
                                }
                            },
                            {
                                type: "AUDIO",
                                points: 200,
                                data: {
                                    question: "Wer hat dieses Lied geschrieben und wie heißt es?",
                                    answer: "Wolfgang Amadeus Mozart - Papagena! Papageno!",
                                    audio: "goingtoschool/papageno.mp3"
                                }
                            },
                            {
                                type: "AUDIO",
                                points: 300,
                                data: {
                                    question: "Welches Instrument spielt hier welches Lied?",
                                    answer: "Fagott - Ode an die Freude",
                                    audio: "goingtoschool/fagott.mp3"
                                }
                            },
                            {
                                type: "AUDIO",
                                points: 400,
                                data: {
                                    question:
                                        "Von welchem Spiel ist dies die Titelmelodie, wie heißt das Lied und wer hat es komponiert?",
                                    answer: "Civilization VI - Sogno di Volare - Christopher Tin",
                                    audio: "goingtoschool/sognodivloare.mp3"
                                }
                            },
                            {
                                type: "AUDIO",
                                points: 500,
                                data: {
                                    question:
                                        "Aus welcher Oper ist dieses Lied und in welcher Sprache ist es gesungen?",
                                    answer: "Carmen - Spanisch",
                                    audio: "goingtoschool/carmen.mp3"
                                }
                            }
                        ]
                    },
                    {
                        name: "Kunst",
                        questions: [
                            {
                                type: "IMAGE",
                                points: 100,
                                data: {
                                    question: "Wie heißt dieses Gemälde und wer hat es gemalt?",
                                    answer: "Mona Lisa - Leonardo da Vinci",
                                    image: "goingtoschool/mona.png"
                                }
                            },
                            {
                                type: "IMAGE",
                                points: 200,
                                data: {
                                    question: "Wie heißt dieses Gemälde und wer hat es gemalt?",
                                    answer: "Drei Sonnenblumen - Vincent van Gogh",
                                    image: "goingtoschool/sonnenblumen.png"
                                }
                            },
                            {
                                type: "IMAGE",
                                points: 300,
                                data: {
                                    question: "Wie heißt dieses Gemälde und wer hat es gemalt?",
                                    answer: "Der Schrei - Edvard Munch",
                                    image: "goingtoschool/schrei.png"
                                }
                            },
                            {
                                type: "IMAGE",
                                points: 400,
                                data: {
                                    question: "Wie heißt dieses Gemälde und wer hat es gemalt?",
                                    answer: "Turmbau zu Babel - Pieter Bruegel der Ältere",
                                    image: "goingtoschool/babel.png"
                                }
                            },
                            {
                                type: "IMAGE",
                                points: 500,
                                data: {
                                    question: "Wie heißt dieses Gemälde und wer hat es gemalt?",
                                    answer: "Die Freiheit führt das Volk - Eugène Delacroix",
                                    image: "goingtoschool/frankreich.png"
                                }
                            }
                        ]
                    }
                ]
            }
        ]
    }
];

export type QuestionType =
    | "SIMPLE"
    | "MULTIPLE_CHOICE"
    | "IMAGE"
    | "IMAGE_MULTIPLE_CHOICE"
    | "AUDIO"
    | "AUDIO_MULTIPLE_CHOICE";

export type Question = {
    points: number;
    type: QuestionType;
};

export type SimpleQuestion = Question & {
    type: "SIMPLE";
    data: {
        question: string;
        answer: string;
    };
};

/**
 * First choice is correct answer. Choices need to be shuffled in component
 */
export type MultipleChoiceQuestion = Question & {
    type: "MULTIPLE_CHOICE";
    data: {
        question: string;
        choices: string[];
    };
};

export type ImageQuestion = Question & {
    type: "IMAGE";
    data: {
        question: string;
        image: string;
        answer: string;
    };
};

export type ImageMultipleChoiceQuestion = Question & {
    type: "IMAGE_MULTIPLE_CHOICE";
    data: {
        question: string;
        image: string;
        choices: string[];
    };
};

export type AudioQuestion = Question & {
    type: "AUDIO";
    data: {
        question: string;
        audio: string;
        answer: string;
    };
};

export type AudioMultipleChoiceQuestion = Question & {
    type: "AUDIO_MULTIPLE_CHOICE";
    data: {
        question: string;
        audio: string;
        choices: string[];
    };
};

export function isSimpleQuestion(question: Question): question is SimpleQuestion {
    return (question as SimpleQuestion).type === "SIMPLE";
}
export function isMultipleChoiceQuestion(question: Question): question is MultipleChoiceQuestion {
    return (question as MultipleChoiceQuestion).type === "MULTIPLE_CHOICE";
}
export function isImageQuestion(question: Question): question is ImageQuestion {
    return (question as ImageQuestion).type === "IMAGE";
}
export function isImageMultipleChoiceQuestion(
    question: Question
): question is ImageMultipleChoiceQuestion {
    return (question as ImageMultipleChoiceQuestion).type === "IMAGE_MULTIPLE_CHOICE";
}
export function isAudioQuestion(question: Question): question is AudioQuestion {
    return (question as AudioQuestion).type === "AUDIO";
}
export function isAudioMultipleChoiceQuestion(
    question: Question
): question is AudioMultipleChoiceQuestion {
    return (question as AudioMultipleChoiceQuestion).type === "AUDIO_MULTIPLE_CHOICE";
}

export type Category = {
    name: string;
    questions: (
        | SimpleQuestion
        | MultipleChoiceQuestion
        | ImageQuestion
        | ImageMultipleChoiceQuestion
        | AudioQuestion
        | AudioMultipleChoiceQuestion
    )[];
};

export type FullWall = {
    name: string;
    categories: Category[];
};

export type FullGame = {
    name: string;
    walls: FullWall[];
};

export type Games = FullGame[];

export default games;
