Skip to main content

3月23日 方法

案例:老虎机

using System;
using System.Threading;

class Program
{
static void Main()
{
Random rand = new Random();
int money = 100;

Console.WriteLine("====== 老虎机小游戏 ======");

while (money >= 10)
{
Console.WriteLine();
Console.WriteLine("当前金币:" + money);
Console.WriteLine("按 Enter 拉动老虎机 (10金币)");
Console.WriteLine("输入 0 退出");

string input = Console.ReadLine();

if (input == "0")
break;

money -= 10;

Console.WriteLine("🎰 老虎机转动中...");

int a = 0, b = 0, c = 0;

// 滚动动画
for (int i = 0; i < 10; i++)
{
a = rand.Next(1, 5);
b = rand.Next(1, 5);
c = rand.Next(1, 5);

Console.Write("\r");
Console.Write(GetIcon(a) + " | " + GetIcon(b) + " | " + GetIcon(c));

Thread.Sleep(150);
}

Console.WriteLine();
Console.WriteLine();

// 判断中奖
if (a == b && b == c)
{
Console.WriteLine("🎉 三个相同!大奖 +50");
money += 50;
}
else if (a == b || a == c || b == c)
{
Console.WriteLine("✨ 两个相同!+20");
money += 20;
}
else
{
Console.WriteLine("很遗憾,没有中奖");
}
}

Console.WriteLine();
Console.WriteLine("游戏结束,剩余金币:" + money);
}

static string GetIcon(int n)
{
switch (n)
{
case 1: return "🍒";
case 2: return "🍋";
case 3: return "🔔";
case 4: return "⭐";
default: return "?";
}
}
}

下面是一份 完整可上课使用的《C# Random 随机数课堂教案》,专门针对 中职生设计。 特点:

  • 课堂 40~45分钟
  • 互动性强
  • 代码简单
  • 从零讲到小游戏

C# Random 随机数课堂教案(中职版)

一、教学目标

学生通过本节课能够:

  1. 理解什么是 随机数
  2. 掌握 Random 类的基本用法
  3. 会使用 Next() 生成随机数
  4. 能结合 if、switch、循环 做简单小游戏

二、课堂导入(5分钟)

老师提问:

老师:如果我想让电脑随机点一个同学回答问题,
电脑怎么做到“随机”?

学生可能回答:

  • 随便选
  • 抽签
  • 摇号

老师总结:

电脑通过“随机数”来实现随机。

引出今天的主题:

C# 如何生成随机数?

三、核心知识讲解(10分钟)

1 创建随机数对象

板书代码:

Random r = new Random();

解释:

代码含义
Random随机数类
r对象名字
new Random()创建随机数对象

2 生成随机数

写法1

r.Next(10)

结果:

0 ~ 9

写法2

r.Next(1,11)

结果:

1 ~ 10

口诀(必须强调):

Next(最小值, 最大值)

左闭右开

四、第一个程序(课堂演示)(5分钟)

随机点名

老师现场写代码:

using System;

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

int num = r.Next(1, 31);

Console.WriteLine("今天回答问题的是:" + num + "号同学");
}
}

运行几次,让学生观察:

5号同学
17号同学
29号同学

课堂互动:

老师:电脑真的随机吗?

学生会觉得有趣。


五、课堂练习(15分钟)

让学生做 3个小游戏


练习1 今日幸运数字

题目

生成 1~100 的幸运数字

示例

你的幸运数字:78

参考代码

Random r = new Random();

int num = r.Next(1,101);

Console.WriteLine("你的幸运数字是:" + num);

练习2 随机奶茶推荐

菜单:

1 珍珠奶茶
2 椰果奶茶
3 抹茶奶茶
4 草莓奶茶
5 巧克力奶茶

要求:

随机推荐一杯。

示例

今天推荐:抹茶奶茶

练习3 猜数字游戏

电脑生成:

1~100

用户猜。

程序提示:

猜大了
猜小了
猜对了

示例

请输入数字:50
猜小了

请输入数字:70
猜大了

请输入数字:63
恭喜猜对

六、课堂高潮小游戏(5分钟)

石头剪刀布

规则:

1 石头
2 剪刀
3 布

电脑随机出拳。

示例

玩家:石头
电脑:剪刀

结果:你赢了!

学生通常会 非常兴奋 😂


七、知识总结(3分钟)

板书总结:

Random r = new Random();

生成随机数:

r.Next(10)     → 0~9
r.Next(1,11) → 1~10

口诀:

左闭右开

八、课后挑战(推荐)

给学生一个小游戏:

老虎机

生成3个数字:

1~5

示例:

3 3 3

规则:

三个一样 → 大奖
两个一样 → 小奖
都不同 → 再来一次

九、课堂教学技巧(经验)

课堂效果最好的顺序:

点名

幸运数字

随机奶茶

猜数字

石头剪刀布

原因:

  • 学生 参与感强
  • 气氛会越来越活跃

十、老师常见错误提醒

错误写法:

Random r;
int num = r.Next(10);

原因:

对象没有创建

正确:

Random r = new Random();

如果你需要,我还可以帮你整理一份 《C#中职课堂最受欢迎的20个小游戏编程题(完整代码版)》,很多老师直接当 一个学期练习题库 使用。

下面给你整理了一份 《中职 C# 课堂最受欢迎的 20 个小游戏编程练习题》。 特点:

  • 难度递进:基础 → 综合
  • 适合一个学期练习
  • 主要练习:Randomifswitch循环数组
  • 适合 中职学生课堂气氛

建议分 4个阶段教学


第一阶段:随机数入门(1~5)

1 随机点名系统

班级有 1~30号学生,程序随机点一名同学回答问题。

示例:

今天回答问题的是:12号同学

知识点:

  • Random
  • Next()

2 今日幸运数字

生成 1~100 的幸运数字

示例:

你的幸运数字是:68

知识点:

  • 随机数范围

3 随机奶茶推荐

菜单:

1 珍珠奶茶
2 抹茶奶茶
3 草莓奶茶
4 椰果奶茶
5 巧克力奶茶

随机推荐一杯。

知识点:

  • switch

4 随机密码生成器

生成 6位随机数字密码

示例:

随机密码:483920

知识点:

  • for循环
  • 字符串拼接

5 随机颜色生成器

随机输出一种颜色:

红色
蓝色
绿色
黄色
紫色

知识点:

  • switch

第二阶段:小游戏(6~10)

6 猜数字游戏

电脑生成 1~100

玩家一直猜直到猜对。

提示:

猜大了
猜小了
猜对了

知识点:

  • while循环

7 石头剪刀布

输入:

1 石头
2 剪刀
3 布

电脑随机出拳。

知识点:

  • if判断

8 抽奖系统

随机生成:

1 一等奖
2 二等奖
3 三等奖
4 谢谢参与

知识点:

  • switch
  • Random

9 今天吃什么

随机推荐午餐:

兰州拉面
炒饭
麻辣烫
水饺
汉堡

知识点:

  • 数组
  • Random

10 老虎机小游戏

生成 3个随机数(1~5)

示例:

2 2 2

规则:

三个一样 → 大奖
两个一样 → 小奖
都不同 → 再来一次

知识点:

  • 多随机数
  • 条件判断

第三阶段:综合小游戏(11~15)

11 幸运转盘

转盘:

一等奖
二等奖
三等奖
再来一次

程序随机转动。

知识点:

  • switch
  • Random

12 双色球模拟器

规则:

6个红球 1~33
1个蓝球 1~16

示例:

红球:03 12 18 22 29 31
蓝球:08

知识点:

  • 循环
  • 随机数

13 随机生成手机验证码

生成 6位验证码

示例:

验证码:739251

知识点:

  • 循环
  • Random

14 数字炸弹

电脑生成 1~100

玩家猜。

如果猜错:

范围缩小

例如:

范围:20~80

知识点:

  • while
  • 逻辑控制

15 掷骰子游戏

模拟 两个骰子

示例:

骰子1:4
骰子2:6
总点数:10

知识点:

  • Random
  • 计算

第四阶段:小项目(16~20)

16 随机生成数学题

生成题目:

8 + 5 = ?

学生输入答案。

知识点:

  • Random
  • 输入输出

17 抽学号做值日

生成:

今天值日:

3号
12号
18号

知识点:

  • 数组

18 随机生成游戏角色

角色属性:

攻击力
防御力
生命值

示例:

攻击:75
防御:63
生命:120

知识点:

  • Random
  • 多变量

19 生成随机英文名

名字库:

Tom
Jack
Lucy
Anna
Mike

随机生成一个名字。

知识点:

  • 数组
  • Random

20 幸运抽奖大转盘(终极)

奖品:

一等奖
二等奖
三等奖
四等奖
谢谢参与

程序随机抽奖。

可以循环抽奖。

知识点:

  • while
  • switch
  • Random

Random 最重要知识总结

创建对象:

Random r = new Random();

生成随机数:

r.Next(10)     → 0~9
r.Next(1,11) → 1~10

口诀:

左闭右开

教学经验(非常重要)

中职课堂 最受欢迎的练习排行

1️⃣ 猜数字 2️⃣ 石头剪刀布 3️⃣ 老虎机 4️⃣ 今天吃什么 5️⃣ 双色球

学生参与度 非常高


如果你愿意,我可以再帮你整理一份 《C#中职课堂100道编程练习题(完整体系)》,很多老师直接用来做 一学期完整题库(难度递进非常合理)