Ejemplo n.º 1
0
 private static void piirräVaikeustaso(Moottori.Vaikeustasot vaikeustaso, int y, int x, bool valittu)
 {
     Console.SetCursorPosition(x, y);
     piirräVaikustasoPalkki("Helppo", vaikeustaso == Moottori.Vaikeustasot.HELPPO, valittu);
     piirräVaikustasoPalkki("Vaikea", vaikeustaso == Moottori.Vaikeustasot.VAIKEA, valittu);
     piirräVaikustasoPalkki("Ei kannata", vaikeustaso == Moottori.Vaikeustasot.VAIKEIN, valittu);
 }
Ejemplo n.º 2
0
        public static void HahmonLuonti()
        {
            int    valinta        = 0;
            int    maxValinta     = 5;
            int    voima          = 1;
            int    nopeus         = 1;
            int    onnekkus       = 1;
            int    maksimiStatsit = 10;
            int    hp             = 100;
            string nimi           = "";

            Moottori.Vaikeustasot vaikeustaso = Moottori.Vaikeustasot.HELPPO;
            Console.Clear();
            PiirräReunatStringBuilder(4, 2, KonsoliKorkeus - 3, KonsoliLeveys - 5);
            Console.SetCursorPosition(5, 2);
            Console.ForegroundColor = ConsoleColor.DarkGreen;
            Console.Write("Pelihahmon luonti");
            Konsoli.UusiRivi(5);
            Konsoli.UusiRivi(5);
            Console.ResetColor();
            Console.Write("Nimi: ");
            Konsoli.UusiRivi(5);
            Konsoli.UusiRivi(5);
            Console.Write("Vaikeustaso: ");
            Konsoli.UusiRivi(5);
            Konsoli.UusiRivi(5);
            Console.Write("Voima: ");
            Konsoli.UusiRivi(5);
            Console.Write("Nopeus: ");
            Konsoli.UusiRivi(5);
            Console.Write("Onnekkuus: ");
            Konsoli.UusiRivi(20);
            Console.Write(" X jäljellä");



            bool flag = true;

            while (flag)
            {
                piirräNimiKenttä(nimi, 4, 20, valinta == 0);
                piirräVaikeustaso(vaikeustaso, 6, 20, valinta == 1);
                PiirräStatsPalkit(voima, nopeus, onnekkus, 8, 20, valinta, maksimiStatsit);
                PiirräJatkaNappi(voima, nopeus, onnekkus, 15, 5, valinta == 5, maksimiStatsit);

                ConsoleKeyInfo näppäin = Console.ReadKey(true);
                switch (näppäin.Key)
                {
                case ConsoleKey.DownArrow:
                    if (valinta == 0 && nimi.Length < 1)
                    {
                        nimi = "Pekka";
                    }
                    if (valinta == 0 && nimi.ToLower() == "maija")
                    {
                        maksimiStatsit = 15;
                        hp             = 1000;
                        voima          = 5;
                        nopeus         = 5;
                        onnekkus       = 5;
                    }
                    if (valinta == 0 && nimi.ToLower() == "hannu")
                    {
                        maksimiStatsit = 22;
                        voima          = 1;
                        nopeus         = 1;
                        onnekkus       = 20;
                    }

                    if (valinta < maxValinta && !(valinta == maxValinta - 1 && voima + nopeus + onnekkus != maksimiStatsit))
                    {
                        valinta++;
                    }

                    break;

                case ConsoleKey.UpArrow:
                    if (valinta > 0)
                    {
                        valinta--;
                    }
                    if (valinta == 0 && nimi == "Pekka")
                    {
                        nimi = "";
                    }

                    break;

                case ConsoleKey.LeftArrow:
                    if (valinta == 1)
                    {
                        switch (vaikeustaso)
                        {
                        case Moottori.Vaikeustasot.HELPPO:
                            break;

                        case Moottori.Vaikeustasot.VAIKEA:
                            vaikeustaso = Moottori.Vaikeustasot.HELPPO;
                            break;

                        case Moottori.Vaikeustasot.VAIKEIN:
                            vaikeustaso = Moottori.Vaikeustasot.VAIKEA;
                            break;
                        }
                    }
                    else if (valinta == 2 || valinta == 3 || valinta == 4)
                    {
                        switch (valinta)
                        {
                        case 2:         // voima
                            if (voima == 1)
                            {
                                break;
                            }
                            voima--;
                            break;

                        case 3:         // nopeus
                            if (nopeus == 1)
                            {
                                break;
                            }
                            nopeus--;
                            break;

                        case 4:         // onnekkuus
                            if (onnekkus == 1)
                            {
                                break;
                            }
                            onnekkus--;
                            break;
                        }
                    }

                    break;

                case ConsoleKey.RightArrow:
                    if (valinta == 1)
                    {
                        switch (vaikeustaso)
                        {
                        case Moottori.Vaikeustasot.HELPPO:
                            vaikeustaso = Moottori.Vaikeustasot.VAIKEA;
                            break;

                        case Moottori.Vaikeustasot.VAIKEA:
                            vaikeustaso = Moottori.Vaikeustasot.VAIKEIN;
                            break;

                        case Moottori.Vaikeustasot.VAIKEIN:
                            break;
                        }
                    }
                    else if (valinta == 2 || valinta == 3 || valinta == 4)
                    {
                        if (voima + nopeus + onnekkus == maksimiStatsit)
                        {
                            break;
                        }
                        switch (valinta)
                        {
                        case 2:         // voima
                            if (voima >= 5)
                            {
                                break;
                            }
                            voima++;
                            break;

                        case 3:         // nopeus
                            if (nopeus >= 5)
                            {
                                break;
                            }
                            nopeus++;
                            break;

                        case 4:         // onnekkuus
                            if (onnekkus >= 5)
                            {
                                break;
                            }
                            onnekkus++;
                            break;
                        }
                    }

                    break;

                case ConsoleKey.Enter:
                    if (valinta == maxValinta)
                    {
                        Moottori.Pelaaja.Voima     = voima;
                        Moottori.Pelaaja.Nopeus    = nopeus;
                        Moottori.Pelaaja.Onnekkuus = onnekkus;
                        Moottori.Pelaaja.Nimi      = nimi;
                        Moottori.Pelaaja.HP        = hp;
                        Moottori.Pelaaja.MaksimiHP = hp;
                        Moottori.Vaikeustaso       = vaikeustaso;


                        flag = false;
                    }

                    break;

                case ConsoleKey.Backspace:
                    if (valinta == 0 && nimi.Length > 0)
                    {
                        nimi = nimi.Substring(0, nimi.Length - 1);
                    }
                    break;

                default:
                    if (char.IsLetter(näppäin.KeyChar) && nimi.Length < 10)
                    {
                        nimi += näppäin.KeyChar;
                    }
                    break;
                }
            }
        }