Je suis en train de construire un jeu d'aventure à choisir. Maintenant, il est assez facile d'avoir un résultat pour chaque choix et de créer un flux linéaire, mais existe-t-il un bon algorithme pour que toutes les sélections précédentes affectent le résultat suivant? Je pourrais évidemment stocker chaque sélection précédente et avoir de grandes déclarations «IF» à décider, mais je me demandais s'il y avait une meilleure façon?
Une partie de moi se demande si chaque choix devrait avoir un «score», puis je l'utilise (peut-être avec un seuil) pour déterminer quelle devrait être la prochaine action et chaque action est ajoutée au score.
Je fais principalement cela dans swift / SpriteKit mais je pense que c'est plus sur le concept que sur le code à ce stade.
En réponse au commentaire de Josh ci-dessous:
Je suppose que je suis encore dans la phase conceptuelle pour le moment, mais chaque «page» serait soit un objet personnalisé soit un fichier json. Je pensais à votre réponse (maintenant supprimée) et peut-être avoir un peu chaque option ENUM. Ensuite, chaque page pourrait avoir un «score». Ensuite, en utilisant les options précédentes sélectionnées, déterminez quels bits sont définis et cela détermine quelle page. Je suppose que je me demandais simplement s'il existait une solution à ce problème avant de commencer à presque aider à décider comment je devrais mettre en forme 'l'histoire'.
Devinez approximativement le format:
{ "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
}
Merci
if
', else
', switch
'et case
de en espérant que vous aurez terminé avant de perdre votre raison.