Example #1
0
        public override void Update(GameTime time)
        {
            #region Timeupdate for DrawAttacks
            timeSpan -= time.ElapsedGameTime;
            if (timeSpan <= TimeSpan.Zero)
            {
                timeSpan = TimeSpan.FromMilliseconds(270);
                meleeAttackList.Clear();

                launchedMelee = false;
                listContainsCrystalShield = false;
            }
            #endregion

            #region Update Melee By Characterposition
            if (launchedMelee)
            {
                #region Singleplayer
                if (Game1.currentState.Equals(Game1.EGameState.Singleplayer))
                {
                    crystalShield = new Entity(this.position, "5x5x5Box1", Singleplayer.cont);
                    crystalShield.boundary = new BoundingBox(this.position + new Vector3(-10, -3, -10), this.position + new Vector3(10, 3, 10));

                    if (!listContainsCrystalShield)
                    {
                        meleeAttackList.Add(crystalShield);
                        listContainsCrystalShield = true;
                    }
                    else
                    {
                        meleeAttackList.Clear();
                        meleeAttackList.Add(crystalShield);
                    }

                    #region enemyList1
                    foreach (Enemy enemy in Singleplayer.currentMaps[Singleplayer.activeIndex1].EnemyList)
                    {
                        foreach (Entity fractusShield in meleeAttackList)
                        {
                            if (enemyHitByMelee)
                                break;
                            if (fractusShield.boundary.Intersects(enemy.boundary))
                            {
                                enemy.hp -= 1;
                                enemyHitByMelee = true;
                                Console.WriteLine("Fractus hit enemy by crystalShield");
                            }
                        }
                    }
                    #endregion
                    #region enemyList2
                    foreach (Enemy enemy in Singleplayer.currentMaps[Singleplayer.activeIndex2].EnemyList)
                    {
                        foreach (Entity fractusShield in meleeAttackList)
                        {
                            if (enemyHitByMelee)
                                break;
                            if (fractusShield.boundary.Intersects(enemy.boundary))
                            {
                                enemy.hp -= 1;
                                enemyHitByMelee = true;
                                Console.WriteLine("Fractus hit enemy by crystalShield");
                            }
                        }
                    }
                    #endregion
                }
                #endregion
                #region Arena
                else if (Game1.currentState.Equals(Game1.EGameState.Arena))
                {
                    crystalShield = new Entity(this.position, "fractusCrystalShield", Arena.cont);
                    crystalShield.boundary = new BoundingBox(this.position + new Vector3(-5, -9, -5), this.position + new Vector3(5, 9, 5));

                    if (!listContainsCrystalShield)
                    {
                        meleeAttackList.Add(crystalShield);
                        listContainsCrystalShield = true;
                    }
                    else
                    {
                        meleeAttackList.Clear();
                        meleeAttackList.Add(crystalShield);
                    }

                    foreach (Entity fractusShield in meleeAttackList)
                    {
                        if (enemyHitByMelee)
                            break;
                        if (fractusShield.boundary.Intersects(Arena.boss.boundary))
                        {
                            Arena.kazumiHud.healthLeft -= 5;
                            enemyHitByMelee = true;
                            Console.WriteLine("Fractus hit Boss by crystalShield");
                        }
                    }
                }
                #endregion
                #region Multiplayer
                else if (Game1.currentState.Equals(Game1.EGameState.Multiplayer))
                {
                    crystalShield = new Entity(this.position, "fractusCrystalShield", Multiplayer.cont);
                    crystalShield.boundary = new BoundingBox(this.position + new Vector3(-5, -9, -5), this.position + new Vector3(5, 9, 5));

                    if (!listContainsCrystalShield)
                    {
                        meleeAttackList.Add(crystalShield);
                        listContainsCrystalShield = true;
                    }
                    else
                    {
                        meleeAttackList.Clear();
                        meleeAttackList.Add(crystalShield);
                    }

                    foreach (Entity fractusShield in meleeAttackList)
                    {
                        if (enemyHitByMelee)
                            break;
                        for (int i = 0; i < GameControls.ConnectedControllers; i++)
                        {
                            if (fractusShield.boundary.Intersects(Multiplayer.Players[i].boundary) && Multiplayer.Players[i].CharacterType != "Fractus")
                            {
                                Multiplayer.hudArray[i].healthLeft -= 15;
                                enemyHitByMelee = true;
                                Console.WriteLine("Fractus hit " + Multiplayer.Players[i] + " by crystalShield");
                            }
                        }
                    }
                }
                #endregion
            }
            #endregion

            #region Update Flying Crystals From Rangedattack
            if (launchedRanged)
            {
                #region Singleplayer
                if (Game1.currentState.Equals(Game1.EGameState.Singleplayer))
                {
                    for (int i = 0; i < attackList.Count; i++)
                    {
                        //Kristalle fliegen nach vorn
                        attackList[i].move(speed * attackList[i].viewingDirection);

                        //Laser verschwindet nach 50 Einheiten oder wenn er mit etwas kollidiert
                        if (!attackList[i].boundary.Intersects(rangeOfFlyingCrystals))
                        {
                            attackList.Remove(attackList[i]);
                            if (attackList.Count == 0)
                                launchedRanged = false;
                            break;
                        }
                        else
                        {
                            launchedRanged = true;

                            #region enemyList1
                            foreach (Enemy enemy in Singleplayer.currentMaps[Singleplayer.activeIndex1].EnemyList)
                            {
                                if (attackList.Count > 0)
                                {
                                    if (attackList[i].boundary.Intersects(enemy.boundary))
                                    {
                                        enemy.hp -= 2;
                                        enemyHit = true;
                                        Console.WriteLine("Fractus hit enemy by RangedAttack");
                                    }
                                    //verschwindet auch bei Kollision mit Gegner
                                    if (enemyHit)
                                    {
                                        if (attackList.Count == 0)
                                            launchedRanged = false;
                                        attackList.Remove(attackList[i]);
                                    }
                                }
                            }
                            #endregion
                            #region enemyList2
                            foreach (Enemy enemy in Singleplayer.currentMaps[Singleplayer.activeIndex2].EnemyList)
                            {
                                if (attackList.Count > 0)
                                {
                                    if (attackList[i].boundary.Intersects(enemy.boundary))
                                    {
                                        enemy.hp -= 2;
                                        enemyHit = true;
                                        Console.WriteLine("Fractus hit enemy by RangedAttack");
                                    }
                                    //verschwindet auch bei Kollision mit Gegner
                                    if (enemyHit)
                                    {
                                        if (attackList.Count == 0)
                                            launchedRanged = false;
                                        attackList.Remove(attackList[i]);
                                    }
                                }
                            }
                            #endregion
                        }
                        enemyHit = false;
                    }
                }
                #endregion
                #region Arena
                else if (Game1.currentState.Equals(Game1.EGameState.Arena))
                {
                    for (int i = 0; i < attackList.Count; i++)
                    {
                        //Kristalle fliegen nach vorn
                        attackList[i].move(speed * attackList[i].viewingDirection);

                        //Laser verschwindet nach 50 Einheiten oder wenn er mit etwas kollidiert
                        if (!attackList[i].boundary.Intersects(rangeOfFlyingCrystals))
                        {
                            attackList.Remove(attackList[i]);
                            if (attackList.Count == 0)
                            {
                                launchedRanged = false;
                                soundPlayedRanged = false;
                            }
                            break;
                        }
                        else
                        {
                            launchedRanged = true;
                            if (!soundPlayedRanged)
                            {
                                Sounds.freezingIce.Play();

                                soundPlayedRanged = true;
                            }

                            if (attackList[i].boundary.Intersects(Arena.boss.boundary))
                            {
                                Arena.kazumiHud.healthLeft -= 40;
                                enemyHit = true;
                                Console.WriteLine("Fractus hit Player by SpecialAttack");
                            }
                            //verschwindet auch bei Kollision mit Gegner
                            if (enemyHit)
                            {
                                if (attackList.Count == 0)
                                {
                                    launchedRanged = false;
                                    soundPlayedRanged = false;
                                }

                                attackList.Remove(attackList[i]);
                            }
                        }
                        enemyHit = false;
                    }
                }
                #endregion
                #region Multiplayer
                else if (Game1.currentState.Equals(Game1.EGameState.Multiplayer))
                {
                    for (int i = 0; i < attackList.Count; i++)
                    {
                        //Kristalle fliegen nach vorn
                        attackList[i].move(speed * attackList[i].viewingDirection);

                        //Laser verschwindet nach 50 Einheiten oder wenn er mit etwas kollidiert
                        if (!attackList[i].boundary.Intersects(rangeOfFlyingCrystals))
                        {
                            attackList.Remove(attackList[i]);
                            if (attackList.Count == 0)
                            {
                                launchedRanged = false;
                                soundPlayedRanged = false;
                            }
                            break;
                        }
                        else
                        {
                            launchedRanged = true;
                            if (!soundPlayedRanged)
                            {
                                Sounds.freezingIce.Play();

                                soundPlayedRanged = true;
                            }
                            for (int j = 0; j < GameControls.ConnectedControllers; j++)
                            {
                                if (attackList[i].boundary.Intersects(Multiplayer.Players[j].boundary) && Multiplayer.Players[j].CharacterType != "Fractus")
                                {
                                    Multiplayer.hudArray[j].healthLeft -= 40;
                                    enemyHit = true;
                                    Console.WriteLine("Fractus hit " + Multiplayer.Players[i] + " by Ranged");
                                }
                            }
                            //verschwindet auch bei Kollision mit Gegner
                            if (enemyHit)
                            {
                                if (attackList.Count == 0)
                                {
                                    launchedRanged = false;
                                    soundPlayedRanged = false;
                                }
                                attackList.Remove(attackList[i]);
                            }
                        }
                        enemyHit = false;
                    }
                }
                #endregion
            }
            #endregion

            #region Update HealthAbsorbingCrystals From Specialattack
            #region Removing Crystals After Defined Time
            timeSpanForHealthAbsorbingCrystals -= time.ElapsedGameTime;
            if (timeSpanForHealthAbsorbingCrystals <= TimeSpan.Zero && crystalList.Count > 0)
            {
                crystalList.RemoveAt(0);
                // Re initializes the timespan for the next time
                // minion vanishes after 4 seconds
                timeSpanForHealthAbsorbingCrystals = TimeSpan.FromSeconds(4);

                if(crystalList.Count == 0)
                    launchedSpecial = false;
            }
            #endregion

            foreach (Entity crystal in crystalList)
            {
                #region Singleplayer
                if (Game1.currentState.Equals(Game1.EGameState.Singleplayer))
                {
                    crystal.boundary = new BoundingBox(crystal.position + new Vector3(-2, -2, -2), crystal.position + new Vector3(2, 2, 2));
                    float minDistance = float.MaxValue;

                    //calculating nearest enemy
                    #region enemyList1
                    foreach (Enemy enemy in Singleplayer.currentMaps[Singleplayer.activeIndex1].EnemyList)
                    {
                        float distance = (crystal.position - enemy.position).Length();
                        if (distance < minDistance)
                        {
                            minDistance = distance;
                            nearestEnemy = enemy;
                        }
                    }
                    #endregion
                    #region enemyList2
                    foreach (Enemy enemy in Singleplayer.currentMaps[Singleplayer.activeIndex2].EnemyList)
                    {
                        float distance = (crystal.position - enemy.position).Length();
                        if (distance < minDistance)
                        {
                            minDistance = distance;
                            nearestEnemy = enemy;
                        }
                    }
                    #endregion

                    foreach (Entity healthAbsorbingCrystal in crystalList)
                    {
                        //absorbs health of nearest enemy if enemy is in range of effect
                        if ((healthAbsorbingCrystal.position - nearestEnemy.position).Length() < 50 && nearestEnemy.hp > 0)
                        {
                            Console.WriteLine(nearestEnemy.hp + " Fractus hit enemy by SpecialAttack");
                            nearestEnemy.hp -= 0.01f;

                            //transfers health to Fractus
                            if (Singleplayer.hud.trialsLeft <= 3 && Singleplayer.hud.healthLeft < Singleplayer.hud.fullHealth)
                                Singleplayer.hud.healthLeft += (int)(Singleplayer.hud.fullHealth * 0.01f);
                        }
                    }
                }
                #endregion
                #region Arena
                else if (Game1.currentState.Equals(Game1.EGameState.Arena))
                {
                    crystal.boundary = new BoundingBox(crystal.position + new Vector3(-2, -2, -2), crystal.position + new Vector3(2, 2, 2));

                    foreach (Entity healthAbsorbingCrystal in crystalList)
                    {
                        //absorbs health of nearest enemy if enemy is in range of effect
                        if ((healthAbsorbingCrystal.position - Arena.boss.position).Length() < 15 && Arena.kazumiHud.healthLeft > 0)
                        {
                            Console.WriteLine(" Fractus hit enemy by SpecialAttack");
                            Arena.kazumiHud.healthLeft -= 1;

                            //transfers health to Fractus in Arena
                            if (Arena.fractusBossHUD.trialsLeft <= 3 && Arena.fractusBossHUD.healthLeft < Arena.fractusBossHUD.fullHealth)
                                Arena.fractusBossHUD.healthLeft += (int)(Arena.fractusBossHUD.fullHealth * 0.01f);
                        }
                    }
                }
                #endregion
                #region Multiplayer
                else if (Game1.currentState.Equals(Game1.EGameState.Multiplayer))
                {
                    crystal.boundary = new BoundingBox(crystal.position + new Vector3(-2, -2, -2), crystal.position + new Vector3(2, 2, 2));

                    float minDistance = float.MaxValue;

                    //calculating nearest enemy

                    for (int i = 0; i < GameControls.ConnectedControllers; i++)
                    {
                        if (Multiplayer.Players[i].CharacterType != "Fractus")
                        {
                            float distance = (crystal.position - Multiplayer.Players[i].position).Length();
                            if (distance < minDistance)
                            {
                                minDistance = distance;
                                nearestCharacter = Multiplayer.Players[i];
                                nearestCharacterHUD = Multiplayer.hudArray[i];
                            }
                        }
                    }

                    foreach (Entity healthAbsorbingCrystal in crystalList)
                    {
                        ////absorbs health of nearest enemy if enemy is in range of effect
                        for (int i = 0; i < GameControls.ConnectedControllers; i++)
                        {
                            if ((healthAbsorbingCrystal.position - nearestCharacter.position).Length() < 15 && nearestCharacterHUD.healthLeft > 0)
                            {
                                Console.WriteLine(" Fractus hit nearestPlayer by SpecialAttack");
                                nearestCharacterHUD.healthLeft -= 1;

                                //transfers health to Fractus in Multiplayer
                                for (int j = 0; j < GameControls.ConnectedControllers; j++)
                                {
                                    if (Multiplayer.Players[j].CharacterType == "Fractus")
                                    {
                                        if (Multiplayer.hudArray[j].trialsLeft <= 3 && Multiplayer.hudArray[j].healthLeft < Multiplayer.hudArray[j].fullHealth)
                                            Multiplayer.hudArray[j].healthLeft += (int)(Multiplayer.hudArray[j].fullHealth * 0.01f);
                                    }
                                }
                            }
                        }
                    }
                }
                #endregion
            }
            #endregion
        }
Example #2
0
        public void Initialize(ContentManager content)
        {
            //Zugriff auf Attribute der Game1 Klasse
            spriteBatch = CR4VE.Game1.spriteBatch;
            graphics = CR4VE.Game1.graphics;

            //Camera
            CameraArena.Initialize(graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight);

            //Terrain
            terrain = new Entity(new Vector3(5, -20, -10), "Terrain/arena_hell", content);

            //BoundingBox lavaBound = new BoundingBox(new Vector3(), new Vector3());
            lava = new Entity(new Vector3(0, -110, -30), "Terrain/lavafloor", content);

            //moveable Entities
            if (Singleplayer.isCrystal)
            {
                player = new CharacterKazumi(startPos, "Kazumi", content); //Kazumi
                CharacterKazumi.manaLeft = 3;
            }
            else
            {
                player = new CharacterOphelia(startPos, "Ophelia", content); //Ophelia
                CharacterOphelia.manaLeft = 3;
            }

            BoundingBox playerBound = new BoundingBox(player.Position + new Vector3(-2.5f, -9, -2.5f), player.Position + new Vector3(2.5f, 9, 2.5f));
            player.Boundary = playerBound;
            sphere = new BoundingSphere(player.position, 30);

            #region Loading AI
            //Boss je nachdem, wer der Player ist
            if (Singleplayer.isCrystal)
            {
                boss = new BossCrystal(new Vector3(60, 0, 0), "Kazumi", content);
            }
            else
            {
                boss = new BossHell(new Vector3(60, 0, 0), "albino", content);
            }

            boss.boundary = new BoundingBox(boss.position + new Vector3(-4f, -12, -4f), boss.position + new Vector3(4f, 12, 4f));
            rangeOfMeleeFromBoss = new BoundingSphere(player.position, 6);
            #endregion

            testBoundingBox = new Entity(boss.position, "5x5x5Box1", content);

            #region Initialize and Reset HUD
            if (Singleplayer.isCrystal)
            {
                kazumiHud = new KazumiHUD(content, graphics);
                kazumiHud.healthLeft = kazumiHud.fullHealth;
                fractusBossHUD = new BossCrystalHUD(content, graphics);
                fractusBossHUD.healthLeft = fractusBossHUD.fullHealth;
            }
            else
            {
                opheliaHud = new OpheliaHUD(content, graphics);
                opheliaHud.healthLeft = opheliaHud.fullHealth;
                seraphinBossHUD = new BossHellHUD(content, graphics);
                seraphinBossHUD.healthLeft = seraphinBossHUD.fullHealth;
            }
            #endregion

            Sounds.Initialize(content);

            cont = content;
        }
Example #3
0
        public void Initialize(ContentManager content)
        {
            //Zugriff auf Attribute der Game1 Klasse
            spriteBatch = CR4VE.Game1.spriteBatch;
            graphics = CR4VE.Game1.graphics;
            cont = content;

            //Sounds
            Sounds.menu.Stop();

            //needed parameters
            GameControls.initializeSingleplayer();

            isPaused = false;
            isPopup = false;
            tutIndex = -1;
            tutStop = false;
            storyIsDisyplayed = false;
            kazumiStoryIndex = 0;
            opheliaStoryIndex = 0;

            #region Terrain
            //Tutorial
            #region tutorialLayout1
            int[,] tutorialLayout1 = new int[,] {

               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97, 0},
               { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1},
               { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
               { 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,93, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 3, 3, 1, 1, 1, 3,14,14, 3,14,14, 3, 3, 3, 3,14,14,14,14,14,14,14,14,14, 3, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 1, 1},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,14,14, 3,14,14, 3, 3, 3, 3,14,14,14,14,14,14,14,14,14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,14,14, 3,14,14, 3, 3, 3, 3,14,14,14,14,14,14,14,14,14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,14,14, 3,14,14, 3, 3, 3, 3,14,14,14,14,14,14,14,14,14, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}};
            #endregion

            #region tutorialLayout2
            int[,] tutorialLayout2 = new int[,] {

               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 0, 0, 0, 0, 0, 0,13,13,13, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               { 0, 1, 0, 0,93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               { 1, 3, 1, 1, 1, 1,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,98, 0, 0, 0, 0, 0, 0, 0, 0,19, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               { 3, 3, 3, 3, 3, 3, 3,13,13, 0, 0,96, 0, 0, 0, 0, 0, 0,92, 0, 0,13, 0, 0, 0, 0, 0, 0,19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3,13,13,13,13,13, 0, 0,13,13,13,13,13,13, 0, 0,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,18,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,13,13,15, 0, 0,92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,92, 0, 0, 0, 0, 0,19, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13},
               { 0, 0, 0, 3, 3, 3, 3, 3, 3,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,13,13,13,15,15,15,15, 0, 0,15,15, 0, 0, 0,15,15,15,15,15,15,15,15,15,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 3,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,13,13,13,13,18,18,18,16,16,18,18,16,16,16,18,18,18,18,18,18,18,18,18,18,15, 0, 0, 0,19, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 3,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,13,13,13,13,13,18,18,16,16,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,14,14,13,13,13,13,13,13,18,16,16,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, 0, 0, 0,19, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,14,14,13,13,13,13,13,13,13,16,16,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16, 0, 0, 0, 0, 0, 0, 0, 0, 0,89,13,13,13,13,13,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,14,14,13,13,13,13,13,13,13,16,16,18,18,16,16,16,16,18,18,18,18,16,16,16,16,16,16,16,16,16,16, 0, 0, 0,15,15,15,15, 0,13,13,13,13,13,13,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,14,14,13,13,18,18,18,18,18,16,16,18,18,16,16,16,16,18,18,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,13,13,13,13,13,13,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,16,16,16, 16,16,16,16,16,16,16,16,16,16,16,16,13,13,13,13,13,13,13,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,16,16,16,16,16,16,16,16,16,16,16,13,13,13,13,13,13,13,13,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,16,16,16,16,16,16,16,16,16,16,13,13,13,13,13,13,13,13,13,13}};
            #endregion

            //Main Game
            #region Höllenlevel
            #region layout1
            int[,] layout1 = new int[,] {

            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,98,93, 0, 0, 0},
            {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0},
            {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 3, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0},
            {1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0,93, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0,97, 0, 0, 0, 1, 0, 0, 3, 0, 0, 3, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 3, 4, 4, 3, 3, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 3, 3, 4, 4, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0},
            {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 3, 3, 4, 4, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0},
            {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 3, 3, 4, 4, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0},
            {3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 3, 3, 4, 4, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0}};
            #endregion

            #region layout2
            int[,] layout2 = new int[,] {

            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 5, 0, 0, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {1, 0, 0, 0, 0,96, 0, 0, 0,97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 0, 0, 0, 0, 0, 5, 0,93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97, 0, 0},
            {3, 1, 0,93, 5, 5, 5, 0, 0, 5, 0, 0, 5, 0, 0, 5, 0, 0, 5, 5, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 5, 5, 0, 0, 5, 0, 0, 5, 0, 0, 0, 5, 5, 0, 0},
            {3, 3, 3, 3, 3, 3, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 8, 8, 8, 8, 5, 5, 8, 8, 8, 8, 5, 9, 5, 0},
            {3, 3, 3, 3, 3, 3, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9 ,9, 5},
            {3, 3, 3, 3, 3, 3, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 9, 9},
            {3, 3, 3, 3, 3, 3, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 9, 9},
            {3, 3, 3, 3, 3, 3, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 9, 9},
            {3, 3, 3, 3, 3, 3, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 9, 9},
            {3, 3, 3, 3, 3, 3, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 9, 9},
            {3, 3, 3, 3, 3, 3, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 9, 9},
            {3, 3, 3, 3, 3, 3, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 9, 9},
            {3, 3, 3, 3, 3, 3, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 9, 9},
            {3, 3, 3, 3, 3, 3, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 8, 8, 5, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 5, 9, 9, 9}};
            #endregion

            #region layout3
            int[,] layout3 = new int[,] {

            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {9, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0,98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {9, 9, 9, 9, 9, 9, 0, 0, 0,96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {9, 9, 9, 9, 9, 9,95, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 0, 0, 9, 0, 0, 9, 0,93, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 0, 0, 9, 0, 0, 9, 9, 9, 9, 9, 0, 0, 0, 9, 0, 0, 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0},
            {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 0, 0, 9, 0, 0, 9, 9, 9, 9, 9, 0, 0, 0, 9, 0, 0, 0, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0,13, 0, 0, 0, 0, 0},
            {9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,95,95, 9,95,95, 9,95,95, 9, 9, 9, 9, 9, 9, 0, 0, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0,13,13, 0, 0,13, 0, 0},
            {9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9,13,13,13,13,13,13,13,13},
            {9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,95,95, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9,13,13,13,13},
            {9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,95,95, 9, 9, 9, 9, 9, 9, 9,95,95, 9, 9, 9, 9, 9, 9,13,13,13},
            {9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 0, 0, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,13,13},
            {9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 0, 0, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9},
            {9, 9, 9, 9, 9, 9, 0, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 9, 0, 0, 9, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9}};
            #endregion

            #region layout4
            int[,] layout4 = new int[,] {
            {0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13},
            {0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13},
               {13, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13},
               {13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {13,13,13,13, 0,96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {13,13,13,13,13,13,13,13,13, 0, 0,13, 0, 0, 0,13, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {13,13,13,13,13,13,13,13,13,14,14,13,14,14, 0, 0, 0, 0,13, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14, 0,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13, 0, 0,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13, 0,93, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0,13,13, 0, 0, 0, 0, 0, 0,13, 0, 0, 0,97, 0, 0, 0, 0, 0, 0},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13,13,13,13, 0, 0,13,13,13,13,13,13, 0, 0, 0, 0, 0,13, 0, 0, 0, 0, 0, 0, 0,13,13, 0, 0, 0, 0, 0, 0},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,14,14,14,13,13,13,13, 0, 0, 0,93, 0, 0, 0, 0, 0, 0, 0, 0},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,14,14,14,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0,13,13},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,14,14,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0,13,13,13},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,14,14,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0,13,13,13},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,14,14,13,13, 0, 0, 0,13, 0, 0, 0, 0, 0,13,13,13,13,13,13},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,14,14,14,14, 0, 0, 0, 0, 0, 0,13, 0, 0,13,13,13,13,13,13},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,14,14,14,14,14, 0, 0, 0,93,13,13, 0, 0, 0, 0, 0, 0,13,13},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,14,14,14,14,14,14, 0,98,13,13,13,13, 0, 0,97, 0, 0,13,13},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,13,13,13,13,13, 0, 0,13, 0, 0,13,14},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,13,13,13,13,13,13,13,14,14,14,14},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,13,13,13,13,14,14},
               {13,13,13,13,13,13,13,13,13,14,14,13,13,14,14,14,14,13,13,13,14,14,13,13,13,13,13,14,14,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,13,13,13,13,13,14}};
            #endregion

            #region layout5
            int[,] layout5 = new int[,] {

               {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               { 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,10,10,10, 0, 0, 0},
               {13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               {13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,10, 0,10, 0, 0, 0, 0, 0, 0, 0, 0},
               {13,13,13, 0, 0, 0, 0, 0, 0, 0, 0,10, 0,97, 0,10, 0, 0, 0,10,10, 0, 0, 0,10, 0, 0, 0,10,10, 0, 0, 0, 0, 0, 0,10,10, 0, 0, 0, 0, 0, 0,10,10,10, 0, 0, 0, 0,10,98, 0, 0, 0},
               {13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,10, 0, 0,10,10, 0, 0, 0, 0, 0, 0, 0,10,10,10,10, 0, 0, 0},
               {14,13,13,13,13, 0,10, 0, 0, 0,10, 0, 0, 0, 0, 0, 0,10, 0, 0, 0, 0, 0, 0, 0, 0,10,10, 0, 0, 0,10, 0, 0,10 ,0, 0,10, 0, 0, 0, 0, 0, 0, 0, 0,14,14,14,10,10,10,10,14,14,14},
               {14,14,13,14,14,14,10, 0, 0, 0,10,14,14,14,14,14,14,10,14,14,14,14,14,14,14,14,10,10,14,14,14,10,14,14,10,10 ,0,10,10,10,10, 0, 0,10, 0,14,14,14,14,10,10,10,10,14,14,14},
               {14,14,14,14,14,14,10, 0, 0,10,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,10,10, 0, 0, 0, 0, 0, 0, 0,10,14,14,14,14,14,10,10,10,10,14,14,14},
               {14,14,14,14,14,14,10, 0, 0,10,10,10,10,10,10,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,10,10, 0, 0,98,93, 0, 0,10,10,14,14,14,14,14,10,10,10,10,14,14,14},
               {14,14,14,14,14,14,14,10, 0, 0, 0, 0, 0, 0, 0, 0,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,10,10,10,10,10,10,14,14,14,14,14,14,14,10,10,10,10,14,14,14},
               {14,14,14,14,14,14,14,10, 0,93,98, 0, 0, 0, 0,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,10,10,10,10,14,14,14,14,14,14,14,10,10,10,10,14,14,14},
               {14,14,14,14,14,14,14,10,10,10,10, 0, 0,96, 0,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,10,10,10,10,14,14,14,14,14,14,14,10,10,10,10,14,14,14},
               {14,14,14,14,14,14,14,14,14,14,10,10,10,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,10,10,10,10,14,14,14,14,14,14,14,10,10,10,10,14,14,14},
               {14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,10,10,10,10,14,14,14}};
            #endregion

            #region layout6
            int[,] layout6 = new int[,] {

               { 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,19,19,19,19,19},
               { 13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,19,19,19,19,19},
               {  0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,19,19,19,19,19},
               {  0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,19,19,19,19,19},
               {  0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13, 0, 0,19,19,19,19,19},
               { 10, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,12, 0, 0,13,13, 0, 0,19,19,19,19,19},
               { 10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,12, 0, 0, 0, 0, 0,13,13, 0,13,19,19,19,19,19},
               { 10,10,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97, 0, 0,12, 0, 0, 0, 0, 0, 0, 0, 0,13,13, 0, 0,19,19,19,19,19},
               { 12,12,12,12, 0, 0,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13, 0, 0,19,19,19,19,19},
               { 12,10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13, 0,19,19,19,19,19},
               { 12, 0, 0, 0, 0, 0, 0,93, 0,12,12,12,12, 0, 0, 0, 0,97, 0,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13, 0, 0,19,19,19,19,19},
               { 12, 0, 0,12,12,12,12,12,12,12,12,12,12,12, 0,12,12,12,12,12,12, 0, 0,12,12, 0, 0, 0, 0, 0,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13, 0, 0,19,19,19,19,19},
               { 12,12,12,12,12,12,12,12,12,12,12,12,12, 0, 0, 0, 0, 0, 0, 0,12,12,12,12,12,12, 0, 0,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13, 0,13,19,19,19,19,19},
               { 11,11,11,11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,12,12,12, 0, 0,12,12, 0, 0, 0, 0,95,95,95,95, 0, 0, 0, 0, 0, 0, 0,95,95,95, 0, 0, 0,13,13, 0, 0,19,19,19,19,19},
               { 11,11,11,11,11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0,12,12,12,12,12,12,12,12, 0, 0,12,12,12, 0, 0,95,95,12,12,12,12,95,95,95,95,95,95,95,12,12,12,95,95,95,13,13, 0, 0,19,19,19,19,19},
               { 11,11,11,11,11,11, 0, 0,12, 0,96, 0, 0, 0, 0, 0,12,12,12,12,12,12,12,12, 0, 0, 0,12,12,12,95,95,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13, 0,19,19,19,19,19},
               { 11,11,11,11,11,11,11, 0, 0,12,12,12, 0, 0,98, 0, 0,12,12,12,12,12, 0, 0, 0, 0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13, 0, 0,19,19,19,19,19},
               { 11,11,11,11,11,11,11,11, 0, 0, 0, 0, 0, 0,11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13, 0, 0,19,19,19,19, 0},
               { 11,11,11,11,11,11,11,11,11, 0,93, 0, 0,11,11,11, 0, 0, 0, 0, 0,93, 0,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12, 0, 0,12,12,12,12,12,12,13,13, 0, 0, 0, 0, 0, 0, 0},
               { 12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11, 0, 0,12,12,12,12,12,12,12,12,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,12,12,12,12,13,13, 0, 0, 0, 0, 0, 0, 0},
               { 12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,12,12,12,12,13,13, 0, 0, 0, 0, 0, 0, 0},
               { 12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,12,12,12,12,12,12,13,13, 0, 0, 0, 0, 0, 0, 0}};
            #endregion

            #region layout7
            int[,] layout7 = new int[,] {
            {13,13, 0, 0,19,19,19,19,19,19,19,19,19,19,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,13,13,13,13},
            {13,13, 0, 0,19,19,19,19,19,19,19,19,19,19,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,13,13,13,13},
            {13,13, 0, 0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,13,13,13,13},
            {13,13, 0, 0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, 0, 0, 0, 0, 0,13,13,13, 0, 0, 0, 0, 0, 0, 0,19,19,19,19,19,19,19,19},
            {13,13, 0, 0,19,19,19,19,19, 0, 0, 0, 0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,19,19,19,19,19,19},
            {13,13, 0, 0,19,19,19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, 0, 0, 0,98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0, 0,19,19,19,19},
            {13,13, 0, 0,19, 0, 0, 0, 0, 0,19,19, 0, 0, 0, 0, 0, 0, 0,19,19,19,19,19,19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,19, 0, 0,19, 0, 0, 0, 0, 0, 0, 0,19, 0, 0, 0, 0, 0, 0, 0, 0,19,19,19},
            {13,13, 0, 0, 0, 0, 0, 0, 0, 0,19, 0, 0,98,92, 0, 0, 0, 0, 0,19,19, 0, 0, 0, 0, 0, 0, 0, 0,92, 0, 0, 0,19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,92, 0, 0, 0, 0, 0, 0},
            {13,13, 0, 0, 0, 0, 0, 0,19, 0,19,19,19,19,19,19,19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,15,15,15,15,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,19,19, 0, 0, 0,19, 0, 0,19,19, 0, 0, 0, 0, 0},
            {13,13,15,15,15, 0,96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,18,18,18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {13,13,18,18,18,15,15, 0, 0, 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,15,18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,19,19, 0, 0},
            {13,13,18,18,18,18,18, 0, 0, 0, 0, 0,15, 0,15,15,15, 0, 0,15, 0, 0, 0, 0,15, 0, 0,18,18,97, 0, 0,15,15, 0, 0,15, 0, 0, 0,18,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,19},
            {13,13,18,18,18,18,18,15,15, 0, 0,15,18,15,18,18,18,16,16,18, 0, 0, 0, 0,18,16,16,18,18,15,15,15,18,18,16,16,18,15,15,15,18,18,15,15,15,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {13,13,18,18,18,18,18,18,18,16,16,18,18,18,18,18,18,16,16,18, 0, 0, 0,15,18,16,16,18,18,18,18,18,18,18,16,16,18,18,18,18,18,18,18,18,18,18,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,16},
            {13,13,18,18,18,18,18,18,18,16,16,18,18,18,18,18,18,16,16,18, 0,98, 0, 0,18,16,16,18,18,18,18,18,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16},
            {13,13,18,18,18,18,18,18,18,16,16,18,18,18,18,18,18,16,16,18,15,15,15,15,18,16,16,18,18,18,18,18,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16},
            {13,13,18,18,18,18,18,18,18,16,16,18,18,18,18,18,18,16,16,18,18,18,18,18,18,16,16,18,18,18,18,18,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16},
            {13,13,18,18,18,18,18,18,18,16,16,18,18,18,18,18,18,16,16,16,16,16,16,16,16,16,16,18,18,18,18,18,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16}};
            #endregion

            #region layout8
            int[,] layout8 = new int[,] {
            {19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,19,19, 0, 0, 0, 0},
            {19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19},
            {19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19},
            {19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19},
            { 0, 0, 0, 0, 0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, 0, 0, 0, 0, 0, 0, 0, 0,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19, 0, 0, 0, 0, 0, 0, 0, 0,19,19,19,19,19},
            { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,19,19,19,19,19},
            { 0, 0, 0,96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,88, 0,19,19,19,19,19},
            { 0, 0,15,15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,92, 0, 0, 0, 0, 0, 0, 0, 0,19,98,19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,19, 0,15,15,19,19,19,19,19},
            { 0,16,18, 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0,19,19, 0, 0, 0, 0, 0, 0, 0,19,19,19, 0, 0,19, 0, 0, 0, 0, 0, 0, 0, 0,15, 0, 0, 0,92,15, 0, 0, 0, 0, 0,19, 0, 0,16,18,18,19,19,19,19,19},
            {16,16,18, 0,15,15, 0, 0, 0,15, 0, 0, 0,15, 0, 0, 0, 0, 0,15, 0, 0,15,15, 0, 0, 0, 0, 0, 0, 0, 0, 0,15,15, 0, 0, 0,15,18,15, 0, 0,15,18, 0, 0, 0,15, 0, 0, 0,16,16,18,18,19,19,19,19,19},
            {16,16,18, 0,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,19,19,19,19,19},
            {16,16,18,15,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,19,19,19,19,19},
            {16,16,18,18,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,18,18,19,19,19,19,19}};
            #endregion

            #region background layouts bzw. layout9
            //background layouts
            int[,] layout9 = new int[,] {
            {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
            {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13}};
            #endregion
            #endregion

            #region Kristallevel

            #region layout1
            int[,] crystal1 = new int[,] {
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,98, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,93, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97, 1, 1, 0, 1},
               { 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,93, 0, 0, 0, 0, 0, 4, 3, 3, 3, 3, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0,93, 1, 1, 3, 0, 0, 0},
               { 3, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 0, 0, 1, 0,96, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 1, 0, 0, 0, 0, 1, 1, 3, 3, 3, 0, 0, 0},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 3, 1, 1, 1, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 0, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 0, 0, 1, 0},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 4, 0, 0, 0},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 4, 4, 0, 0},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 4, 4, 3, 3, 3, 4, 4, 4, 4, 4},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 4, 4, 3, 3, 4, 4, 4, 9, 9, 9},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 4, 4, 3, 4, 4, 4, 4, 9, 0, 0},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 9, 0, 0},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 9, 9, 9},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
               { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4} };
            #endregion

            #region layout2
            int[,] crystal2 = new int[,] {
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0,98, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0},
               { 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,93, 0, 0, 0, 1, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 1, 0, 0, 0,93, 0, 0, 0, 1, 3, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 4, 3, 3, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0},
               { 0, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 4, 4, 3, 3,22, 3, 3, 1, 1, 0, 0,93, 0, 0, 0, 1, 1, 3, 1, 0, 0,93, 0},
               { 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 4, 4, 3, 1, 1, 0, 0, 0, 0, 0, 1, 1, 4,22,22,22,22, 3, 3, 3, 1, 1, 1, 1, 1, 1, 3, 3,22, 3, 1, 1, 1, 1},
               { 0, 0, 0, 9, 9, 9, 9, 9, 9, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 1, 1, 0,96, 0, 1, 4, 4, 4,22,22,22,22, 3, 3, 3, 3, 3, 3, 3, 3,22,22,22,22,22,22,22,22},
               { 9, 0, 0, 0, 9, 9, 9, 9, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 1, 1, 1, 4, 4, 4, 4, 4,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22},
               { 9, 9, 0, 0, 0, 0, 0, 0, 0, 0, 9, 9, 0, 0, 0, 0, 0, 9, 9, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22},
               { 9, 0, 0, 0, 0, 0,93, 0, 0, 9, 9, 9, 0, 0, 0, 0,93, 9, 9, 9, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4,22,22, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
               { 0, 0, 0, 0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4,22, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
               { 0, 0,98, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
               { 9, 9, 9, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
               { 4, 4, 4, 4, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
               { 4, 4, 4, 4, 4, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3},
               { 4, 4, 4, 4, 4, 4, 4, 9, 9, 9, 9, 9, 9, 9, 9, 9, 3, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 3, 3, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}};
            #endregion

            #region layout3
            int[,] crystal3 = new int[,] {
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97,22, 0, 0, 0,22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,22,22,22,22, 0, 0, 0, 0, 0,22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 1, 0, 0,98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0,20, 0, 0, 0, 0, 0, 0, 0, 0,20,20,20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,20, 0, 0,22,22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,20,20,20,20, 0, 0,96, 0, 0,20,20,20,20,20,20, 0, 0, 0, 0, 0, 0, 0, 0, 0,23,22,23, 0, 0,22, 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               {22, 1, 1, 0,93, 0, 0, 0, 0, 0, 0,20,20,22,22,22,22,20,20,20,20,20,20,20,20,20,20,20,20,93, 0,20, 0, 0,20, 0,23, 4,22, 4,23, 0,22,22, 0, 0, 0,20, 0, 0, 0,20, 0, 0, 0, 0,20, 0, 0,20},
               {22,22,22, 1, 1, 1, 0, 0, 0, 0,20,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,22,23,23,22,23, 4, 4,22, 4, 4,23,22,22,22, 0,23,23,23,23,23,23,23, 0,93, 0,23,23,23,23},
               {22,22,22,22,22,22, 1, 0,20,20,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22, 4, 4,22, 4, 4,22, 4, 4, 4,22, 4, 4, 4,22,23,23,23,23, 4, 4, 4, 4, 4,23,23,23,23,23, 4, 4, 4},
               {22,22,22,22,22,22,22,20,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22, 4, 4,22, 4, 4,22, 4, 4, 4,22, 4, 4, 4,22, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4},
               {22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,22, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}};
            #endregion

            #region layout4
            int[,] crystal4 = new int[,] {
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,22, 0, 0,22, 0, 0,22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,22, 0, 0, 0,22,22,22,22,22,22,22,22,22,22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0,22, 0,93,22,22,22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13},
            {0, 0, 0, 0, 0, 0, 0, 0, 0,22,22,22,22,22,22,22,22,22, 0,22,22,22,22,22,22,22,22,22,22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13},
            {0, 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,22, 0, 0, 0, 0, 0, 0, 0, 0,22,22,22,22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13, 0, 0,94, 0,94, 0},
            {0, 0,22,22, 0, 0,22,22,22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,98,26,22, 0, 0,22,22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
            {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,20, 0, 0, 0, 0, 0, 0, 0, 0, 0,26, 0, 0, 0,26,26,22, 0, 0, 0,22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,26},
               {20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,20,20,20, 0, 0, 0, 0, 0,93, 0,26,26,26,96,26,26,26,22,26, 0, 0, 0, 0, 0, 0, 0,93, 0, 0, 0, 0, 0, 0, 0, 0, 0,20, 0,97, 0,20, 0, 0, 0, 0, 0,26,26,26},
               {23,23,23,23, 0,93, 0,23, 0, 0,20,20,20,20,20, 0, 0, 0,22,22,22,22,22,22,22,22,22,22,22,26,26, 0, 0, 0,20, 0,20,20,20, 0, 0, 0,22,22, 0, 0,23,23,23,23,23,23,23,93, 0,13,13,13,13,13},
               { 4,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,13,21,21,21,21},
               { 4,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,21,21,21,21,21,21},
               { 4,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,21,21,21,21,21,21,21},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,13, 0},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,13, 0},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,13, 0},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21, 0},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,13},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,21},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,21},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,21},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,21},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,21}};
            #endregion

            #region layout5
            int[,] crystal5 = new int[,] {
               {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13},
               {13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13},
            {0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13},
            {0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13},
            {0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,26,26,26,26,26,26,26,26,26,26,26,26,26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13},
               {13, 0, 0, 0, 0, 0, 0, 0, 0,94, 0,94,94, 0,13,13,13,13,94,94,94,94,94,94,13,13,13,13,13,13,13,26,26,13,13,13,13,13,13,13,26,26,26,26,26,26, 0, 0, 0, 0,13,13,13,13,13,13},
               {21,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,28,13,13,13, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,26,26,13,94,94, 0, 0, 0, 0,13,26,26,26,26,26,13,13,13,13,13,13,13,13,13,13,13},
               {21,21,13, 0,92, 0, 0, 0,13, 0,13, 0,28,28,13,13, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,26,13, 0, 0, 0,98, 0, 0, 0,13,26,26,26,13,13,13,13,13,13,13,13,13,13,13,13},
               {21,21,13,13,13,13, 0, 0, 0, 0,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13, 0, 0, 0,13,13,13, 0, 0,13,26,26,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {21,21,21,21,21,21,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13, 0, 0, 0,13,13,13,13,13,13,13,26,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {21,21,21,21,21,21,21,13, 0, 0, 0,92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,97, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {13,13,13,13,13,13,21,21,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               { 0, 0, 0, 0, 0, 0,13,21,21,21,21,21,21,21,13, 0,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,94, 0,94, 0,94, 0,94,94,94,94,94,13,13,13,13,13},
               { 0, 0, 0, 0, 0, 0, 0,13,13,21,21,21,21,21,21,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13, 0, 0, 0,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 0, 0, 0, 0, 0, 0, 0, 0,13,21,21,21,21,21,21,21,13,13,13, 0, 0,13, 0, 0, 0,92, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               { 0, 0, 0, 0,13, 0, 0, 0, 0, 0,13,13,21,21,21,21,21,13,13, 0, 0,13,28,13, 0,28,28,28,28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13, 0, 0, 0, 0, 0, 0},
               { 0, 0,13,13,13,13,13,13, 0, 0, 0, 0,13,13,13,13,13,13, 0, 0, 0,13,28,13,28,28,13,13,13,13,13,13,13,13,13, 0, 0,92, 0, 0,28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13, 0, 0, 0},
               { 0, 0, 0, 0, 0, 0, 0, 0,13, 0, 0, 0, 0, 0, 0, 0, 0,13, 0, 0,13,21,28,28,28,21,21,21,21,21,21,21,21,21,21,13,13,13,13,13,28,28,28,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               {13, 0, 0, 0, 0, 0, 0, 0, 0,13, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,28,13,13, 0,13,13,13,13,13, 0, 0,13,13},
               {13, 0,13, 0,98, 0, 0, 0, 0,28,13, 0, 0, 0, 0, 0, 0, 0, 0,13,21,21,21,13,13,13,13,21,21,13,13,13,13,21,21,21,21,21,21,21,21,21,21,28,28,13, 0, 0, 0, 0, 0, 0, 0, 0,13,21},
               {21, 0, 0, 0,28, 0, 0, 0,28,28,28,13, 0, 0, 0, 0, 0, 0,13,21,21,21,21,13,13,13,13,14, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,21,13, 0, 0, 0,92, 0, 0, 0,13,13,21},
               {21,13,13,28,28,28,97,28,28,28,28,28,13,92, 0,96, 0, 0,13,21,21,21,21,13,13,13,13,14, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,21,13,13,13,13,13,13,13,13,13,13,21},
               {21,21,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,21,21,21,21,13,13,13,13,14, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,27,27},
               {21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,13,13,13,13,13,14, 0, 0, 0, 0, 0, 0, 0, 0, 0,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,27,27,27}};

            #endregion

            #region layout6
            int[,] crystal6 = new int[,] {
               {27,27,27,27,27,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13},
               {13,13,13,13,13,27,27,27,27,27,27,27,27,27,27,27,27,27,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13},
            {0, 0, 0, 0,13,27,27,27,27,27,27,27,27,27,27,27,27,27,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,27,27,27,27,27,27,27,27,27,27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13},
            {0, 0, 0, 0, 0,13,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13},
            {0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,27,27,13,13,13,13,13,13,13,13,27,27,27,27,27,27,27,27,13,13,13,13,27,27,27,27,27,27,27,27,27,27, 0, 0, 0, 0, 0, 0, 0,13,13},
               {13, 0, 0, 0, 0, 0, 0, 0,94,94,94,94,94,94,13,13,27,13, 0, 0, 0,13, 0, 0,13,27,27,27,27,27,27,13,13,13,94,94,13,13,13,13,27,27,27,27,27,27,27, 0, 0, 0,13,13,13,13,13,13},
               {21,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13, 0, 0, 0, 0, 0,13, 0,13,27,27,27,27,27,27,27,13, 0, 0, 0, 0,13,27,13,27,27,27,27,27,27,27,13,13,13,13,13,13,13,13,13},
               {21,21,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,92, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0,13,27,27,13,27,27,27,27,27,27,13,13,13,13,13,13,13,13,13},
               {21,27,13,13,13,13, 0, 0, 0, 0, 0,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0,94, 0,94, 0,94, 0,94, 0, 0, 0, 0,96,13,13,13,27,27,13,27,27,27,27,27,13,13,13,13,13,13,13,13,13},
               {27,27,27,27,27,27,13, 0,13,13,13,27,27,27,27,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,27,27,13,27,13,13,13,13,13,13,13,13,13,13},
               {27,27,27,27,27,27,27,13,27,27,27,27,27,27,27,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13, 0, 0,13,13, 0, 0,13,28,28,28,13,27,27,27,13,13,13,13,13,13,13,13,13,13,13},
               {27,27,27,27,27,27,27,27,13,13,13,13,13,13,13,13,13, 0, 0, 0,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,28,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13},
               {27,27,27,27,27,27,27,27,13,27,27,27,27,27,27,27,13, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13, 0, 0,92, 0, 0, 0, 0, 0, 0, 0,13, 0, 0,94, 0, 0,94, 0,94, 0,94, 0,13,13,13,13,13},
               {13,13,13,13,13,13,13,13,13,27,27,27,27,27,27,13,13,13,13, 0, 0, 0,13, 0, 0,13, 0, 0, 0,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               {29,29,29,29,13,13, 0, 0, 0,13,13,13,13,13,13,13,13,13,13,13, 0, 0,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
               {29,29,29,13,13,13, 0,98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,27,13, 0,27,27,27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,98,92, 0, 0, 0, 0,13,13, 0, 0, 0, 0, 0, 0},
               {29,13,13,13,13,13,13,13, 0, 0,97, 0,92, 0, 0, 0, 0,92, 0, 0, 0,13,27,13,27,27,13,13,13,13,13,13,13,13,13, 0, 0, 0, 0, 0,27,27,27,27,27, 0, 0,13, 0, 0, 0,13,13, 0, 0, 0},
               {29,13,29,29,13,29,29,29,13,13,13,13,13,13,13,13,13,13,13,13,13,27,27,27,27,27,27,27,27,27,27,27,27,27,27,13,13,13,13,13,13,13,13,13,27,27,27,13,97, 0, 0,13,27,27,27, 0},
               {13,29,29,29,29,13,29,29,29,13,29,29,29,29,29,29,29,29,13,13,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,27,13,13,27,13,13,13,13,13,27,27,13,13},
               {13,13,13,28,29,29,13,29,29,29,13,29,13,29,29,29,29,29,29,13,27,27,21,13,13,13,13,21,21,13,13,13,13,27,27,27,21,21,21,21,21,21,27,27,27,27,27,27,27,27,27,27,27,27,13,27}};

            #endregion

            #region layout7
            int[,] crystal7 = new int[,] {
               {13,13,13,13,13,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,13,13,13,31,31,31,31,31,31,31,31,31,31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,31,31,31},
               {13,13,13,13,13,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,13,13,13,31,31,31,31,31,31,31,31,31,31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,31,31,31},
            {0, 0, 0, 0, 0,13,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,13,13,13,31,31,31,31, 0, 0, 0, 0, 0, 0,13,13,31,31,31},
            {0, 0, 0, 0, 0, 0,13,13,13,13,13,13,13,13,13,31,31,13,13,13,13,13,13,13,13,31,31,31,31,31,31,31,31,13,13,13,13,31,31,31,31,31,31,31,13,31,31,31,31,31,31,31,31,31,13,13,31,31,31},
               { 0, 0, 0, 0, 0, 0, 0,94, 0,94, 0,94, 0,94, 0,13,13,13,94,94,94,13,31,31,13,31,31,31,31,31,13,13,13,13, 0, 0,13,13,13,13,13,31,31,31,31,13,31,31,31,31,13,13,13,13,13,13,31,31,31},
               {13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,31,13,31,31,31,31,13, 0, 0, 0, 0, 0, 0, 0, 0,13,13,31,31, 0, 0,31,31,13,31,31,13,13,13,13,13,13,13,31,31,31},
               {13,27,13, 0, 0, 0,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0,97, 0, 0,31,31, 0, 0, 0, 0, 0, 0, 0,31, 0, 0,13,31,31,31,31,31,31,31},
               {27,27,13,13,13,13,13, 0, 0,98, 0, 0, 0, 0, 0, 0, 0,13, 0, 0, 0, 0, 0, 0, 0,94,94,94, 0, 0, 0,13,13, 0,98, 0,13, 0, 0,31,31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,31,13,13,13,31,31,31},
               {27,27,27,27,27,27,13, 0,13,13,13, 0, 0, 0, 0,13,13,13,31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,31,31,31,13,31,31,13,31,31, 0, 0,31,31,13, 0, 0, 0, 0,13,31,13,13,13,31,31,31},
               {27,27,27,27,27,27,27,13,13,27,13, 0,92, 0, 0,13,13,13,31,31, 0, 0, 0, 0,13, 0, 0, 0, 0, 0,13, 0,13,13,13,13,13,13,13,13,13,31,31,31,31,13,13,13,31, 0, 0,13,31,31,31,31,31,31,31},
               {27,27,27,27,27,27,27,27,13,13,13,13,13,13,13,13,13,13,31,31,31, 0, 0, 0, 0, 0, 0,31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,13,13,13,31,31,13,13, 0, 0, 0, 0,31,13,13,13,13,13,31,31,31},
               {27,27,27,27,27,27,27,13,13,27,27,27,27,27,27,27,13,13,31,31,31,31, 0, 0, 0, 0,13,13,13, 0, 0,92, 0, 0, 0, 0, 0, 0, 0, 0, 0,94,94,94,94, 0, 0, 0, 0, 0, 0, 0, 0, 0,31,31,31,31,31},
               {13,13,13,13,13,13,13,13,13,27,27,27,27,27,27,13,13,13,13,13,13,13,13,13,13,13,13,31,13,13,13,13,13,13,13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,31,31, 0, 0, 0,31,31,31,31,31,31},
               {13,13,13,13,13,13,13,13,13,27,27,27,27,27,27,13,31,31,31,31,31,31,31,31,31,31,31,31,31,13,13,13,13,13,13,31,31,31,31, 0, 0,92, 0, 0,31,31, 0, 0, 0, 0, 0, 0, 0, 0,31,31,31,31,31},
               {13,13,13,13,13,13,13,13,13,27,27,27,27,27,27,13,13,31,31,31,31,31,31,31,31,31,31,31,31,13,13,13,13,13,13,13,13,13,13,31,31,31,31,31,31,31, 0, 0, 0, 0, 0,31,31,31,31,31,31,31,31},
               {13,13,13,13,13,13,13,13,13,27,27,27,27,27,27,13,13,31,31,31,31,31,31,31,31,31,31,31,31,13,13,13,13,13,13,13,13,13,13,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31},
               {13,13,13,13,13,13,13,13,13,27,27,27,27,27,27,13,13,31,31,31,31,31,31,31,31,31,31,31,31,13,13,13,13,13,13,13,13,13,13,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31}};

            #endregion
            #endregion

            int boxSize = 10;
            #region tutorial_layouts_generate
            //Arrays of generated Tilemaps
            tutorialMaps = new Tilemap[]
            {
                Tilemap.Generate(tutorialLayout1, boxSize, new Vector3(-80, 0, 0)),
                Tilemap.Generate(tutorialLayout2, boxSize, new Vector3(480, 0, 0)),
            };
            #endregion

            #region hölle_layouts_generate
            gameMaps_hell = new Tilemap[]
            {   //Höllenlevel
                Tilemap.Generate(layout1, boxSize, new Vector3(-80, 0, 0)),
                Tilemap.Generate(layout2, boxSize, new Vector3(510, 10, 0)),
                Tilemap.Generate(layout3, boxSize, new Vector3(1030, -60, 0)),
                Tilemap.Generate(layout4, boxSize, new Vector3(1550, -150, 0)),
                Tilemap.Generate(layout5, boxSize, new Vector3(2110, -260, 0)),
                Tilemap.Generate(layout6, boxSize, new Vector3(2670, -290, 0)),
                Tilemap.Generate(layout7, boxSize, new Vector3(3180,-410, 0)),
                Tilemap.Generate(layout8, boxSize, new Vector3(3760,-440, 0)),
                Tilemap.Generate(layout9, boxSize, new Vector3(-80,0,-10)),

            };
            #endregion

            #region crystal_layouts_generate
            //Kristallevel
            gameMaps_crystal = new Tilemap[]
            {
                Tilemap.Generate(crystal1, boxSize, new Vector3(-80, 0, 0)),
                Tilemap.Generate(crystal2, boxSize, new Vector3(480,0, 0)),// (480)
                Tilemap.Generate(crystal3, boxSize, new Vector3(1040, 10, 0)),//1040
                Tilemap.Generate(crystal4, boxSize, new Vector3(1640,30, 0)), //1640,30
                Tilemap.Generate(crystal5, boxSize, new Vector3(2240,0, 0)), //2230,0
                Tilemap.Generate(crystal6, boxSize, new Vector3(2800,-120, 0)),//560,-120
                Tilemap.Generate(crystal7, boxSize, new Vector3(3360,-230,0)),
            };
            #endregion

            //get active Tilemaps
            if (isTutorial)
                currentMaps = tutorialMaps;
            else if (isCrystal)
                currentMaps = gameMaps_crystal;
            else
                currentMaps = gameMaps_hell;

            //set start indices
            activeIndex1 = 0;
            activeIndex2 = 1;

            visibles = new List<Tile>();
            #endregion

            //Camera
            Camera2D.Initialize(graphics.PreferredBackBufferWidth, graphics.PreferredBackBufferHeight);

            //SaveGame
            SaveGame.Reset();

            #region Tutorial & Story sprites
            menu_pause = content.Load<Texture2D>("Assets/Sprites/menu_pause");
            if (isTutorial)
            {
                tutSprites = new Texture2D[]
                {
                    content.Load<Texture2D>("Assets/Sprites/popup_tutorial1"),
                    content.Load<Texture2D>("Assets/Sprites/popup_tutorial2"),
                    content.Load<Texture2D>("Assets/Sprites/popup_tutorial3"),
                    content.Load<Texture2D>("Assets/Sprites/popup_tutorial4"),
                    content.Load<Texture2D>("Assets/Sprites/popup_tutorial5"),
                };
            }

            if (isCrystal)
            {
                kazumiStorySprites = new Texture2D[]
                {
                    content.Load<Texture2D>("Assets/Sprites/KazumisStory/KazumisDorfSepia"),
                    content.Load<Texture2D>("Assets/Sprites/KazumisStory/KazumiDorfbewohnerSepia"),
                    content.Load<Texture2D>("Assets/Sprites/KazumisStory/FractusMeteorSepia"),
                    content.Load<Texture2D>("Assets/Sprites/KazumisStory/KazumiShockedSepia"),
                    content.Load<Texture2D>("Assets/Sprites/KazumisStory/KazumiShockedBlack&White"),
                };
            }
            else
            {
                opheliaStorySprites = new Texture2D[]
                {
                    content.Load<Texture2D>("Assets/Sprites/OpheliasStory/HeiligerArschtrittSepia"),
                    content.Load<Texture2D>("Assets/Sprites/OpheliasStory/FallInDieTiefeSepia"),
                    content.Load<Texture2D>("Assets/Sprites/OpheliasStory/HarteLandungSepia"),
                    content.Load<Texture2D>("Assets/Sprites/OpheliasStory/ErwachenAufDerErdeSepia"),
                    content.Load<Texture2D>("Assets/Sprites/OpheliasStory/BannmalHalsSepia"),
                    content.Load<Texture2D>("Assets/Sprites/OpheliasStory/BannmalHandSepia"),
                    content.Load<Texture2D>("Assets/Sprites/OpheliasStory/BannmalHandSepia - Kopie"),
                    content.Load<Texture2D>("Assets/Sprites/OpheliasStory/BannmalFußSepia - Kopie"),
                    content.Load<Texture2D>("Assets/Sprites/OpheliasStory/BannmalFußSepia"),
                };
            }
            #endregion

            //Skybox
            //Skybox
            //Background crystal sun
               // skybox = new SkyBox(new Vector3(0, 0, -13), "Assets/Skybox/cube_hell", content);
            background = content.Load<Texture2D>("Assets/Skybox/Skybox-Back");
            background2 = content.Load<Texture2D>("Assets/Skybox/Skybox-Left");
            background3 = content.Load<Texture2D>("Assets/Skybox/Skybox-Front");
            background4 = content.Load<Texture2D>("Assets/Skybox/Skybox-Right");
            background5 = content.Load<Texture2D>("Assets/Skybox/Skybox-Bottom - Kopie (2)");//für back(y)
            background7 = content.Load<Texture2D>("Assets/Skybox/Skybox-Bottom - Kopie");//für left(y)
            background9 = content.Load<Texture2D>("Assets/Skybox/Skybox-Bottom");//für front(y)
            background10 = content.Load<Texture2D>("Assets/Skybox/Skybox-Bottom - Kopie (3)");//für front(y)

            //crystal black
            background8 = content.Load<Texture2D>("Assets/Skybox/black");
            background11 = content.Load<Texture2D>("Assets/Skybox/grey");

            //Player
            ghost = new Character(Vector3.Zero, "skull", content);

            if (isCrystal)
            {
                player = new CharacterKazumi(new Vector3(0, 0, 5), "Kazumi", content, new BoundingBox(new Vector3(-2.5f, -9f, -2.5f), new Vector3(2.5f, 9f, 2.5f)));
                hud = new KazumiHUD(cont, graphics);
                CharacterKazumi.manaLeft = 3;
            }
            else
            {
                player = new CharacterOphelia(new Vector3(0, 0, 5), "Ophelia", content, new BoundingBox(new Vector3(-2.5f, -9f, -2.5f), new Vector3(2.5f, 9f, 2.5f)));
                hud = new OpheliaHUD(cont, graphics);
                CharacterOphelia.manaLeft = 3;
            }

            //Checkpoints (default = Startposition)
            lastCheckpoint = new Checkpoint(Vector3.Zero, "checkpoint_hell", content);
        }