Beispiel #1
0
        public static void EinzelnHinzufuegen(int positionX, int positionY, SpielAktion aktionBeiBeruehrung)
        {
            positionX = (positionX % 2 == 0) ? positionX : positionX + 1;

            if (AktionVonObjektAnOrt(positionX, positionY) == SpielAktion.Nichts)
            {
                ObjektListe.Add(new SpielObjekt(positionX, positionY, aktionBeiBeruehrung));
            }
        }
Beispiel #2
0
        public static void MengeHinzufuegen(int anzahl, SpielAktion aktion, bool direktRendern = false)
        {
            for (int i = 0; i < anzahl; i++)
            {
                int randomNumberX;
                int randomNumberY;

                do
                {
                    randomNumberX = Einstellungen.Random.Next(1, Spielfeld.Breite - 2);
                    randomNumberY = Einstellungen.Random.Next(1, Spielfeld.Hoehe - 2);

                    randomNumberX = (randomNumberX % 2 == 0) ? randomNumberX : randomNumberX + 1;
                } while (AktionVonObjektAnOrt(randomNumberX, randomNumberY) != SpielAktion.Nichts);

                ObjektListe.Add(new SpielObjekt(randomNumberX, randomNumberY, aktion));
                if (direktRendern)
                {
                    switch (aktion)
                    {
                    case SpielAktion.Sterben:
                        Program.WriteAt(
                            randomNumberX,
                            randomNumberY,
                            "X",
                            (ConsoleColor)Enum.Parse(typeof(ConsoleColor), Einstellungen.ini.Read("farbeHindernisseSterben", "Spielfeld"))
                            );
                        break;

                    case SpielAktion.LaengerWerden:
                        Program.WriteAt(
                            randomNumberX,
                            randomNumberY,
                            "X",
                            (ConsoleColor)Enum.Parse(typeof(ConsoleColor), Einstellungen.ini.Read("farbeHindernisseLaengerWerden", "Spielfeld"))
                            );
                        break;

                    case SpielAktion.KuerzerWerden:
                        Program.WriteAt(
                            randomNumberX,
                            randomNumberY,
                            "X",
                            (ConsoleColor)Enum.Parse(typeof(ConsoleColor), Einstellungen.ini.Read("farbeHindernisseKuerzerWerden", "Spielfeld"))
                            );
                        break;

                    default:
                        break;
                    }
                }
            }
        }
Beispiel #3
0
        private void SchrittAktion(int neuerKoerperPunktX, int neuerKoerperPunktY, string symbol)
        {
            SpielAktion aktionAnNeuerStelle = AlleObjekte.AktionVonObjektAnOrt(neuerKoerperPunktX, neuerKoerperPunktY);

            if (KoerperKoordinaten.Count > 1 && aktionAnNeuerStelle == SpielAktion.Nichts)
            {
                Program.WriteAt(KoerperKoordinaten[0][0], KoerperKoordinaten[0][1], " ");
                KoerperKoordinaten.RemoveAt(0);
            }
            else if (aktionAnNeuerStelle == SpielAktion.KuerzerWerden)
            {
                if (KoerperKoordinaten.Count < 3)
                {
                    Einstellungen.InGame = false;
                    return;
                }
                else
                {
                    for (int i = 0; i < 2; i++)
                    {
                        Program.WriteAt(KoerperKoordinaten[0][0], KoerperKoordinaten[0][1], " ");
                        KoerperKoordinaten.RemoveAt(0);
                    }
                    AlleObjekte.ObjektAnAndereStelle(neuerKoerperPunktX, neuerKoerperPunktY);
                }
            }
            else if (aktionAnNeuerStelle == SpielAktion.LaengerWerden)
            {
                AlleObjekte.ObjektAnAndereStelle(neuerKoerperPunktX, neuerKoerperPunktY);
                LaengsteLaenge = KoerperKoordinaten.Count + 1;
            }
            else if (aktionAnNeuerStelle == SpielAktion.Sterben)
            {
                Einstellungen.InGame = false;
                return;
            }
            KoerperKoordinaten.Add(new int[2] {
                neuerKoerperPunktX, neuerKoerperPunktY
            });
            Program.WriteAt(neuerKoerperPunktX, neuerKoerperPunktY, symbol, SchlangenFarbe);
        }
Beispiel #4
0
 public SpielObjekt(int positionX, int positionY, SpielAktion aktionBeiBeruehrung)
 {
     PositionX = positionX;
     PositionY = positionY;
     Aktion    = aktionBeiBeruehrung;
 }