利用C# 窗体设计 写一个抽奖游戏
老师布置了一个任务,要求我们做一个抽奖游戏,以下是我个人制作的一个作品与写项目的过程。
我们用到了8个pictureBox控件和一个button,设置好大小,并且编排成一个九宫个形状
添加窗体的背景图片,并添加button的背景图片和文字“抽奖”,可以将pictureBox的BorderStyle设置为Fixed3D这样更美观。
以下是代码
public partial class Form1 : Form { public Form1() { InitializeComponent(); } , rd, cnt = , a = ; PictureBox[] pic = ]; //定义一个PictureBox的数组 private void Form1_Load(object sender, EventArgs e) { ; ; foreach (Control picB in this.Controls) //遍历窗体中所有PictureBox,并将窗体的PictureBox加入数组中 { if (picB.GetType() == typeof(PictureBox)) { pic[i] = (PictureBox)picB; i++; } } //将奖品的图片加载进对应的PictureBox中 pictureBox1.ImageLocation = @"image/奖品1.jpg"; pictureBox2.ImageLocation = @"image/奖品2.jpg"; pictureBox3.ImageLocation = @"image/奖品3.jpg"; pictureBox4.ImageLocation = @"image/奖品4.jpg"; pictureBox5.ImageLocation = @"image/奖品5.jpg"; pictureBox6.ImageLocation = @"image/奖品6.jpg"; pictureBox7.ImageLocation = @"image/奖品7.jpg"; pictureBox8.ImageLocation = @"image/奖品8.jpg"; } bool b = true; private void button1_Click_1(object sender, EventArgs e) //打开定时器,并生成一个随机数 { timer1.Enabled = true; Random r = new Random(); rd = r.Next(, ); ) //判断是否是第一次进行抽奖,因为第一次pictureBox大小,位置都是默认的,第二次将是改变的,我们需要恢复 { if (b == true) { b = false; return; } pic[cnt].Location = , pic[cnt].Location.Y + ); } } private void timer1_Tick(object sender, EventArgs e) { == ) //定义一个变量,判断是否是2的倍数,从而实现PictureBox大小的动态变化 { pic[cnt].Size = , ); //改变PictureBox的大小 pic[cnt].BackColor = Color.Red; pic[cnt].Location = , pic[cnt].Location.Y - ); //改变pictureBox的位置,让它处于原图片的中间位置 a++; } == ) { pic[cnt].Size = , ); pic[cnt].Location = , pic[cnt].Location.Y + ); //恢复原位置,以及大小 cnt++; a++; } ) { cnt = ; } == ) //判断生成的随机a的值是否比生成的随机数大,并将对应PictureBox变大,然后停止 { a = ; timer1.Enabled = false; switch (cnt) //转盘停止后判断奖品是什么,并弹出对话框提示用户 { : MessageBox.Show("恭喜您,中奖了!奖品是一部手机"); break; : MessageBox.Show("恭喜您,中奖了!奖品是一副耳机"); break; : MessageBox.Show("恭喜您,中奖了!奖品是5元代金券"); break; : MessageBox.Show("恭喜您,中奖了!奖品是一个蓝牙音箱"); break; : MessageBox.Show("恭喜您,中奖了!奖品是精美礼品一份"); break; : MessageBox.Show("恭喜您,中奖了!奖品是笔记本电脑一台"); break; : MessageBox.Show("恭喜您,中奖了!奖品是遥控飞机一架"); break; : MessageBox.Show("谢谢参与"); break; default: break; } } } }
以上为个人想法,大家如有个好的点子评论留言哟
利用C# 窗体设计 写一个抽奖游戏的更多相关文章
- 利用Python写一个抽奖程序,解密游戏内抽奖的秘密
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 极客挖掘机 PS:如有需要Python学习资料的小伙伴可以加点击下 ...
- Python 写一个俄罗斯方块游戏
使用 Python 的 PyGame 库写一个俄罗斯方块游戏的逐步指南 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手.很多已经做案例的人 ...
- JavaScript写一个拼图游戏
拼图游戏的代码400行, 有点多了, 在线DEMO的地址是:打开: 因为使用canvas,所以某些浏览器是不支持的: you know: 为什么要用canvas(⊙o⊙)? 因为图片是一整张jpg或 ...
- Java Web 开发利用Struts2+Spring+mybatis写一个用户登录界面以及简单的数据交互
框架的东西太复杂也难以讲通,直接上代码: 一.首先得配置环境 和导入必要的jar包 有一些重要的如下: Filter文件夹下的SafetyFilter.java model文件夹下的 Global ...
- 利用SpringBoot+Logback手写一个简单的链路追踪
目录 一.实现原理 二.代码实战 三.测试 最近线上排查问题时候,发现请求太多导致日志错综复杂,没办法把用户在一次或多次请求的日志关联在一起,所以就利用SpringBoot+Logback手写了一个简 ...
- 【编程教室】PONG - 100行代码写一个弹球游戏
大家好,欢迎来到 Crossin的编程教室 ! 今天跟大家讲一讲:如何做游戏 游戏的主题是弹球游戏<PONG>,它是史上第一款街机游戏.因此选它作为我这个游戏开发系列的第一期主题. 游戏引 ...
- 如何利用C# Roslyn编译器写一个简单的代码提示/错误检查?
OK, 废话不多说,这些天在写C#代码时突然对于IDE提示有了一些想法,之前也有了解过,不过并没有深入. 先看个截图: 一段再简单不过的代码了,大家注意看到 count 字段下面的绿色波浪线了吗,我们 ...
- (二)如何利用C# Roslyn编译器写一个简单的代码提示/错误检查?
上一篇我们讲了如何建立一个简单的Roslyn分析项目如分析检查我们的代码. 今天我们主要介绍各个项目中具体的作用以及可视化分析工具. 还是这种截图,可以看到解决方案下一共有三个项目. Analyzer ...
- 用C++基础语句写一个五子棋游戏
(这是一个颜色会变化的呦) #include <iostream> using namespace std; int b[][]; int n; int m; void qipan() { ...
随机推荐
- 浅谈 Angular 项目实战
为什么使用 Angular 我不是 Angular 的布道者,但如今痴迷 Angular,使用 Angular 做项目让我有一种兴奋感.目前的三大主流前端框架都研究过,博客中也有三者的相关教程,最早接 ...
- VS2010主题设置及插件推荐
本文主要写了个人使用 VS2010 的一些配置及实用插件,从而打造一个符合个人风格的开发环境. 基础设置 安装 Visual Assist X 在 VS2010 中若不安装 Visual Assist ...
- "=="和 equals 方法究竟有什么区别?
"=="和 equals 方法究竟有什么区别? ==操作符专门用来比较两个变量的值是否相等,也就是用于比较变量所对应的内存中所存储的数值是否相同, 要比较两个基本类型的数据或两个引 ...
- CSS3旋转缩放移动倾斜等效果——transform
1.transform浏览器支持情况 也就是说目前不考虑老浏览器的话是不用加前缀的,感谢菜鸟教程:https://www.runoob.com/cssref/css3-pr-transform.htm ...
- MySQL性能优化神器—explain
一.explain是什么? 简单来讲就是官方给的一个优化工具,直接在你的SQL语句前加上explain,执行整条语句,之后你就可以根据执行结果优化你的SQL啦,废话不多说,直接刚实例 测试实例 1.创 ...
- es6中常用方法
查询数组中是否包含了某个元素keyword arr.includes(keyword)
- 微信小程序工具类
wechat-common-sdk ? 场景:目前工作中的项目需要包含并使用另一个项目. 也许是第三方库,或者你独立开发的,用于多个父项目的库. 现在问题来了:你想要把它们当做两个独立的项目,同时又想 ...
- django下的xadmin相关设置
后台设置中文在 settings.py LANGUAGE_CODE = 'zh-hans' TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = ...
- 【CSA72G】【XSY3316】rectangle 线段树 最小生成树
题目大意 有一个 \(n\times n\) 的矩阵 \(A\).最开始 \(A\) 中每个元素的值都为 \(0\). 有 \(m\) 次操作,每次给你 \(x_1,x_2,y_1,y_2,w\),对 ...
- bzoj3168 钙铁锌硒维生素 (矩阵求逆+二分图最小字典序匹配)
设第一套为A,第二套为B 先对于每个B[i]判断他能否替代A[j],即B[i]与其他的A线性无关 设$B[i]=\sum\limits_{k}{c[k]*A[k]}$,那么只要看c[j]是否等于零即可 ...