Beispiel #1
0
        public static List <People> FillCityWithPeople(int antalPoliser, int antalTjuvar, int antalMedborgare)     // Metoden som befolkar staden.
        {
            Random        rnd  = new Random();
            List <People> city = new List <People>();

            for (int i = 1; i <= antalPoliser; i++)
            {
                People p = new Polis();
                p.CurrentX  = CityMetoder.StartX();
                p.CurrentY  = CityMetoder.StartY();
                p.MovementX = CityMetoder.MoveX(p.CurrentX);
                p.MovementY = CityMetoder.MoveY(p.CurrentY);
                city.Add(p);
            }

            for (int i = 1; i <= antalTjuvar; i++)
            {
                People t = new Tjuv();
                t.CurrentX  = CityMetoder.StartX();
                t.CurrentY  = CityMetoder.StartY();
                t.MovementX = CityMetoder.MoveX(t.CurrentX);
                t.MovementY = CityMetoder.MoveY(t.CurrentY);
                city.Add(t);
            }

            for (int i = 1; i <= antalMedborgare; i++)
            {
                People c = new Medborgare();
                c.CurrentX  = CityMetoder.StartX();
                c.CurrentY  = CityMetoder.StartY();
                c.MovementX = CityMetoder.MoveX(c.CurrentX);
                c.MovementY = CityMetoder.MoveY(c.CurrentY);
                city.Add(c);
            }

            return(city);
        }
        public static void Main(string[] args)
        {
            // Skapar en lista staden med en metod som tar in de tidigare definierade antalet People av olika slag.
            List <People> city = CityMetoder.FillCityWithPeople(antalPoliser, antalTjuvar, antalMedborgare);

            while (true)                                   // Loopen som innehåller hela "spelet".
            {
                string Message = "";                       // Tänkt att användas för de olika "meddelanden" som dykar upp vid "händelser", men kommer nog slopas.

                string[,] arrayCity = new string[25, 100]; // En 2d-array som är tänkt att använda som "spelbräde"


                for (int h = 0; h < 25; h++) // Bygger den vertikala delen av brädet.
                {
                    Console.Write($"{arrayCity[h, 0]}");

                    for (int w = 0; w < 100; w++) // Bygger den horisontella delen av brädet.
                    {
                        Console.Write($"{arrayCity[0, w]}");
                    }
                }

                foreach (People p in city) // Tänkt att se vad som händer när olika People möter varandra, men än så länge... blaha
                {
                    //if ((((Polis)p).CurrentX) == (((Tjuv)p).CurrentX) && (((Polis)p).CurrentY) == (((Tjuv)p).CurrentY))
                    //{
                    //    Console.Write("X");
                    //    gripnaTjuvar++;
                    //}
                    //else if ((((Medborgare)p).CurrentX) == (((Tjuv)p).CurrentX) && (((Medborgare)p).CurrentY) == (((Tjuv)p).CurrentY))
                    //{
                    //    Console.Write("X");
                    //    rånadeMedborgare++;
                    //}


                    // Följande delar skall se till att ingen faller av brädet utan fortsätter på "andra sidan"

                    if (p.CurrentY < 0)
                    {
                        p.CurrentY = 25;
                    }
                    else if (p.CurrentY > 25)
                    {
                        p.CurrentY = 0;
                    }
                    else if (p.CurrentX < 0)
                    {
                        p.CurrentX = 100;
                    }
                    else if (p.CurrentX > 100)
                    {
                        p.CurrentX = 0;
                    }
                }

                // Här under brädet skall olika meddelanden skrivas ut mellan ronderna.
                Console.WriteLine(Message);
                Console.WriteLine("\nAntal rånade medborgare : " + rånadeMedborgare);
                Console.WriteLine("Antal gripna tjuvar     : " + gripnaTjuvar);


                Thread.Sleep(2000);
                Console.Clear();
                Message = "";
            }
        }