效果图
需求分析
1、界面设计 布局
需要哪些内容控件???
容器概念
集合的概念
2、开始游戏
字母的生成 26个字母 ASCII 码值 -》键盘上任何键都对应一个ASCII码值
回忆:ASCII中 A-Z ??? a-z 97-122
字母载体 控件
字母、位置、大小、颜色
要求随机的
计时器
3、字母从上往下运动
TOP变化
注意:垃圾回收问题-》未消除的字母进行销毁-》释放资源
计时器
4、需要对应的从下往上生成字母子弹-》打掉字母
问题:怎么接受键盘输入的字母???
a、处理怎么和键盘交互-》键盘相关事件
b、字母需要转换-》ASCII
c、知识点:事件参数:EventArgs e
d、子弹从下往上运动
5、添加动画效果、音效等
代码如下
//添加panel控件,也就是游戏界面
Panel panel1 = new Panel();
//创建随机
Random sj = new Random();
//设置飞机
PictureBox plane = new PictureBox();
//添加爆炸音效
SoundPlayer sound1 = new SoundPlayer("../../sounds/Bomb.wav");
//创建开始按钮与暂停 继续
Button anniu1 = new Button();
//字母出现 设置计时器1
Timer timer1 = new Timer();
//字母下落 设置计时器2
Timer timer2 = new Timer();
int num = 0;
Label lab1 = new Label();
private void Form1_Load(object sender, EventArgs e)
{
//设置窗体大小
this.Width = 1000;
this.Height = 700;
//设置窗体居中显示
int x = Screen.PrimaryScreen.WorkingArea.Width / 2 - this.Width / 2;
int y = Screen.PrimaryScreen.WorkingArea.Height / 2 - this.Height / 2;
this.Location = new Point(x,y);
//设置游戏窗口属性
panel1.Width = 750;
panel1.Height = 650;
panel1.Left = 5;
panel1.Top = 10;
//设置边框样式
panel1.BorderStyle = BorderStyle.Fixed3D;
Controls.Add(panel1);
//选择飞机图片路径
plane.Image = Image.FromFile("../../img/plane1.png");
//设置控件与图片自适应大小
plane.SizeMode = PictureBoxSizeMode.AutoSize;
//设置飞机位置
plane.Location = new Point