ERLEDIGT
NEIN
NEIN
ANTWORTEN
0
0
ZUGRIFFE
1386
1386
EMPFEHLEN
-
18.01.11 21:26 #1
- Registriert seit
- Jan 2011
- Ort
- Köln (NRW)
- Beiträge
- 16
hi zusammen. wollte mal fragen, ob mir jemand von euch eine Hilfestellung geben kann, da ich noch nicht allzu lange programmiere und sehr viel Übung brauche.
Ich habe mal ein Bild angehängt, in dem mein Klassenentwurf zu sehen ist.
Vielleicht könntet ihr ja mal einen "Blick" drauf werden, und posten was man in Sachen Kohäsion / Kopplung besser machen muss, da ich wie bereits gesagt noch nicht allzu lange programmiere..
Ich wäre euch zumindest sehr dankbar.
hier mal die Hauptklasse Game zum besseren Verständnis:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace textAdventure2 { public class Game { private Spieler spieler; private EingabeVerarbeitung eingabeVerarbeitung; private Befehlswörter befehlswörter; private Raum aktuellerRaum, wohnungsausgang; private Boolean hilfsvariable; private CenterText consoleWrite = new CenterText(); public static void Main() { Console.Title = "RABI's adventure"; Console.SetWindowSize(72, 32); Game spiel = new Game(); spiel.initialisiere(); spiel.start(); } private void initialisiere() { spieler = new Spieler(); eingabeVerarbeitung = new EingabeVerarbeitung(); befehlswörter = new Befehlswörter(); initialisiereRäume(); willkommensTextAusgeben(); hilfsvariable = false; } private void initialisiereRäume() { Raum küche, flur, bad, wohnzimmer; //Räume erstellen küche = new Raum("Küche", "in der Küche", new List<Gegenstand>(new Gegenstand[] { new Gegenstand("eine ", "Couch", "Sieht schon ziemlich alt aus...", 65), new Gegenstand("einen ", "Tisch", "Bricht bald bestimmt auseinander...", 20) })); flur = new Raum("Flur", "im Flur", new List<Gegenstand>(new Gegenstand[] { new Gegenstand("eine ", "Komode", "Sie hat 2 Schubladen !", 5), new Gegenstand("ein ", "Telefon", "Es ist ein altes Schnurtelefon...", 1) })); bad = new Raum("Bad", "im Bad", new List<Gegenstand>(new Gegenstand[] { new Gegenstand("eine ", "Toilette", "Es liegt noch ******** drin,_jemand hat vergessen die Spülung zu betätigen !", 40) })); wohnzimmer = new Raum("Wohnzimmer","im Wohn-, und Schlafzimmer" , new List<Gegenstand>(new Gegenstand[] { new Gegenstand("ein ", "Bett", "Sieht noch so aus als wäre grade jemand aufgestanden...",40), new Gegenstand("einen ", "Schlüssel","Ahh...da sind ja meine Hausschlüssel !", 1) })); wohnungsausgang = new Raum( "Ausgang", "im Treppenhaus", new List<Gegenstand>(new Gegenstand[] { new Gegenstand("", "Treppen", "Ganz viele Treppen verteilt auf 4.Etagen !!",1000) })); //Durchgänge setzen küche.setzeDurchgänge(new List<Raum> { flur }); bad.setzeDurchgänge(new List<Raum> { flur }); flur.setzeDurchgänge(new List<Raum> { küche, bad, wohnzimmer, wohnungsausgang }); wohnzimmer.setzeDurchgänge(new List<Raum> { flur }); wohnungsausgang.setzeDurchgänge(new List<Raum> { flur }); //Ausgang sperren wohnungsausgang.setzeTür (new Tür ()); //aktuellen Raum setzen aktuellerRaum = bad; } private void start() { Boolean befehlswortGültig = false; while (hilfsvariable == false) { //Wenn der Ausgang bzw. die Wohnungstür verlassen wurde, das Spiel beenden if (aktuellerRaum == wohnungsausgang) { hilfsvariable = true; aktuellerRaum.beschreibeRaum(); gameOver(); break; } aktuellerRaum.beschreibeRaum(); aktuellerRaum.zeigeDurchgänge(); eingabeVerarbeitung.inputEinlesen(spieler.erteiltBefehl()); befehlswortGültig = eingabeVerarbeitung.prüfeBefehlswort(befehlswörter.gibEinträgeInListe()); if (befehlswortGültig) befehlAusführen(eingabeVerarbeitung.gibBefehlswort()); else befehlsWortVerweigern(); Console.Clear(); } } private void befehlAusführen(String befehlswort) { Interaktion interaktion = new Interaktion(); Gegenstand gegenstand, gegenstandInventar; Raum durchgang; Tür durchgangHatVersperrteTür; gegenstand = aktuellerRaum.gibGegenstandWennBekannt(eingabeVerarbeitung.gibWortliste()); gegenstandInventar = spieler.gibGegenstandAusInventarWennBekannt(eingabeVerarbeitung.gibWortliste()); //wenn der Spieler den Gegenstand nicht besitzt wird NULL zurückgeliefert ! durchgang = aktuellerRaum.gibDurchgangWennBekannt(eingabeVerarbeitung.gibWortliste()); //wenn der durchgang nicht existiert, wird NULL zurückgeliefert ! if (durchgang == null) durchgangHatVersperrteTür = null; //und wenns keinen Durchgang gibt, gibts auch keine verperrte Tür... else durchgangHatVersperrteTür = durchgang.hatVersperrteTür(); if ((befehlswort == "betrete") && (durchgang != null) && (durchgangHatVersperrteTür == null)) //wenn ein durchgang exisitert und keine versperrte Tür vorhanden ist aktuellerRaum = interaktion.wechsleRaum(durchgang); else if ((befehlswort == "betrete") && (durchgang != null) && (durchgangHatVersperrteTür != null) && (spieler.besitztSchlüssel()))//wenn ein durchgang existiert, eine verperrte Tür im Weg ist und der Spieler den Schlüssel besitzt aktuellerRaum = interaktion.wechsleRaum(durchgang); else if ((befehlswort == "untersuche") && (gegenstand != null) ) interaktion.untersucheGegenstand(gegenstand); else if ((befehlswort == "nimm") && (gegenstand != null)) interaktion.gegenstandAufnehmen(gegenstand, aktuellerRaum.gibListeGegenstände(), spieler.gibInventarliste()); else if ((befehlswort == "verwerfe") && (gegenstandInventar != null)) interaktion.gegenstandAblegen(gegenstandInventar, aktuellerRaum.gibListeGegenstände(), spieler.gibInventarliste()); else if ((befehlswort == "inventar") && (eingabeVerarbeitung.gibWortliste().Count == 1)) interaktion.zeigeInventar(spieler.gibInventarliste()); else if ((befehlswort == "hilfe") && (eingabeVerarbeitung.gibWortliste().Count == 1)) interaktion.hilfeAusgeben(); else if ((befehlswort == "beende") && (eingabeVerarbeitung.gibWortliste().Count == 1)) hilfsvariable = interaktion.spielBeenden(hilfsvariable); else //wenn der Durchgang versperrt ist if (durchgangHatVersperrteTür != null) { Console.ForegroundColor = ConsoleColor.Red; Console.Write("\n\n"); consoleWrite.centerText("Und wie soll ich wieder reinkommen,_wenn ich meine Hausschlüssel nicht mitnehme ****_Soll ich dann etwa die Tür eintreten oder was ?!"); Console.ReadKey(); Console.ResetColor(); } else zweitesWortVerweigern(); // "durchgangHatVersperrteTür" besser an diese Methode übergeben ? } private void befehlsWortVerweigern() { Console.ForegroundColor = ConsoleColor.Magenta; Console.Write("\n\n\n"); consoleWrite.centerText("Den Befehl versteh ich nicht ! Nochmal bitte..."); Console.ResetColor(); Console.ReadKey(); } private void zweitesWortVerweigern() { Console.ForegroundColor = ConsoleColor.Magenta; Console.Write("\n\n"); consoleWrite.centerText("Wie meinst du das ?"); Console.ResetColor(); Console.ReadKey(); } private void willkommensTextAusgeben() { Console.Write("\n\n\n\n"); consoleWrite.centerText("Ich begrüsse dich zu meinem kleinem Buden-Adventure..."); Console.ForegroundColor = ConsoleColor.DarkGreen; Console.Write("\n\n\n\n"); consoleWrite.centerText("Dieses kleine Programm ermöglicht es dir,"); consoleWrite.centerText("verschiedene Räüme zu erkunden, "); consoleWrite.centerText("Gegenstände zu untersuchen und aufzusammeln."); Console.Write("\n"); consoleWrite.centerText("Dein Ziel ist ganz einfach..."); Console.Write("\n"); consoleWrite.centerText("Du musst die Wohnung verlassen,"); consoleWrite.centerText("ohne dabei deine Hausschlüssel zu vergessen "); consoleWrite.centerText("da du dich sonst aussperrst... "); Console.Write("\n\n\n\n"); Console.ResetColor(); Console.ForegroundColor = ConsoleColor.DarkMagenta; consoleWrite.centerText("Du kannst jederzeit den Befehl : HILFE benutzen,"); consoleWrite.centerText("wenn du grade nicht weiterweisst."); Console.ResetColor(); Console.Write("\n\n\n\n"); consoleWrite.centerText("Wenn alles klar ist, dann drücke eine Taste...."); Console.ReadKey(); Console.Clear(); } private void gameOver() { Console.ForegroundColor = ConsoleColor.Red; Console.Write("\n\n\n\n\n"); consoleWrite.centerText ("Herzlichen Glückwunsch, du hast die Wohnung verlassen,_ohne dabei deinen Hausschlüssel zu vergessen !"); Console.Write("\n"); consoleWrite.centerText ("Somit hast du die Vorgabe von diesem kleinem_ Programm mit Bravur gemeistert."); Console.Write ("\n\n\n"); Console.ForegroundColor = ConsoleColor.DarkCyan; consoleWrite.centerText("Übrigens: Nebenbei konntest du in diesem Programm Gegenstände_ untersuchen, diese aufsammeln und auch ablegen. Wahnsinn oder ****_Ausserdem hat dir das Programm ermöglicht_Räume zu wechseln und dein Inventar aufzurufen..."); Console.ReadKey(); } } }Geändert von pipistrello (15.02.11 um 16:47 Uhr)
Ähnliche Themen
-
Berechnung - Hilfestellung
Von Sasser im Forum PHPAntworten: 7Letzter Beitrag: 03.10.08, 19:15 -
Hilfestellung zu DLL schreiben
Von brewal im Forum C/C++Antworten: 15Letzter Beitrag: 30.01.08, 20:35 -
Hilfestellung bei Schleife
Von chill0r55555 im Forum PHPAntworten: 8Letzter Beitrag: 08.02.07, 14:08 -
Hilfestellung...
Von Waterstorm im Forum Cinema 4DAntworten: 4Letzter Beitrag: 08.09.03, 16:34





Zitieren
Login





