- 7
- 0
- 约1.27万字
- 约 10页
- 2018-08-13 发布于江苏
- 举报
作品名称打地鼠
作品名称:打地鼠
学号:1250249 姓名:邢艺轩 专业:公共管理类
经过一个多学期的VB学习,我做了一个打地鼠游戏的程序,虽然这个程序并不是很完美,但是我也从编写代码中有所体会。有考虑不周的地方,希望老师能多多指教。
1.构思
在制作打地鼠这个游戏时,我想到了以下几点:
1、要用Timer来控制地鼠出现的时间
2、要用随机数来决定哪一只地鼠出现
3、设定两个整型变量来记录总共出现的地鼠数目和打中的地鼠数目
4、运用控件数组和循环结构
5、运用到多个窗体的相互切换
2.作品效果图:
3.设计与分析
1、在From1窗体中加入了17个Picturebox控件,其中第1个和第17个并没有参与到游戏中,一直处于不可见状态,所以将这两个控件的Enabled属性改为False.前16和控件的Image属性为“ds.jpg”最后一个为“yds.jpg”。
2、加入MenuStrip控件,将游戏分为低级,中级,高级三个难度,通过改变Timer.Interval的数值来改变地鼠出现的速度,数值越大,速度越慢,游戏就越简单。
3、添加Textbox控件,用来显示打中地鼠的数目,即得分,十分为满分。再加入Timer控件,先设置Enabled为False。
4、添加“开始”和“结束”按钮。
5、先声明了一个数组pic(17)As Picturebox,由于picturebox的序号是从1开始的,游戏中只会涉及picturebox2到16,所以有几个会用不到。再声明两个整型变量用来计数。
6、Form1_Load中编写 pic(1) = PictureBox1 pic(2) = PictureBox2 一直到pic(17) = PictureBox17 ,将每一个pic(i)对应同样序号的picturebox。
7、在开始的Button_Click中让Timer开始计时,并使得两个技术变量初值为零。并显示“运行中”的字样。按结束键退出游戏。
8、Timer_Click事件中,每发生一次这个事件,就记一次数,将所有的PictureBox全部隐藏,再在2到16中随机抽取一个数,让对应序号的picturebox显示地鼠图片
。当“zonggong”这个变量计数到11时,说明地鼠出现了10个,此时让Timer_Click事件停止运行,到此,以十个地鼠为一轮。如果打中的地鼠数量多于6只则过关,并且与显示过关的窗体切换,反之亦然。
对于PictureBox_Click事件,如果点到的PictureBox是出现的地鼠,那么就将图片换为打晕的地鼠图片,并且累计一次打中地鼠的数目。
三、遇到的问题及解决方法
1、我在高级难度的游戏设计中,为了加大难度,想要让两只地鼠同时出现,用一个Timer是不够用的,所以就用了两个timer,第二个用来控制高级难度的游戏,用了两个随机数来决定哪两只地鼠出现。
2、由于高级难度是后来想要进行修改的,所以当我只添加了定时器2后,运行程序时,我发现,当两只地鼠同时出现,我只要点中其中的任意一只,两只地鼠都会显示是被打晕的,我又检查了一遍程序,发现问题在
Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click, PictureBox3.Click, PictureBox4.Click, PictureBox5.Click, PictureBox6.Click, PictureBox7.Click, PictureBox8.Click, PictureBox9.Click, PictureBox10.Click, PictureBox11.Click, PictureBox12.Click, PictureBox13.Click, PictureBox14.Click, PictureBox15.Click, PictureBox16.Click
Dim i As Integer
For i = 2 To 16 针对参与游戏的15个picturebox
If pic(i).Visible = True Then
pic(i).Image = PictureBox17.Image 如果点中了出现地鼠的picturebox,图像就会变成被打晕的地鼠图像
dazhong = dazhong + 1 被打中的地鼠数累计
End If
Next
End Sub
这
原创力文档

文档评论(0)