Last active
March 11, 2024 13:09
-
-
Save fmaida/77d3ce948270a4e818fa2b89003e6f35 to your computer and use it in GitHub Desktop.
Possiible prototipo per un formato semplice e facilmente estendibile con cui poter creare Interactive Fiction (IF). Tutte le spaziature e le tabulazioni sono completamente opzionali, e sono state inserite con l'unico scopo di rendere più semplice la lettura del codice sorgente.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# File: storia/__main__.toml | |
# Descrizione dello scenario | |
# | |
# * La variabile "requirements" richiede che uno o più oggetti | |
# indicati siano nell'inventario dell'utente, per poter | |
# visualizzare il testo. | |
# * Gli oggetti elencati possono anche | |
# essere preceduti da un punto esclamativo (!) per indicare | |
# una condizione di NOT: e cioè, che l'oggetto NON DEVE | |
# essere presente nell'inventario. | |
# * Se non è presente un parametro "requirements", il testo | |
# viene sempre visualizzato | |
[[scenario]] | |
text = """ | |
Nella stanza vedi una tenda. Accanto alle tenda c'è un tavolo. | |
""" | |
# Il testo sottostante viene visualizzato se l'utente non | |
# ha raccolto la pistola (l'oggetto "pistola" NON | |
# COMPARE nell'inventario del giocatore) | |
[[scenario]] | |
requirements = ["!pistola"] | |
text = """ | |
Sopra il tavolo vedi una pistola. | |
""" | |
# Il testo sottostante viene visualizzato se l'utente | |
# ha raccolto la pistola (l'oggetto "pistola" | |
# compare nell'inventario del giocatore) | |
[[scenario]] | |
requirements = ["pistola"] | |
text = """ | |
Il tavolo è vuoto. | |
""" | |
# Scelte a disposizione dell'utente | |
# | |
# * La variabile "requirements" richiede che uno o più oggetti | |
# indicati siano nell'inventario dell'utente, per poter | |
# visualizzare la scelta | |
# * La variabile "goto" indica il percorso (relativo) al file | |
# da aprire dopo aver fatto la scelta corrispondente | |
# * Le variabili "add" e "remove" rispettivamente aggiungono o | |
# rimuovono un'oggetto dall'inventario del giocatore | |
# Questa scelta appare solo se l'utente non ha ancora raccolto | |
# la pistola dal tavolo | |
[[choice]] | |
requirements = ["!pistola"] | |
text = """ | |
Raccogli la pistola | |
""" | |
add = "pistola" | |
goto = "__main__" | |
# Se l'utente ha con se la pistola e scosta le tende, | |
# si salva dall'assassino in agguato dietro la tende. | |
# Nota che la variabile "goto" contiene un array: in | |
# questo modo, la destinazione viene scelta a caso fra | |
# queste due: | |
# 1) "cartella/vivi_esito1.toml" | |
# 2) "cartella/vivi_esito2.toml" | |
[[choice]] | |
requirements = ["gun"] | |
text = """ | |
Scosta le tende | |
""" | |
goto = ["cartella/vivi_esito1", "cartella/vivi_esito2"] | |
# Se l'utente non ha con se la pistola e scosta le tende, | |
# perisce per mano dell'assassino in agguato dietro la tende | |
[[choice]] | |
requirements = ["!gun"] | |
text = """ | |
Scosta le tende | |
""" | |
goto = "cartella/muori" | |
# Se l'utente ha con se la pistola, questa scelta appare | |
[[choice]] | |
requirements = ["gun"] | |
text = """ | |
Rimetti a posto la pistola | |
""" | |
remove = "gun" | |
goto = "__main__" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment