c#课程设计---猜猜看游戏

1:游戏要求

1. 随机显示 一个名字 与 若干张相片(如3张),选择正确的相片。

2. 记录老师对每个学生的认识概率P,并根据认识概率,确定“猜猜看”游戏中学生出现的频率。

          认识概率P = 识别的准确次数/(识别的准确次数+识别的错误次数

a)   原则1:认识概率 高的学生,在猜猜看游戏中出现的频率相对低一些。

b)   原则2:认识概率 低的学生,在猜猜看游戏中出现的频率相对高一些。

c)   原则3:认识概率 100%的学生,也有出现的可能性。

d)   原则4:认识概率 0%的学生,也不必每次都出现。
请设计一个算法来实现上述原则。

3. 实现课堂考勤的功能,能够根据相片与姓名对部分学生进行考勤(设置一个比例,如考勤30%,50%等);设置可以设计一个算法,类似于目标3,既有随机性,同时每个学生的考勤频率有差异(根据之前考勤的经验)。

2、设计描述:

此系统为猜猜看游戏兼考勤系统   

采用了windows窗体界面设计创建了此系统。 

系统功能包括: 

1、从已设置的学生编号中随机抽取3个编号,并随机显示这三个学生的相片。

2、在设定的文本文件中选取被选中的学生的信息。 

2、记录某一个学号每次被猜的信息及被点名信息。 

3、显示当前被点学号的被猜和被点的信息,以及所有同学被猜和被点信息。 

4、每一个同学最多被点三次,当被点次数超过3时,显示警告窗口,提示用户

重新点名。

5.每次猜对或猜错总数超过10,显示窗口信息,游戏自动结束。

 

3、系统详细设计——控件选取


1、listBox1:用来存放及显示所有同学被点信息。 

2、Button1:就是开始点名按钮,用来控制随机抽数,当点下开始按钮,其会变成停止按钮,按下停止按钮,显示最终被选中的编号和显示选中的学生相片。 

3、Button2:就是用来显示当前被点同学的被点情况。

4、Button3:就是重置按钮,用来清除listBox1中的数据信息。

5、Button4:就是显示listBox1中记录的所有同学被点情况。

6、timer1:用来控制抽取过程中数据在空白处闪动。 

7、label1:用来显示被选编号和学生信息。

8、label2:用来显示猜对的总次数。

9、label3:用来显示猜错的总次数。

10、label4:用来显示游戏名字“猜猜看” 。

11、label5:用来显示编号、个人被点总次数、个人被猜对总次数、个人被猜错总次数的文段。

12、pictureBox1:用来显示arry1[i]数组的图片。

13、pictureBox2:用来显示arry2[i]数组的图片。

14、pictureBox3:用来显示arry3[i]数组的图片。

15、imageList1:用来存储和显示相片

 

4、系统详细设计——代码实现:

1.timer1事件:控制随机选取学号编号,为每一个存储相片的数组抽取一个随机数,并在选出的编号中再随机选取一个编号,作为被猜的编号,同时在已创建的文件中,相对应的读取编号对应的学号的信息。

private void timer1_Tick(object sender, EventArgs e)
        {
            long tick = DateTime.Now.Ticks;
            Random ran = new Random((int)(tick & 0xffffffffL) | (int)(tick >> 32));
            for (int i = 0; i < arry1.Length && i < arry2.Length && i < arry3.Length; i++)
            {
                arry1[i] =
  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值