if-de :: Forum Foren-Übersicht
Autor Nachricht
<  Fehlermeldung: Simple Lösung?
Gurumeditation
BeitragVerfasst am: Di, 12 Jun 2012 - 17:44  Antworten mit Zitat
Nullinger
Nullinger


Anmeldungsdatum: 12.06.2012
Beiträge: 1
Wohnort: Leipzig

Hi eine Freundin von mir bastelt gerade an ein kleines Textadventure das als Konzept dienen soll. Jedoch kommt bei einer bestimmen Funktion immer ein Fehler und wir finden keine richtige Lösung dafür. Danke bereits für eventuelle Lösungsvorschläge =)



Hier erstmal die Codezeilen:

Code:
"Adventure" by xxx

Include German by Team GerX.

Tuer is a door. It is south from Zimmer and north from Raum.
It is lockable and Locked. The matching key of Tuer is Key. Tuer is scenery.

Key is in Raum.

Zimmer is a room. "Zimmer halt."
Raum is a room. "Raum halt."

Schalter is a device in Zimmer. Schalter can be switched on.

if the player schaltet Schalter:
   now Tuer is unlocked;
   say "Ein klicken öffnete die Tür."





Die Fehlermeldung lautet hierbei:

Code:
Problem. You wrote 'if the player schaltet Schalter'  : but the punctuation here ':' makes me think this should be a definition of a phrase and it doesn't begin as it should, with either 'To' (e.g. 'To flood the riverplain:'), 'Definition:', a name for a rule (e.g. 'This is the devilishly cunning rule:'), 'At' plus a time (e.g. 'At 11:12 PM:' or 'At the time when the clock chimes') or the name of a rulebook, possibly followed by some description of the action or value to apply to (e.g. 'Instead of taking something:' or 'Every turn:').
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Herr Rau
BeitragVerfasst am: Di, 12 Jun 2012 - 19:22  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 07.04.2012
Beiträge: 47
Wohnort: München

So eine Bedingung wie das mit dem if kann nicht für sich stehen, sondern muss immer innerhalb einer Methodendefinition oder, wohl häufiger, innerhalb einer Regel stehen.

Code:
Instead of switching on Schalter:
   now...


Oder eher noch:

Code:
After switching on Schalter:
   now...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
FrankS
BeitragVerfasst am: Di, 12 Jun 2012 - 19:30  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 01.02.2011
Beiträge: 81
Wohnort: Leipzig

Willkommen im Forum (und Grüße aus Leipzig nach Leipzig)!

Die Konstruktion mit "if" funktioniert so nicht.
Es muss heißen:

Code:

Carry out switching on Schalter:
   now Tuer is unlocked;
   say "Ein klicken öffnete die Tür."


Ihr werdet merken, dass das hier noch nicht ganz ideal ist, denn jetzt kommt nach dem Einschalten:

>schalte schalter
Ein klicken öffnete die Tür.
Du schaltest Schalter an.

Mit
Code:
After switching on Schalter:


anstatt "carry out" wird die Standardausgabe überschrieben.

Ein Tipp, falls ihr es noch nicht kennt:
http://www.michaelbaltes.com/IF%20Mariel/IFSMI7.pdf
Hier wird man Stück für Stück in die Spieleprogrammierung mit Inform 7 eingeführt.

Viel Spaß beim Programmieren des Spiels!
_________________
www.text-abenteuer.de


Zuletzt bearbeitet von FrankS am Mi, 13 Jun 2012 - 11:46, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ChristianB
BeitragVerfasst am: Di, 12 Jun 2012 - 22:15  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 05.05.2004
Beiträge: 633
Wohnort: Hamburg

Willkommen im Forum!

Noch mal so als Überblick:

Für jede Aktion gibt es sechs Regelbücher (rulebooks) die in einer vorgeschriebenen Reihenfolge abgearbeitet werden. Und zwar:

1). BEFORE
2.) INSTEAD
3.) CHECK
4.) CARRY OUT
5.) AFTER
6.) REPORT

2, 3 und 5 stoppen die Ausführung der Aktion, deshalb wird z.B. die Standardmeldung, die in 6 ausgegeben wird, nicht mehr gezeigt, wenn man eine After-Regel (5) definiert (wie in Franks Beispiel).

3, 4 und 6 steuern normalerweise das Standardverhalten einer Aktion, wohingegen die anderen für bestimmte Ereignisse im Spiel gedacht sind.

Jetzt kannst Du dir überlegen, wo du bei einer Aktion ansetzen willst, und das entsprechende Regelbuch um Deine neuen Regeln erweitern.
_________________
Worichtung willst du ingehen?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Alle Zeiten sind GMT + 1 Stunde (MEZ)

Nächstes Thema anzeigen
Vorheriges Thema anzeigen
Seite 1 von 1
if-de :: Forum Foren-Übersicht  >  Inform & Glulx

Neues Thema eröffnen   Neue Antwort erstellen


 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.



Kontakt: Administrator

Powered by phpBB and NoseBleed v1.05