vb猜数字游戏课程设计报告
张芸京好听的歌-优柔寡断
东华理工大学
VB课程设计
题目:猜数字游戏
班级:10410111
学号:1041011112
姓名:石头
指导老师:吴强
一、 课程设计的目的
课程设计为学生提供
了一个既能动手又能动脑,独立实践的机
会,将课本上的vb课理论知识和实践有机的结合起来,锻炼学
生的
分析解决实际问题的能力、提高运用vb应用的能力。
二、 课程设计题目和简介 猜数字游戏;游戏开始时系统将随机产生一个数字不同的四位
数,玩家根据游戏提示纠正答案(1A
0B:表示猜中一个数字且
位置正确;2A2B:有两个数字正确且位置正确有两个数字正确
当
位置不正确)输入的数字不能相同也不能为空而且只有十次
机会。
三、 设计说明
1
开始游戏 Randomize产生随机
用户输入值
确定
比较随机值与输入值 给出提示
退出游戏
四、
源代码
进入界面form1
Private Sub
Command1_Click()
Load Form2
[vbModal]
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
2
State = vbMaximized
‘使运行时窗体最大
化
End Sub
准备界面form2
Private Sub Command1_Click()
Load Form3
[vbModal]
End Sub
Private Sub
Command2_Click()
End Sub
Private
Sub Form_Load()
State = vbMaximized
n = 系统
将随机产生一个数字不同的四位数,你可以
根据提示纠正自己的错误但你只有十次机会!准备好了吗?<
br>End Sub
开始游戏界面form3
Dim a1 As Integer,
a2 As Integer, a3 As Integer, a4 As Integer
Private Sub Command1_Click()
Randomize
'初始化随机
3
数发生器
n = 0 &
a1 = Int(10 * Rnd)
'产生随机数
Do
a2 = Int(10 * Rnd)
Loop While a2 = a1
Do
a3 = Int(10
* Rnd)
Loop While a3 = a1 Or a3 = a2
Do
a4 = Int(10 * Rnd)
Loop While
a4 = a1 Or a4 = a2 Or a4 = a3
n =
已经随机产生了一个数字(0~9)不同的四位
数!猜猜是什么数吧!
ze =
45 '设置text文本框内字
的大小
ze
= 45
ze = 45
ze = 45
gth = 1 '定义text文本框内能
输入的长度
gth = 1
4
gth = 1
gth = 1
us
End Sub
Private Sub Command3_Click()
End
End Sub
Private Sub Form_Load()
'使窗体最大
State = vbMaximized
End Sub
Private Sub Text1_Change()
'设置text change 事
件,当前一个文本框输入一个数时则下一个文本框获得焦点
If Len() = 1 Then
us
End If
End Sub
Private Sub
text2_change()
If Len() = 1 Then
us
5
End If
End Sub
Private Sub text3_change()
If Len() = 1 Then
us
End If
End Sub
Private
Sub Command2_Click()
Static cishu
Dim tmp1 As Integer, tmp2 As Integer, tmp3 As
Integer, tmp4
As Integer
Dim A
As Integer, B As Integer
A = 0
B =
0
If cishu = 9 Then
MsgBox 很遗憾
!你已经猜了10次答案是
a4, , 猜数字
Exit Sub
End If
tmp1 = Val() '读取玩家输入的数
tmp2 = Val()
6
tmp3 = Val()
tmp4 = Val()
If
tmp1 = tmp2 Or tmp1 = tmp3 Or tmp1 = tmp4 Then
'使输入的值不能相同,如果相同则给出提示
MsgBox
输入的数字不能相同,请重新输入猜数字游戏
End If
If
tmp2 = tmp3 Or tmp2 = tmp4 Or tmp2 = tmp1 Then
MsgBox 输入的数字不能相同,请重新输入猜数字游戏
End If
If tmp3 = tmp4 Or tmp3 = tmp2 Or tmp3 =
tmp1 Then
MsgBox 输入的数字不能相同,请重新输入猜数字游戏
End If
If tmp4 = tmp1 Or tmp4 = tmp2 Or
tmp4 = tmp3 Then
MsgBox
输入的数不能相同,请重新输入猜数字游戏
End If
cishu =
cishu + 1
If tmp1 = a1 Then
'对玩家输入的数与产生
的随机数进行比较
A = A + 1
ElseIf tmp1 = a2 Or tmp1 = a3 Or tmp1 = a4 Then
B = B + 1
7
End If
If tmp2 = a2 Then
A = A +
1
ElseIf tmp2 = a1 Or tmp2 = a3 Or rmp2 =
a4 Then
B = B + 1
End If
If tmp3 = a3 Then
A = A + 1
ElseIf tmp3 = a1 Or tmp3 = a2 Or tmp3 = a4 Then
B = B + 1
End If
If
tmp4 = a4 Then
A = A + 1
ElseIf
tmp4 = a1 Or tmp4 = a2 Or tmp4 = a3 Then
B = B + 1
End If
n = A &
'把比较出
的结果做出提示
If A = 4 Then
MsgBox 恭喜你,你猜对了!你一共猜了次
猜数字游戏
End If
8
End Sub
Private Sub text1_Click() 'text
click单击事件,清空
文本框内的数据
=
End Sub
Private Sub text2_Click()
=
End Sub
Private Sub text3_Click()
=
End Sub
Private Sub
text4_Click()
=
End Sub
五、
运行结果
进入界面form1
9
准备界面form2
开始游戏界面form4
10
六、 课程设计体会
实践能够检验是否
收获。通过本次课程设计我不仅对课本知识
加深了印象和了解,也明白了如何把理论知识运用到现实中实
践,同
时也学到了许多有关vb的课外的知识比如在查阅资料过程中我学会
了产生随机数的多种
方法:一次性随机产生四位数;每次随机产生一
个数组合成四位数,可定义动态数组也可定义几个变量去
实现。在定
义计数变量时把它设为静态变量以及如何使指定的对象什么时候获
得焦点等。在完成
课程设计过程中锻炼了我分析解决实际问题的能
力。开始时并不是很顺利对课本内的知识掌握的不太好,
很多知识点
被遗忘、不清楚,也暴露出了对vb操作环境的不熟悉,和对一些控
件的不熟以及对
一些事件属性不了解但通过这次课程设计大半部分
出现的问题都得到了解决。设计这款游戏让我更加了解
了vb开发环
境有用性和前景性更加培养了我对学习visual basic
程序设计的热
11
情和信念。
12