IF-Forum

» IF-Forum - Autorencafé - Schreiben! - Das Fahrzeug "Zug"
AntwortenNeues ThemaNeue Umfrage

Das Fahrzeug "Zug"

Geschrieben um 22:13 am 30.08.2004 | Zitat | Editieren | Löschen
TAG-Amateur
Mitglied
Master Gumby
Beiträge: 103

Ich will einen Zug in mein Spiel definieren,

doch ich weiß nicht wie. Er soll in jedem Zug

eine Station weiterfahren und da sollte man

eben aussteigen können.

Leider steht dazu nichts im Handbuch, Kapitel 10.4.

Also, kann mir da jemand helfen?

Geschrieben um 23:57 am 30.08.2004 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Retired Gumby
Beiträge: 707
<td valign="top"><div class="post"><p>Ein Zug ist kein Fahrzeug im Sinne von T.A.G., das ein Fahrzeug als ein Objekt definiert, das der Spieler betreten kann und das sich dann mit ihm durch die Räume bewegt. Ein Boot halt, ein Fahrrad, ein Skateboard oder ein Reittier. Einen Zug implementiert man wohl besser als einen separaten Raum, dessen Ausgänge sich ändern.</p> <p>Da der Zug einen Fahrplan hat, ändert sich der Raum nach einer vorgeschriebenen Regel, auch wenn der Spieler nicht damit fährt. Deshalb benutzt man hier wohl am besten eine Aktion*. Andere große Fahrzeuge bewegen sich nur nach bestimmten Aktionen des Spielers.</p> <p>Siehe hierzu auch den <a href="http://www.textfire.de/teile/lift.htm">Lift</a> von textfire.de und den <a href="file:///C|/hp_2002/tagtut/tagtut09.htm#sect4">Wanderer</a> aus dem T.A.G.-Tutorium, der eigenständige Dinge tut.</p> <p>Und hier noch ein wenig Code. Nicht besonders gut ausgebaut und etwas unter dem heutigen Standard, aber er funktioniert:</p> <p>&#8220;`</p> <h1>DAT &#8216;normal.adv&#8217;</h1> <p>RaumVar U<em>Bahn</em>Pos</p> <p>Flagge U<em>Bahn</em>Zähler</p> <p>Raum U_Bahn</p> <p>Name &#8216;In der U-Bahn&#8217;</p> <p>Raus aussteigen_bitte</p> <p>Besch Ausf</p> <p>  Text &#8216;Jetzt, um die Mittagszeit, ist wenig los in der</p> <p>    U-Bahn.&#8217;</p> <p>  wenn &#40;U<em>Bahn</em>Pos = 0&#41; dann</p> <p>    Text &#8216;&#91;#&#93;Die U-Bahn fährt durch einen dunklen Tunnel.&#8217;</p> <p>  sonst</p> <p>    Text &#8216;&#91;#&#93;Die U-Bahn hält gerade am Bahnhof</p> <p>    &#8220;&#91;U<em>Bahn</em>Pos&#93;&#8221;.&#8217;</p> <p>  Ende</p> <p>EndeAusf</p> <p>Weg aussteigen_bitte</p> <p>Ausf</p> <p>  Bed /&#40;U<em>Bahn</em>Pos = 0&#41;</p> <p>    &#8216;Du kannst hier nicht aussteigen. Warte, bis der</p> <p>    Zug in einem Bahnhof einfährt.&#8217;</p> <p>  geheZu U<em>Bahn</em>Pos</p> <p>EndeAusf</p> <p>Aktion *</p> <p>Ausf</p> <p>  wenn /&#40;U<em>Bahn</em>Pos = 0&#41; dann</p> <p>    wenn &#40;aRaum = U<em>Bahn</em>Pos&#41;</p> <p>      Text &#8216;&#8220;Zurückbleiben!&#8221;</p> <p>        Mit einem Zischen schließen sich die</p> <p>        Türen und die U-Bahn fährt aus dem Bahnhof.&#8217;</p> <p>    wenn &#40;aRaum = U_Bahn&#41;</p> <p>      Text &#8216;&#8220;Zurückbleiben!&#8221;</p> <p>        Mit einem Zischen schließen sich die</p> <p>        Türen und die U-Bahn setzt ihre Fahrt fort.&#8217;</p> <p>  Ende</p> <p>  Jenach U<em>Bahn</em>Zähler</p> <p>    &#40;1&#41;     sei U<em>Bahn</em>Pos Universität</p> <p>    &#40;4&#41;     sei U<em>Bahn</em>Pos Kirchplatz</p> <p>    &#40;7&#41;     sei U<em>Bahn</em>Pos Adenauerallee</p> <p>    &#40;10&#41;    sei U<em>Bahn</em>Pos Stadion</p> <p>    &#40;12&#41;    lösche U<em>Bahn</em>Zähler</p> <p>    &#40;sonst&#41; sei U<em>Bahn</em>Pos 0</p> <p>  Ende</p> <p>  wenn /&#40;U<em>Bahn</em>Pos = 0&#41; dann</p> <p>    ObjNach U<em>Bahn</em>Deko U<em>Bahn</em>Pos</p> <p>  sonst</p> <p>    ObjNach U<em>Bahn</em>Deko Nirwana</p> <p>  Ende</p> <p>  wenn /&#40;U<em>Bahn</em>Pos = 0&#41; dann</p> <p>    wenn &#40;aRaum = U<em>Bahn</em>Pos&#41;</p> <p>      Text &#8216;Ein Zug fährt in den Bahnhof ein, die Türen</p> <p>        öffnen sich.&#8217;</p> <p>    wenn &#40;aRaum = U_Bahn&#41;</p> <p>      Text &#8216;&#91;#&#93;&#8221;&#91;U<em>Bahn</em>Pos&#93;!&#8221;. Der Zug fährt in einen</p> <p>        Bahnhof ein, die Türen offnen sich.&#8217;</p> <p>  Ende</p> <p>  inkr U<em>Bahn</em>Zähler</p> <p>EndeAusf</p> <p>Obj U<em>Bahn</em>Deko</p> <p>Name &#8216;U-Bahn&#8217; f</p> <p>Vor &#8216;u&#8217;</p> <p>Subst &#8216;bahn&#8217; f, &#8216;zug&#8217; m, &#8216;wagen&#8217; p, &#8216;waggons&#8217; p</p> <p>Besch &#8216;Eine bleue U-Bahn mit drei Wagen.&#8217;</p> <p>Raum Universität</p> <p>Name &#8216;Universität&#8217;</p> <p>rein zusteigen_bitte</p> <p>Besch &#8216;Hier hängen einige Studenten herum.&#8217;</p> <p>Raum Kirchplatz</p> <p>Name &#8216;Kirchplatz&#8217;</p> <p>rein zusteigen_bitte</p> <p>Besch &#8216;Hier hängen einige Junkies herum.&#8217;</p> <p>Raum Adenauerallee</p> <p>Name &#8216;Adenauerallee&#8217;</p> <p>rein zusteigen_bitte</p> <p>Besch &#8216;Geschäftsleute eilen über den Bahnsteig.&#8217;</p> <p>Raum Stadion</p> <p>Name &#8216;Stadion&#8217;</p> <p>rein zusteigen_bitte</p> <p>Besch &#8216;Die Gesänge der Fußballfans dröhnen überall.&#8217;</p> <p>Weg zusteigen_bitte</p> <p>Ausf</p> <p>  Bed &#40;U<em>Bahn</em>Pos = aRaum&#41;</p> <p>    &#8216;Im Moment ist kein Zug im Bahnhof.&#8217;</p> <p>  gehezu U_Bahn</p> <p>EndeAusf</p> <p>&#8220;`</p> </div></td>
Geschrieben um 14:30 am 31.08.2004 | Zitat | Editieren | Löschen
TAG-Amateur
Mitglied
Master Gumby
Beiträge: 103

Dankeschön!

Nur eine Frage habe ich noch:

Wie macht man es, dass wenn der Zug

an einer Endstation ankommt, er dann

auch wieder zurückfährt, und das auch

auf anderen Schienen. Also ich meine

es genau so, wie es bei der Atuobahn ist.

Es gibt Gegenverkehr. Und so soll auch der

Zug definiert sein. Also, dass es zwei Schienen

gibt. auf der einen fährt der Zug in die eine, auf

der anderen eben in die andere Richtung. Das

heißt aber auch, dass man zwei Bahnsteige braucht.

Wie definiert man dann die noch dazu?

Klingt ziemlich komplex, ich hoffe aber, dass du es verstehst! :-)

Geschrieben um 15:45 am 31.08.2004 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Retired Gumby
Beiträge: 707

Naja, wenn du sowieso zwei getrennte Bahnsteige pro Bahnhof hast, also zwei verschiedene Räume, z.B. HbfWest und HbfOst, dann kannst du diesen Code übernehmen, denn die Strecke ist dann ja nichts als ein degenerierter Ring.

Weitere Verfeinerungen des Codes überlasse ich aber dir, denn sonst schreibe ich lieber selbst ein Spiel mit einem Zug.

Geschrieben um 16:39 am 01.09.2004 | Zitat | Editieren | Löschen
TAG-Amateur
Mitglied
Master Gumby
Beiträge: 103
<td valign="top"><div class="post"><p><strong>Martin:</strong></p> <blockquote> <p>&#8220;`</p> </blockquote> <p>Weg zusteigen_bitte</p> <p>Ausf</p> <p>  Bed &#40;U<em>Bahn</em>Pos = aRaum&#41;</p> <p>    &#8216;Im Moment ist kein Zug im Bahnhof.&#8217;</p> <p>  gehezu U_Bahn</p> <p>EndeAusf</p> <p>&#8220;`</p> <p>Da gibt&#8217;s aber leider noch ein Problem.</p> <p>Könntest du mir bitte nur noch einmal helfen?</p> <p>Also, der Zug ist gerade im Bahnhof, aber auf</p> <p>dem anderen Bahnsteig, den man von dem einen</p> <p>aus sehen kann. Dann soll ja nicht auf die Eingabe</p> <p><strong>rein</strong> der Satz &#8216;Im Moment ist kein Zug im</p> <p>Bahnhof.&#8217; erscheinen. Wie verändert man denn das?</p> <p>Also, der Satz kann ja stehenbleiben, aber es muss</p> <p>noch die Bedingung folgen, dass der Zug auch nicht</p> <p>am anderen Bahnsteig steht.</p> </div></td>
Geschrieben um 20:50 am 01.09.2004 | Zitat | Editieren | Löschen
Martin
Avatar
Mitglied
Retired Gumby
Beiträge: 707
<td valign="top"><div class="post"><p><strong>Zitat:</strong></p> <blockquote> <p>Könntest du mir bitte nur noch einmal helfen?</p> </blockquote> <p>Na, so war das nicht gemeint. Ich hatte nur den Verdacht, dass du mit deiner Gegenfrage zu schnell warst, ohne den Code ausprobiert zu haben ;-)</p> <p><strong>Zitat:</strong></p> <blockquote> <p>Also, der Zug ist gerade im Bahnhof, aber auf dem anderen Bahnsteig, den man von dem einen aus sehen kann &#8230;</p> </blockquote> <p>Guter Punkt. Ich würde eine zusätzliche Raumvariable <strong>Gegen<em>U</em>Bahn_Pos</strong> oder so - der Name ist noch ausbaufähig - definieren, die den gegenüberliegenden Bahnsteig benennt. Dorthin verschiebe ich eine zweite Zug-Deko, die das Attribut <strong>entfernt</strong> hat.</p> <p>Dann liest sich der Code so:</p> <p>&#8220;`</p> <p>Weg zusteigen_bitte</p> <p>Ausf</p> <p>Bed /&#40;Gegen<em>U</em>Bahn_Pos = aRaum&#41;</p> <p>  &#8216;Der Zug ist am gegenüberliegenden Bahnsteig.&#8217;</p> <p>Bed &#40;U<em>Bahn</em>Pos = aRaum&#41;</p> <p>  &#8216;Im Moment ist kein Zug im Bahnhof.&#8217;</p> <p>gehezu U_Bahn</p> <p>EndeAusf</p> <p>&#8220;`</p> <p>Durch clevere Programmierung könnte man sich auch eine Deko sparen, aber das verkompliziert die Dinge nur.</p> </div></td>
AntwortenNeues ThemaNeue Umfrage
Powered by Spam Board SVN © 2007 - 2021
Impressum / Datenschutz