Je commence tout juste à apprendre à créer des jeux. J'ai créé un jeu simple basé sur du texte où l'utilisateur peut se promener entre les pièces et interagir avec les objets de chaque pièce. Cependant, j'ai l'impression que mon approche a conduit à une pile de mauvais code de spaghetti. Je ne sais pas quelle serait une bonne façon de structurer un jeu comme celui-ci.
Mon approche était d'avoir une classe avec une méthode pour chaque pièce et tous les objets et interactions qui pouvaient être faits dans cette pièce. Par exemple, voici la méthode pour l'étude:
public static void Study()
{
bool studyexited = false;
while (!studyexited) {
string usercommand = Console.ReadLine ();
usercommand.ToLower ();
switch (usercommand) {
case "turn left":
GameEventText.StudyLeft ();
break;
case "turn right":
GameEventText.StudyRight ();
break;
case "go forward":
Notes firstsetofclues = new Notes ("First Note");
GameEventText.StudyFront ();
string firststudycommand = Console.ReadLine ();
firststudycommand.ToLower ();
if (firststudycommand == "read note") {
firstsetofclues.Firstnotereading ();
}
Console.WriteLine ("Picking up this note would prove valuable");
string secondstudycommand = Console.ReadLine ();
secondstudycommand.ToLower ();
if (secondstudycommand == "pick up note") {
if (MainClass.PlayerInventory.AddItem (firstsetofclues))
{
Console.WriteLine ("The note has been added to your inventory");
} else {
Console.WriteLine ("Your inventory is full");
}
MainClass.PlayerInventory.Inventorydisplay ();
}
}
}
}
Je ne pense pas que ce soit une approche qui évoluera; c'est-à-dire que je ne peux pas vraiment écrire des fonctions comme celle-ci pour chaque pièce. Je crois que l'utilisation de fichiers d'une certaine manière serait une bonne stratégie pour éviter le "codage en dur" que je fais actuellement. Mais je ne sais pas comment je peux y arriver?