FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

Zork

Zork 2002-05-16 21:21
Popcorn
Macht eigentlich noch wer Quatsch damit? Ich meine, wir (ich, meine Gruppe will da aber wohl noch nachziehen) haben zwar erst den ersten Floor, aber die Dungeons kommen noch. Die Befehle sind auch recht bunt. "Posen" sollte jeder haben. Das ist wichtig. Na ja. Dinge mittnehem auch. Aber wie sieht es mit Personen aus, die wild herumlaufen. Hat sich darum schon wer Gedanken gemacht?

Re: Zork 2002-05-17 03:53
Fred
Macht eigentlich noch wer Quatsch damit?
Ich habe ehrlich gesagt keine Ahnung, wovon Du redest [img]http://images.rapidforum.com/images/i16.gif[/img]


Re: Zork 2002-05-17 09:23
Popcorn
Na ja. Man kann die Aufgaben des Zettels lösen. *gähn* Oder man kann selbst ein wenig kreativ werden, Dungeons anlegen, aus denen die Übungsgruppenleiterin befreit werden muss, Drachen welche durch die Mensa laufen oder WCs mit Handtüchern (Ihr wisst ja alle, wie wichtig Handtücher sind). Aber ich vermute mal, Du machst nur die Aufgaben. %)

Re: Zork 2002-05-17 15:29
Amorphus
Hier nimmt doch irgendjemand Drogen…
…und das in so einem schönen Forum.

Re: Zork 2002-05-17 15:43
Popcorn
Ich sollte mal den Hintergrund lila färben.

Re: Zork 2002-05-18 00:07
Anonymer User
Ein paar sinnvolle Erweiterungen:

http://rolands.linux-site.net/cgi-bin/codesnippet.pl?lang=Java%20%28Zork%29

Roland

Re: Zork 2002-05-20 13:49
Princesa
Uebungsleiter befreien? wie pervers is das denn? [img]http://images.rapidforum.com/images/i25.gif[/img]

Re: Zork 2002-05-20 15:18
Popcorn
Man kann natürlich auch gegen den Drachen im Informatikum-Dungeon kämpfen. Anyway. Ich finde Zettel 6 komisch. "Aufgabe für Experten" oder wie es da stand. Das war ja nun nicht wirklich schwierig, das gucken für einzelne Richtungen zu bauen. Aber wie ich dem Programm klarmachen, wo sich die Objekte denn nun momentan aufhalten, da bin ich noch nicht so ganz hintergekommen. Komischer Sache mit dieser HashMap. Erinnert mich zudem eh die ganze Zeit irgendwie an Kekse, Tee oder Joghurt…

Re: Zork 2002-05-25 19:37
Popcorn
Thx to Roland. Deine Erweiterung für kompelxere Commandos kann ich nun gut gebrauchen. Allerdings funktionierte es bei mir erst, nachdem ich

public Command(String firstWord, String secondWord)
{
words = new Vector(2);
words.add(firstWord);
if (secondWord != null) {
words.add(secondWord);
}
}

die if Bedingung hinzugefügt habe. Vorher mochte er keine einzelnen Wörter (quit) mehr.

Re: Zork 2002-05-26 11:10
Popcorn
Hmm. Ich bekomme es einfach nicht hin, von einer anderen Klasse, auf die Informationen in Game zuzugreifen. Ich habe in Game z. B. eine globale Variable namens yourInventory. Die ist protected. Wenn ich jetzt aus der Klasse Lebensformen gucken will, ob in meinem inventory z. B. ein Schwert vorhanden ist, dann erzählt er mir immer was von non-static und kann nicht referenziert werden. :L Ist das nur möglich, wenn ich ihm die Informationen gleich schon aus Game mitgebe? Ich habe jetzt schon so viel ausprobiert und es wird einfach nichts. Und den ganzen Kram schon in Game mit reinzutun, das wird sehr unübersichtlich.

Re: Zork 2002-05-26 13:32
Zaphod
Häää? Was machst du da eigentlich?
Wenn du eine Variable mit 'protected' deklarierst, dann kannst du doch nur von den Unterklassen und der Klasse selbst darauf zugreifen. Ich glaube auch nicht, dass du wirklich direkt auf yourInventory zugreifen willst.
Wenn ich mich richtig erinnere, dann ist yourInventory ein Vektor bzw. Array von String. Es dürfte doch nicht so schwer sein, eine Prozedur in Game zu schreiben, welche mittels eines Parameters überprüft, ob dieser darin ist, oder?
Also: myGame.isInYourInventory("Schwert") //-> #t/#f … hm?

Re: Zork 2002-05-26 13:59
Popcorn
Häää? Was machst du da eigentlich?
Wenn du eine Variable mit 'protected' deklarierst, dann kannst du doch nur von den Unterklassen und der Klasse selbst darauf zugreifen.
Und von allen Klassen im selben Paket.

Ich glaube auch nicht, dass du wirklich direkt auf yourInventory zugreifen willst.
Wenn ich mich richtig erinnere, dann ist yourInventory ein Vektor bzw. Array von String. Es dürfte doch nicht so schwer sein, eine Prozedur in Game zu schreiben, welche mittels eines Parameters überprüft, ob dieser darin ist, oder?
Also: myGame.isInYourInventory("Schwert") //-> #t/#f … hm?
Leider ist yourInventory kein Vektor, sondern ein selbsterstellter Datentyp. Der enthält allerdings den ein oder anderen Vektor.

Re: Zork 2002-05-27 21:25
Slater
wie hiess es doch heute so schön in der vorlesung:

"Der direkte mögliche Zugriff auf (Klassen-) Attribute ist ein Bruch des objektorientierten Kapselungsprinzips."

und das willst du doch nicht etwa, oder, björn? [img]http://images.rapidforum.com/images/i24.gif[/img]



Re: Zork 2002-05-27 21:45
Popcorn
Mein Programm, meine Regeln. %)

Na inzwischen habe ich es auch anders geschafft. Glaube ich. Aber wie gesagt. Mein Klassendiagramm sieht wie eine Schatzkarte aus. Alles bezieht sich auf alles. Könnte sein, dass da irgendetwas nicht ganz den Konventionen entspricht. Aber es läuft wunderbar. [img]http://images.rapidforum.com/images/i10.gif[/img]

Re: Zork 2002-05-30 13:51
szlig
Thx to Roland. Deine Erweiterung für kompelxere Commandos kann ich nun gut gebrauchen. Allerdings funktionierte es bei mir erst, nachdem ich

public Command(String firstWord, String secondWord)
{
words = new Vector(2);
words.add(firstWord);
if (secondWord != null) {
words.add(secondWord);
}
}

die if Bedingung hinzugefügt habe. Vorher mochte er keine einzelnen Wörter (quit) mehr.

Du hättest es auch gleich im Quelltext ändern können. Die Standard-Zeile ist:

CodeSnippet | Hinzufügen | Bearbeiten | Löschen ^^^^^^^^^^
Jetzt mach ich's halt selbst.

Re: Zork 2002-05-30 17:25
Slater
ich möcht mal wieder gegen dieses bildchen von roland rebellieren,
auf 800-600 bildschirm ist das recht füllend…

Re: Zork 2002-06-10 11:21
Popcorn
Kann man nicht irgendwie die Pfeile abschalten?

[img]http://www.sternenvolk.de/unimatix/schatzkarte.gif[/img]

Re: Zork 2002-06-10 15:51
Spacelord
Pfeile in BlueJ abschalten: Links unten im Kästchen "View" auf die Häkchen bei "Uses" und "Inheritance" klicken.
Wenn du meinst, dass dein Programm dadurch übersichtlicher wird …
Aber ich schätze bei dir helfen nur Packages, wenn wir die überhaupt benutzen dürfen.