ModelingDebug/Program.cs

123 lines
3.7 KiB
C#
Raw Normal View History

2024-08-25 09:55:05 +00:00

using System.Diagnostics;
2024-09-24 07:22:11 +00:00
using System.Net;
2024-08-25 09:55:05 +00:00
using System.Runtime.InteropServices;
2024-08-25 23:51:27 +00:00
using System.Text;
2024-08-25 09:55:05 +00:00
using Debug.ModelingMusic;
2025-01-04 11:26:18 +00:00
using ModelingMusic;
2024-08-25 09:55:05 +00:00
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 printf(object a)
{
Console.Write(a);
}
public static void printfLine(object a)
{
Console.WriteLine(a);
}
public static void Main(string[] args)
{
2024-08-28 04:19:44 +00:00
Console.Title = "Tools";//设置窗口标题
2024-08-25 23:51:27 +00:00
// 设置控制台输出编码,以支持复杂字符
Console.OutputEncoding = Encoding.UTF8;
2024-08-30 06:48:22 +00:00
Console.Clear();
Console.CursorVisible = false;
2024-08-25 09:55:05 +00:00
_ = new Program();
}
2024-08-25 23:51:27 +00:00
2024-08-25 23:58:04 +00:00
//Y,X
public static readonly Point[,] chars = new Point[10, 50];
2024-08-25 23:51:27 +00:00
public static bool IsWhile = true;
2024-08-25 23:58:04 +00:00
2024-08-28 04:19:44 +00:00
public const char ShowChar = ' ';
2024-08-29 01:05:13 +00:00
public static Random random = new();
2024-08-25 23:58:04 +00:00
2024-08-25 09:55:05 +00:00
public Program()
{
2024-10-12 02:47:46 +00:00
Console.Clear();
2025-01-04 11:26:18 +00:00
string[] str = ["退出", "抽卡", "搜索引擎", Music.title, "小龙快跑", "贪吃蛇"];
2024-10-12 02:47:46 +00:00
var modeSwitch = new ModeSwitch("<--- 请选择你要执行的操作 --->", str, (a) =>
2024-08-25 23:58:04 +00:00
{
2024-08-28 00:56:27 +00:00
switch (a)
2024-08-27 13:52:00 +00:00
{
case 0:
Environment.Exit(0);
break;
case 1:
2024-10-12 02:47:46 +00:00
_ = new ChouKa();//抽卡
2024-08-27 13:52:00 +00:00
break;
case 2:
_ = new Mod();
break;
case 3:
2025-01-04 11:26:18 +00:00
// _ = new Music();
_ = new MusicFrom();
2024-08-28 00:56:27 +00:00
break;
2024-08-28 04:19:44 +00:00
case 4:
_ = new MinLong.Main();
break;
2024-10-12 02:47:46 +00:00
case 5:
_ = new Tanchishe.Main();
break;
2024-08-27 13:52:00 +00:00
default:
printfLine("还没有这个功能");
break;
}
2025-01-04 11:26:18 +00:00
}, "作者MuQing \n使用语言C# \n使用IDEVS Code \n使用框架.NET 8.0 \n项目地址https://git.coldmint.top/muqing/ModelingMusicForm.git");
// modeSwitch.SetMessage(";");
2024-08-25 23:58:04 +00:00
}
public static void KeyEndThread()
{
new Thread(() =>
{
while (IsWhile)
{
ConsoleKeyInfo consoleKeyInfo = Console.ReadKey(true);
if (consoleKeyInfo.Key == ConsoleKey.Escape)
2024-08-25 09:55:05 +00:00
{
2024-08-25 23:58:04 +00:00
IsWhile = false;
Thread.Sleep(500);
Console.Clear();
Environment.Exit(0);
return;
2024-08-25 09:55:05 +00:00
}
2024-08-25 23:58:04 +00:00
Thread.Sleep(500);
2024-08-25 09:55:05 +00:00
}
2024-08-25 23:58:04 +00:00
// 等待用户按下任意键后退出
}).Start();
2024-08-25 09:55:05 +00:00
}
2024-10-12 02:47:46 +00:00
/// <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();
}
}
}
2024-08-25 09:55:05 +00:00
}