我一直在編寫一個文本冒險遊戲。程序運行時,調用Boot()
方法,讀取%APPDATA%.ilan \ texert來設置文件(同時只有username.txt)。在Boot()
之後,它轉到MainMenu()
,用戶可以選擇播放,轉到選項或退出。當用戶進入選項菜單並返回時,然後嘗試玩遊戲或返回到選項菜單,遊戲退出,這不應該發生。 Source
Boot()
=線455
MainMenu()
=線579
Main()
=線504
我相信這是因爲int
在方法本身聲明的,因爲該方法被調用多次int
變量將保留其先前值。有沒有什麼辦法解決這一問題?C#調用方法導致程序退出
1
A
回答
0
在第610行,您檢索MainMenu方法的結果,然後在第617行調用您的OptionMenu方法,但是一旦OptionMenu()方法觸發,您不會執行任何其他操作來防止您的應用程序在控制返回時結束到Main()方法。即使你在你的OptionMenu()方法中調用MainMenu(),也沒有什麼評估該調用的結果,所以你只需將菜單寫入控制檯並返回Main()。您需要在Main()方法中放置一個循環,它將重複調用MainMenu()方法,評估選定的結果,其他菜單選項(如OptionMenu())將返回到此循環,而不是自己調用主菜單。類似這樣的:
string whatToDo = "null";
bool exitApp = false;
while (!exitApp)
{
whatToDo = AdvTime.MainMenu();
if (whatToDo.Contains("play"))
{
Menu("null", false);
}
if (whatToDo.Contains("options"))
{
AdvTime.OptionMenu();
}
if (whatToDo.Contains("exit"))
{
exitApp = true;
}
if (whatToDo.Contains("null"))
{
AdvTime.MMError("OM");
}
}
相關問題
- 1. C++ LoadLibrary()導致程序退出
- 2. nodelay()導致python curses程序退出
- 3. 寫入套接字導致「程序退出代碼141」在C
- 4. C++函數指針聲明導致程序退出時
- 5. 調用方法導致
- 6. C#webbrowser控件導致應用程序退出時出現flash.ocx錯誤
- 7. 在應用程序退出之前調用什麼方法?
- 8. 退出C程序
- 9. 數組語句中的方法調用導致程序「掛起」
- 10. 查詢在parse.com導致我的應用程序退出
- 11. Zxing導致應用程序停止並退出
- 12. Debug.Assert正在導致我的應用程序退出
- 13. WP8創建第二拼貼導致應用程序退出
- 14. libxml訪問節點導致應用程序退出的內容
- 15. canvas.DrawRect導致應用程序自動退出
- 16. ASP.NET的DllImport會導致應用程序以退出
- 17. 什麼可能導致iOS應用程序意外退出?
- 18. 從類方法調用的實例方法導致應用程序崩潰
- 19. auto-startup =「false」導致退出進程
- 20. 比較objective-c中的兩個字符串導致應用程序退出
- 21. 退出Qt程序的正確方法?
- 22. 〜vector()退出時導致SIGSEGV
- 23. 正確的方法來退出/退出PyQt程序
- 24. break退出程序 - C++
- 25. 調用公共方法導致NullPointerException - Android
- 26. 方法調用會導致發生
- 27. 運行Qt的程序與腳本導致退出
- 28. 呼叫longjmp導致程序退出與代碼0 msvc 2010
- 29. 變量值導致過早退出程序
- 30. 不安全的圖像處理導致程序退出
您在'public static void Main()'中沒有循環。在這個方法中放置一個斷點並使用一步,然後你會發現哪裏出了問題。編輯:這就是說,你真的需要重新思考你的整個建築... – dialer
我知道我的建築很爛,我只是一個初學者..(我不知道如何改善我的代碼,所以我照原樣) – Ilan321