| Geschrieben um 04:53 am 19.07.2006 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 28 | Folgende Idee: In einem Zimmer sind viele Moebelstuecke, die man untersuchen kann. Es gilt einen Gegenstand zu finden, der aber per Zufall einem der Moebelstuecke zugewiesen wird. Bei jedem Spiel liegt er also woanders. Ich habe jetzt eine umstaendliche Loesung, indem es bei jedem Moebelstueck eine Prozentchance gibt, dass dort der Gegenstand gefunden wird. Man kann dann aber auch ein Moebelstueck x-mal untersuchen, bis der Gegenstand erscheint. Das geht bestimmt auch eleganter… |
| Geschrieben um 08:06 am 19.07.2006 | Zitat | Editieren | Löschen | |
Mitglied Retired Gumby Beiträge: 707 | <td valign="top"><div class="post"><p><strong>RobinOsaka:</strong></p> <blockquote> <p>Ich habe jetzt eine umstaendliche Loesung, indem es bei jedem Moebelstueck eine Prozentchance gibt, dass dort der Gegenstand gefunden wird. Man kann dann aber auch ein Moebelstueck x-mal untersuchen, bis der Gegenstand erscheint.</p> </blockquote> <p>Ja, diese Lösung ist nicht ideal. Denn man kann nicht nur dasselbe Möbelstück so lange untersuchen, bis man den Gegenstand findet, sondern man kann auch alle vier Möbelstücke untersuchen, ohne dass man überhaupt etwas findet. (Das passiert in mehr als 30% aller Fälle, wenn man jedes der vier Verstecke einmal untersucht und die Chance etwas zu finden pro Möbel 25% ist!)</p> <p>Du solltest am Anfang einmal festlegen, wo dein Objekt versteckt ist, und die in einer Objektvariable festhalten:</p> <p>“`</p> <p>ObjVar Versteck</p> <p>Aktion Anfang</p> <p>Ausf</p> <p> Zufall Versteck (Stuhl Tisch Schrank Bett)</p> <p> …</p> <p>EndeAusf</p> <p>“`</p> <p>Dann prüfst du bei jedem Objekt, ob es das Versteck ist:</p> <p>“`</p> <p>Deko Stuhl</p> <p>Name ‘Stuhl’ m</p> <p>Subst ‘stuhl’ m</p> <p>Ort Billardsalon</p> <p>NachAusf</p> <p> (untersuchen)</p> <p> wenn (Versteck = selbst) dann</p> <p> sei Versteck 0</p> <p> ObjNach Schlüssel1 beimir</p> <p> Text ‘Du findest einen Schlüssel!’</p> <p> Ende</p> <p>EndeAusf</p> <p>Attr Sitz Ablage</p> <p>“`</p> <p>Wenn ja, verschiebe das Objekt zum Spieler und lösche die Referenz auf das Versteck.</p> <p>Dummerweise hast du jetzt denselben Code viermal, bei jedem Möbelstück. Du könntest den Code in eine Aktion auslagern:</p> <p>“`</p> <p>Aktion Möbel_untersuchen</p> <p>Ausf</p> <p> wenn (Versteck = aObj) dann</p> <p> sei Versteck 0</p> <p> ObjNach Schlüssel1 beimir</p> <p> Text ‘Du findest einen Schlüssel!’</p> <p> Ende</p> <p>EndeAusf</p> <p>Deko Stuhl</p> <p>Name ‘Stuhl’ m</p> <p>Subst ‘stuhl’ m</p> <p>Ort Billardsalon</p> <p>NachAusf</p> <p> (untersuchen)</p> <p> Ausf Möbel_untersuchen</p> <p>EndeAusf</p> <p>Attr Sitz Ablage</p> <p>“`</p> <p>(Achtung, hier musst du aObj prüfen!)</p> <p>Oder du könntest eine Objektklasse definieren:</p> <p>“`</p> <p>ObjKlasse Möbel</p> <p>NachAusf</p> <p> (untersuchen)</p> <p> wenn (Versteck = selbst) dann</p> <p> sei Versteck 0</p> <p> ObjNach Schlüssel1 beimir</p> <p> Text ‘Du findest einen Schlüssel!’</p> <p> Ende</p> <p>EndeAusf</p> <p>Attr fest</p> <p>Obj Stuhl (Möbel)</p> <p>Name ‘Stuhl’ m</p> <p>Subst ‘stuhl’ m</p> <p>Ort Billardsalon</p> <p>Attr Sitz Ablage</p> <p>“`</p> <p>Und noch eine Variante, bei der man immer alle vier Möbel untersuchen muss. (Diese Methode wird sehr oft, wahrscheinlich zu oft verwendet.)</p> <p>“`</p> <p>Flagge abgesuchte_Möbel</p> <p>ObjAttr abgesucht</p> <p>ObjKlasse Möbel</p> <p>NachAusf</p> <p> (untersuchen)</p> <p> wenn /(selbst abgesucht) dann</p> <p> AttrHin selbst abgesucht</p> <p> inkr abgesuchte_Möbel</p> <p> wenn (abgesuchte_Möbel = 4) dann</p> <p> ObjNach Schlüssel1 beimir</p> <p> Text ‘Du findest einen Schlüssel!’</p> <p> Ende</p> <p> Ende</p> <p>EndeAusf</p> <p>Attr fest</p> <p>“`</p> </div></td> |
| Geschrieben um 15:43 am 19.07.2006 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 28 | Puh, das muss ich erstmal verdauen. Jedenfalls wieder sehr lehrreich, danke! Vielen Dank fuer die ausfuehrlichen Antworten. Ich bin begeistert, dass dieses Forum lebendig ist und ich diese Hilfsbereitschaft erfahre. Ich werde versuchen mich zu zuegeln, um nicht bei jedem Problem gleich nachzufragen. ;-) |
| Geschrieben um 16:43 am 19.07.2006 | Zitat | Editieren | Löschen | |
Mitglied Student Gumby Beiträge: 28 | Ok, gerafft. Das Meiste zumindest. Nicht klar ist mir der Unterschied zwischen ‘selbst’ und ‘aObj’, warum ist das nicht gleich. Und ‘Aktion’ werde ich mir im Handbuch nochmal durchlesen. |