Exemplo n.º 1
0
        // -- Starten eines Ortes
        public void LosGehts()
        {
            AusfuehrlicheBeschreibungAusgeben();
            WegbeschreibungAusgeben();

            string kommando;

            do
            {
                // Was will der Spieler tun?
                Console.WriteLine("What do you want to do?");
                kommando = Console.ReadLine();

                // Prüfe ob das kommando als Bewegung erkannt wird
                if (verknuepfungen.ContainsKey(kommando))
                {
                    // Juchu, es ist ein Richtungskommando
                    // Hole den Ort, zu dem dieses Kommando führt
                    Ort neuer_ort = verknuepfungen [kommando];
                    // Ort neuer_ort = verknuepfungen.VGet( kommando );

                    Console.WriteLine();                      // Leerzeile ausgeben
                    neuer_ort.LosGehts();                     // neuen Ort ausführen
                }
                else if (IstCustomCommand(kommando))
                {
                    // Juchu, es ist ein Custom Command
                    BehandleCustomCommand(kommando);
                }
                else if (IstDingKommando(kommando))
                {
                    // Juchu, es ist ein Kommando mit Ding
                    BehandleDingKommando(kommando);
                }
                else if (kommando == "things")
                {
                    // Es ist ein allgemeines Kommando
                    DingListeAusgeben();
                }
                else
                {
                    Console.WriteLine("Hmmm... that seems to be impossible around here.");
                    Console.WriteLine();
                }
            } while (!verknuepfungen.ContainsKey(kommando));
        }
Exemplo n.º 2
0
        // Methode gibt die Liste der Richtungs-
        // kommandos und die damit erreichbaren Räume
        // aus
        //                                          -|
        public void WegbeschreibungAusgeben()
        {
            // Danach gangbare Wege anzeigen
            // Vorgehensweise:
            // Schlaufe durch alle Einträge in verknuepfungen
            // Ausgabe
            // - richtung, in die man gehen kann
            // - name des Ortes, der dann erreicht wird
            foreach (var verknuepfung in verknuepfungen)
            {
                string richtung = verknuepfung.Key;
                Ort    ort      = verknuepfung.Value;
                string name     = ort.name;

                Console.WriteLine("To the " + richtung + " you see " + name);
            }
        }
Exemplo n.º 3
0
 // -- Verknüpfung von Orten
 // Parameter sind - das Schlüsselwort, das weiter führt
 // - eine Instanz des Ortes, wohin die Verknüpfung führt
 public void VerknuepfeOrt(string in_schluessel, Ort in_neuer_ort)
 {
     //verknuepfungen.Add( in_schluessel, in_neuer_ort );
     verknuepfungen[in_schluessel] = in_neuer_ort;
 }