Saya baru mulai belajar membuat game. Saya telah membuat game berbasis teks sederhana di mana pengguna dapat berjalan di antara kamar dan berinteraksi dengan objek di setiap kamar. Namun, saya merasa pendekatan saya telah menyebabkan tumpukan kode spaghetti yang buruk. Saya tidak yakin bagaimana cara yang baik untuk menyusun game seperti ini.
Pendekatan saya adalah memiliki satu kelas dengan metode untuk setiap kamar dan semua objek dan interaksi yang dapat dilakukan di ruangan itu. Sebagai contoh, ini adalah metode untuk penelitian:
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 ();
}
}
}
}
Saya tidak merasa ini adalah pendekatan yang akan berkembang; yaitu, saya tidak bisa menulis fungsi seperti ini untuk setiap kamar. Saya percaya bahwa menggunakan file dengan cara tertentu akan menjadi strategi yang baik untuk menghindari "hard coding" yang saya lakukan saat ini. Tetapi saya tidak yakin bagaimana saya bisa mencapainya?