コード例 #1
0
ファイル: Program.cs プロジェクト: animptsch/FirstProjects
        private static void NaechsteRunde()
        {
            Console.WriteLine("Sie befinden an Position {0}", hoehle.Spieler.Position);

            Console.Write("An diesem Ort befindet sich ");

            bool andereFigur = false;

            foreach (var figur in hoehle.Figuren)
            {
                if (figur == hoehle.Spieler)
                {
                    continue;
                }
                else
                {
                    if (hoehle.Spieler.Position.Equals(figur.Position))
                    {
                        Console.WriteLine(figur);
                        andereFigur = true;
                    }
                }
            }

            if (!andereFigur)
            {
                Console.WriteLine("nichts.");
            }

            var key = Console.ReadKey();

            himmelsrichtungen richtung = himmelsrichtungen.sueden;

            switch (key.KeyChar)
            {
            case 'w':
                richtung = himmelsrichtungen.norden;
                break;

            case 's':
                richtung = himmelsrichtungen.osten;
                break;

            case 'a':
                richtung = himmelsrichtungen.westen;
                break;

            case 'y':
                richtung = himmelsrichtungen.sueden;
                break;

            default:
                Console.WriteLine("Unbekanter Befehl");
                break;
            }

            hoehle.Spieler.Gehen(richtung);
        }
コード例 #2
0
        public void Gehen(himmelsrichtungen himmelsrichtung)
        {
            switch (himmelsrichtung)
            {
            case himmelsrichtungen.norden:
                if (Position.Y > 0)
                {
                    Position.Y--;
                }
                break;

            case himmelsrichtungen.osten:
                if (Position.X < Hoehle.Laenge)
                {
                    Position.X++;
                }
                break;

            case himmelsrichtungen.sueden:
                if (Position.Y < Hoehle.Breite)
                {
                    Position.Y++;
                }
                break;

            case himmelsrichtungen.westen:
                if (Position.X > 0)
                {
                    Position.X--;
                }
                break;

            default:
                break;
            }
        }