Example #1
0
        public bool Liiku(KoordinaattiMääreet koordinaatti) // Liikkuminen kartalla
        {                                                   // katsoo jos lemmikki on liikkunut, silloin palauttaa truen
            if (koordinaatti.X < 0 || koordinaatti.X >= Console.WindowWidth)
            {
                return(false); //jos liikuttaa kartalla lemmikkiä
            }
            if (koordinaatti.Y < 0 || koordinaatti.Y >= Console.WindowHeight)
            {
                return(false);
            }

            return(true);
        }
Example #2
0
        public void Liikkuminen(int x, int y)
        {
            KoordinaattiMääreet newSijainti = new KoordinaattiMääreet()
            {
                X = Sijainti.X + x,
                Y = Sijainti.Y + y
            };

            if (Liiku(newSijainti))
            {                   // kysyy Liiku metodilta onko lemmikki liikkunut ja jos on niin silloin :
                PolkuPerässä(); // kutsutaan metodia joka piirtää janaa kartassa liikkuvan lemmikin perässä

                Console.BackgroundColor = ConsoleColor.Red;
                Console.SetCursorPosition(newSijainti.X, newSijainti.Y);
                Console.Write("■"); // Tässä määritellään kuva lemmikin päällä kartassa

                Sijainti = newSijainti;
            }
        }
Example #3
0
        public List <Ruoka> NäytäKartta()
        {
            #region peliin liittyvien muuttujien asettaminen ja pelin käynnistys

            Console.OutputEncoding = Encoding.UTF8;  //mahdollistetaan emojien näyttäminen utf8-koodilla
            RandomRuokaa();
            TyhjennäLöydettyjenLista();

            Console.WindowHeight = 26; // määritellään konsoli-ikkunan korkeus
            Console.WindowWidth  = 64; // määritellään konsoli-ikkunan leveys
            int näytönleveys  = Console.WindowWidth;
            int näytönkorkeus = Console.WindowHeight;

            Random randomnumber = new Random();                  // kutsutaan random luokkaa

            int itemix = randomnumber.Next(1, näytönleveys - 2); //ensimmäisen tavaran lokaatio kun peli käynnistyy
            int itemiy = randomnumber.Next(1, näytönkorkeus - 2);

            //löydettyjen itemien määrä on nyt 0
            int itemisumma = 0;

            do
            {
                KarttaPeli();
            } // Suorittaa karttapeliä niin kauan kunnes kartasta on löydetty kolme tavaraa
            while (itemisumma < 3);
            #endregion

            #region pelin toiminnallisuus

            void KarttaPeli() // Peli käynnistyy
            {
                Taustaväri();
                Itemit();

                Sijainti = new KoordinaattiMääreet()
                {
                    X = 0,
                    Y = 0
                };

                Liikkuminen(0, 0);

                ConsoleKeyInfo Näppäimet; // kuvataan käyttäjän painamia näppäimiä

                while ((Näppäimet = Console.ReadKey(true)).Key != ConsoleKey.Escape)
                {
                    switch (Näppäimet.Key)
                    {
                    case ConsoleKey.UpArrow:     // nuoli ylöspäin
                        Liikkuminen(0, -1);
                        break;

                    case ConsoleKey.RightArrow:     // nuoli oikealle
                        Liikkuminen(1, 0);
                        break;

                    case ConsoleKey.DownArrow:     // nuoli alaspäin
                        Liikkuminen(0, 1);
                        break;

                    case ConsoleKey.LeftArrow:     // nuoli vasemmalle
                        Liikkuminen(-1, 0);
                        break;
                    }

                    if (itemix == Sijainti.X && itemiy == Sijainti.Y) // jos lemmikki ja tavara on samassa kohtaa

                    {
                        itemix = randomnumber.Next(1, näytönleveys - 2); //arvotaan tavaroille uusi paikka
                        itemiy = randomnumber.Next(1, näytönkorkeus - 2);
                        Console.Beep(750, 550);                          // Piippausääni kun kartasta löytää tavaran

                        itemisumma++;

                        Random random = new Random(); // kutsutaan random luokkaa
                        palkinto = random.Next(0, dummyruoat.Count);

                        löydetyt.Add(dummyruoat[palkinto]); // lisätään löydetty tavara dummyruoat listaan

                        Itemit();                           // kutsutaan Itemit metodia

                        return;
                    }
                }

                void Itemit()
                {
                    Console.SetCursorPosition(itemix, itemiy);
                    Console.BackgroundColor = ConsoleColor.Red; // Taustaväri kartassa liikkuvan lemmikin alle
                    Console.Write("X");                         // kuva joka piirtyy kartassa liikkuvan lemmikin päälle
                }
            }

            return(löydetyt);

            #endregion
        }