Tôi chỉ mới bắt đầu học làm game. Tôi đã tạo ra một trò chơi dựa trên văn bản đơn giản, nơi người dùng có thể đi bộ giữa các phòng và tương tác với các đối tượng trong mỗi phòng. Tuy nhiên, tôi cảm thấy như cách tiếp cận của tôi đã dẫn đến một đống mã spaghetti xấu. Tôi không chắc cách tốt để cấu trúc một trò chơi như thế này sẽ là gì.
Cách tiếp cận của tôi là có một lớp với một phương thức cho mỗi phòng và tất cả các đối tượng và tương tác có thể được thực hiện trong phòng đó. Ví dụ, đây là phương pháp cho nghiên cứu:
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 ();
}
}
}
}
Tôi không cảm thấy như đây là một cách tiếp cận sẽ mở rộng; đó là tôi thực sự không thể viết các chức năng như thế này cho mọi phòng. Tôi tin rằng sử dụng các tệp theo một cách nào đó sẽ là một chiến lược tốt để tránh "mã hóa cứng" mà tôi hiện đang làm. Nhưng tôi không chắc làm thế nào tôi có thể đạt được điều đó?