Skip to main content

3月14日 Random 类

幸运抽奖“开盲盒”

要求:设计一个模拟商场抽奖的程序。提示用户输入“开”来启动盲盒。使用 Random 类生成一个 1 到 5 之间的随机整数。根据随机数的结果输出不同的奖品:

  1. 恭喜!获得【特等奖:雷神笔记本】
  2. 恭喜!获得【一等奖:机械键盘】
  3. 恭喜!获得【二等奖:无线鼠标】
  4. 遗憾!获得【参与奖:谢谢惠顾】

输出结果后,询问用户是否继续。

Random rd = new Random();
Console.WriteLine("输入 '开' 启动你的幸运盲盒:");
string action = Console.ReadLine();

if (action == "开")
{
Console.WriteLine("\n盲盒正在开启中...");
System.Threading.Thread.Sleep(1000); // 停顿1秒
int num = rd.Next(1, 6); // 生成 1, 2, 3, 4, 5
switch (num)
{
case 1:
Console.WriteLine("恭喜!获得【特等奖:雷神笔记本】");
break;
case 2:
Console.WriteLine("恭喜!获得【一等奖:机械键盘】");
break;
case 3:
Console.WriteLine("恭喜!获得【二等奖:无线鼠标】");
break;
default:
Console.WriteLine("遗憾!获得【参与奖:谢谢惠顾】");
break;
}
}

猜大小

程序功能 电脑随机生成 1~100 的数字 玩家不断猜 程序提示: 猜大了 猜小了 猜对了 猜对游戏结束

using System;

class Program
{
static void Main()
{
Random r = new Random();

// 生成1~100随机数
int target = r.Next(1, 101);

int guess = 0;

while (guess != target)
{
Console.Write("请输入你猜的数字:");
guess = int.Parse(Console.ReadLine());

if (guess > target)
{
Console.WriteLine("猜大了!");
}
else if (guess < target)
{
Console.WriteLine("猜小了!");
}
else
{
Console.WriteLine("恭喜你猜对了!");
}
}
}
}

猜大小

using System;
using System.Threading; // 使用休眠功能需要这个

class Program
{
static void Main()
{
// 1. 初始化设置
Random rd = new Random();
int bombPassword = rd.Next(1, 101); // 1-100 随机密码
int chances = 5;
bool isDefused = false;

// 设置初始界面:白底黑字,更有“任务单”的严肃感
Console.BackgroundColor = ConsoleColor.White;
Console.ForegroundColor = ConsoleColor.Black;
Console.Clear();

Console.WriteLine("========= 紧急任务:炸弹拆解 =========");
Console.WriteLine($"警告:密码范围 1-100,你只有 {chances} 次机会!");
Console.WriteLine("======================================");

// 2. 游戏主循环
for (int i = 1; i <= chances; i++)
{
// 输入时恢复默认黑底,方便看清输入的数字
Console.BackgroundColor = ConsoleColor.Black;
Console.ForegroundColor = ConsoleColor.White;

Console.Write($"\n第 {i} 次拆解,请输入密码:");

// 使用最基础的强制转换(假设学生目前输入都是合规数字)
int guess = int.Parse(Console.ReadLine());

if (guess == bombPassword)
{
// 成功:全屏变绿
Console.BackgroundColor = ConsoleColor.Green;
Console.ForegroundColor = ConsoleColor.White;
Console.Clear();
Console.WriteLine("\n\n\n 【 成功 】滴!密码正确,炸弹已拆除!");
Console.WriteLine(" 你拯救了全校同学,你是真正的英雄!");
isDefused = true;
break;
}
else if (guess > bombPassword)
{
// 提示:蓝底白字
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine(" 【提示】高了 ↑ ");
}
else
{
// 提示:蓝底白字
Console.BackgroundColor = ConsoleColor.Blue;
Console.ForegroundColor = ConsoleColor.White;
Console.WriteLine(" 【提示】低了 ↓ ");
}
}

// 3. 结局处理
if (isDefused == false)
{
// 失败闪烁效果:红黑交替
for (int j = 0; j < 3; j++)
{
Console.BackgroundColor = ConsoleColor.Red;
Console.Clear();
Thread.Sleep(200);

Console.BackgroundColor = ConsoleColor.Black;
Console.Clear();
Thread.Sleep(200);
}

// 最终爆炸画面:红底白字
Console.BackgroundColor = ConsoleColor.Red;
Console.ForegroundColor = ConsoleColor.White;
Console.Clear();
Console.WriteLine("\n\n\n 【 轰!!! 】时间到,炸弹爆炸了!");
Console.WriteLine($" 正确密码原为:{bombPassword}");
}

// 扫尾:重置颜色,防止关闭程序后控制台还是红色
Console.ResetColor();
Console.WriteLine("\n\n任务结束,按任意键退出游戏...");
Console.ReadKey();
}
}