Attualmente sto costruendo un gioco di avventura a scelta. Ora è abbastanza facile avere un risultato per ogni scelta e creare un flusso lineare, ma esiste un buon algoritmo per fare in modo che tutte le selezioni precedenti influiscano sul risultato successivo? Potrei ovviamente memorizzare tutte le selezioni precedenti e avere delle grandi dichiarazioni "IF" da decidere, ma mi chiedevo se ci fosse un modo migliore?
Una parte di me si chiede se ogni scelta debba avere un 'punteggio' e quindi lo uso (forse con una soglia) per determinare quale dovrebbe essere la prossima azione e ogni azione viene aggiunta al punteggio.
Lo sto facendo principalmente in swift / SpriteKit ma penso che sia più il concetto che il codice a questo punto.
In risposta al commento di Josh qui sotto:
Suppongo di essere ancora in fase concettuale al momento, ma ogni 'pagina' sarebbe o un oggetto personalizzato o un file json. Stavo pensando alla tua risposta (ora rimossa) e forse avendo ciascuna opzione ENUM un po '. Quindi ogni pagina potrebbe avere un 'punteggio'. Quindi, utilizzando le opzioni precedenti selezionate, determinare quali bit sono impostati e ciò determina quale pagina. Immagino di essermi solo chiesto se esistesse una soluzione a questo problema prima di iniziare quasi a decidere come formattare la "storia"
Indovina approssimativa nel formato:
{ "text":"You arrive in the dungeon and there are 2 doors",
"options":[
1: "Go left",
2: "Go Right"
],
"score" : 0 // first page
}
{"text" "You went left and meet a dragon",
"options":[
0: "Game over, you were eaten" // something to handle game over
],
"score" : 1
}
{"text" "You meet a mushroom who tells you the princess is in another castle",
"options":[
4: "Give up, game over", // something to handle game over
8: "Jump down the pipe"
],
"score" : 2
}
Grazie
if
"s else
", switch
"s case
" e spero che tu abbia finito prima di perdere la sanità mentale.