if-de :: Forum Foren-Übersicht
Autor Nachricht
<  Glulx-kompatible cyoa.h?
Clive
BeitragVerfasst am: Mo, 5 Jul 2004 - 16:00  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 29.08.2002
Beiträge: 60

Hi, da melde ich mich mal wieder.

Meine Frage: Gibt es eine Glulx-kompatible Version der cyoa.h, der Library-Datei, die auf http://www.textfire.de zur Erstellung von Multiple-Choice-Adventures zur Verfügung steht?

Im Prinzip ist diese Datei ja ziemlich kurz, aber meine eigenen Versuche, sie entsprechend umzuschreiben, sind kläglich gescheitert. Hab noch nicht so den Durchblick bei Glulx.

Es hapert beim Ersetzen der Zeile
Code:
@read_char 1 -> key
und den Save/RestoreGame-Routinen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Martin
BeitragVerfasst am: Di, 6 Jul 2004 - 8:06  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

Achtung, nicht getestet, aber probier einmal folgendes:

Code:

key = KeyCharPrimitive(gg_mainwin, true);


Wenn das nicht klappt, können dir die z-Code- und Glulx-Versionen der Menüs in verblibm vielleicht einen Hinweis geben.
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Clive
BeitragVerfasst am: Di, 6 Jul 2004 - 15:17  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 29.08.2002
Beiträge: 60

Code:

cyoa.h(11): Error:  No such constant as "gg_mainwin"
cyoa.h(11): Error:  No such constant as "KeyCharPrimitive"


Hab natürlich die Standard-Libs (außer infglk.h) nicht inkludiert, weil die sich mit cyoa.h nicht vertragen...
Dass so kein Glulx-Spiel möglich ist, fällt mir jetzt auch auf, aber um eine Glulx-Multiple-Choice-Library von Grund auf neu zu schreiben, fehlen mir die entsprechenden Kenntnisse, fürchte ich.

Es schien auf den ersten Blick so schön einfach. :)
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Florian
BeitragVerfasst am: Di, 6 Jul 2004 - 16:47  Antworten mit Zitat
Gast





Martin hat schon recht:

Zitat:
A new routine has been added to Glulx Inform, KeyCharPrimitive, which returns one character. (It replaces regular Inform's @read_char.) The character will be: a letter, number, function key (F1 - F12), or direction key (Home, etc.) (Constants for these special keys have been provided in infglk.h, so you can compare the character to them.)

http://members.aol.com/doepage/glkdunces2.htm

Du solltest diese Routine in der Glulx Inform-Library heraussuchen und übernehmen.

Code:
@read_char 1 -> key

macht ja nichts als einen Buchstaben von der Tastatur auf die Variable key zu schreiben. Das kann auch unter Glulx nicht so schwer sein...

Viel Erfolg!
Nach oben
Martin
BeitragVerfasst am: Di, 6 Jul 2004 - 16:56  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

Zitat:
Es schien auf den ersten Blick so schön einfach.

Genau. Aber die cyoa.h benutzt natürlich nicht die Standard-Libs, die Konstante gg_mainwin und die Routine KeyCharPrimitive werden in parserm.h definiert. Da habe ich beim schnellen Posten aus der Hüfte nicht dran gedacht, entschuldige bitte.

Hmm, eine Standalone-Routine in Glulx für @read_char zu schreiben, ist wohl nicht ganz trvial. Glulx arbeitet mit Events, und man muss hier auch das Event "Taste gedrückt?" abwarten.

In Andrew Plotkins Game Author's Guide to Glulx Inform ist eine kurze Routine für "Bitte eine Taste drücken" angegeben, also quasi ein abgespecktes @read_char. Auch die Routine KeyCharPrimitive verliert vielleicht einiges an Bedrohlichkeit, wenn man einmal alle Debug-Zeilen herausschmeißt. Die Variable gg_mainwin, die vielleicht anders heißt, brauchst du ja sowieso beim Öffnen des Fensters in der Initialisierung.
_________________
Every silver lining has a cloud.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Martin
BeitragVerfasst am: Di, 6 Jul 2004 - 22:40  Antworten mit Zitat
Experte
Experte


Anmeldungsdatum: 25.08.2002
Beiträge: 677
Wohnort: München

So, nach etwas Herumgewerkel ist nun eine Biplattform-Beta-Version der CYOA-Lib verfügbar. Allerdings funktioniert unter Glulx das Abspeichern und Wiederherstellen von Spielständen (noch) nicht.

Edit: Abspeichern und Wiederherstellen von Spielständen ist jetzt implementiert.
_________________
Every silver lining has a cloud.


Zuletzt bearbeitet von Martin am Do, 15 Jul 2004 - 8:28, insgesamt einmal bearbeitet
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
Clive
BeitragVerfasst am: Mi, 7 Jul 2004 - 14:55  Antworten mit Zitat
Wasserträger
Wasserträger


Anmeldungsdatum: 29.08.2002
Beiträge: 60

Ich bin sprachlos.

Vielen Dank für die Hilfe!
Dann werd ich mal versuchen, alle Änderungen nachzuvollziehen, um einen besseren Einblick in Glulx zu bekommen, und ein kleines Testspiel dazu schreiben.

Nochmal danke!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
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