ModelingDebug/Program.cs

107 lines
3.4 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System.Runtime.InteropServices;
using System.Text;
using Debug.ModelingMusic;
namespace Debug;
/// <summary>
/// 主程序入口 参考 https://blog.csdn.net/oscar999/article/details/141370223
/// 在VS Code的终端中使用dotnet build命令来编译项目。这将在项目目录中生成一个bin文件夹其中包含编译后的程序集。
/// 使用dotnet run命令来运行项目。这将编译项目如果尚未编译并运行编译后的程序。
/// </summary>
public class Program
{
public static void Main(string[] args)
{
Console.Title = "Tools";//设置窗口标题
// 设置控制台输出编码,以支持复杂字符
Console.OutputEncoding = Encoding.UTF8;
// 切换到英语输入法
Console.Clear();
Console.CursorVisible = false;
new MusicFrom();
// _ = new Program();
}
//Y,X
public static readonly Point[,] chars = new Point[10, 50];
public static bool IsWhile = true;
public const char ShowChar = ' ';
public static Random random = new();
public Program()
{
Console.Clear();
string[] str = ["退出", "抽卡", "搜索引擎", Music.title, "小龙快跑", "贪吃蛇"];
var modeSwitch = new ModeSwitch("<--- 请选择你要执行的操作 --->", str, (a) =>
{
switch (a)
{
case 0:
Environment.Exit(0);
break;
case 1:
_ = new ChouKa();//抽卡
break;
case 2:
_ = new Mod();
break;
case 3:
// _ = new Music();
_ = new MusicFrom();
break;
case 4:
_ = new MinLong.Main();
break;
case 5:
_ = new Tanchishe.Main();
break;
}
}, "作者MuQing \n使用语言C# \n使用IDEVS Code \n使用框架.NET 8.0 \n项目地址https://git.coldmint.top/muqing/ModelingMusicForm.git");
// modeSwitch.SetMessage(";");
}
public static void KeyEndThread()
{
new Thread(() =>
{
while (IsWhile)
{
ConsoleKeyInfo consoleKeyInfo = Console.ReadKey(true);
if (consoleKeyInfo.Key == ConsoleKey.Escape)
{
IsWhile = false;
Thread.Sleep(500);
Console.Clear();
Environment.Exit(0);
return;
}
Thread.Sleep(500);
}
// 等待用户按下任意键后退出
}).Start();
}
/// <summary>
/// 监听键盘事件 注意不要把此方法嵌套在循环里面
/// </summary>
/// <param name="action"></param>
public static void KeyEnd(Action<ConsoleKeyInfo> action)
{
ConsoleKeyInfo consoleKeyInfo = Console.ReadKey(true);
action.Invoke(consoleKeyInfo);
// 等待用户按下任意键后退出
}
public static void ResetChars()
{
for (int i = 0; i < Program.chars.GetLength(0); i++)
{
for (int j = 0; j < Program.chars.GetLength(1); j++)
{
Program.chars[i, j] = new ModelingMusic.Point();
}
}
}
}