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 随机数课堂教案(中职版)
一、教学目标
学生通过本节课能够:
- 理解什么是 随机数
- 掌握
Random类的基本用法 - 会使用
Next()生成随机数 - 能结合 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 个小游戏编程练习题》。 特点:
- 难度递进:基础 → 综合
- 适合一个学期练习
- 主要练习:
Random、if、switch、循环、数组 - 适合 中职学生课堂气氛
建议分 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道编程练习题(完整体系)》,很多老师直接用来做 一学期完整题库(难度递进非常合理)。