[英]Application doesnt exist in C# console and I want to restart the console
我做了一個子手游戲,我想能夠在您輸了之后重新啟動它,而不是每次都必須手動重新啟動程序。
我在互聯網上看到了“應用程序”,可用於重新啟動控制台。 但是,它說應用程序不存在。
Close();
System.Diagnostics.Process.Start(Application.ExecutablePath);
請幫我!
我認為您確實不需要重新啟動控制台應用程序來重新啟動游戲。 這是可以使用的可能的游戲重新啟動方案:
class Program
{
static void Main(string[] args)
{
Game game = new Game();
Menu menu = new Menu(game);
game.Finished += menu.AskAndRun;
menu.Welcome();
}
}
class Menu
{
public readonly IRunnable runnable;
public Menu(IRunnable runnable)
{
this.runnable = runnable;
}
public void Welcome()
{
Console.WriteLine("Welcome, Player!");
AskAndRun();
}
public void AskAndRun()
{
Console.WriteLine("\nTo play a new game, press [ENTER]");
Console.ReadLine();
Console.Clear();
runnable.Run();
}
}
interface IRunnable
{
void Run();
}
class Game : IRunnable
{
public event Action Finished;
public void Run()
{
Console.WriteLine("Game started here...");
Console.WriteLine("Oops! Game finished already");
if (Finished != null)
{
Finished();
}
}
}
如您所見, Game
類與現在由Menu
類處理的重啟邏輯分離。 現在,引入新功能(例如退出和計算已啟動游戲的數量)變得微不足道了。
注意Menu
不依賴Game
的事實。 這取決於IRunnable
,這將幫助您IRunnable
更改Game
,測試Menu
並引入新功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.