vb猜数字游戏课程设计报告
猜数字游戏
猜数字游戏实验报告
课程设计的目的
课程设计为学生提供了一个既能动手又能动脑,独立实践的机会,将课本上的vb课理论知识和实践有机的结合起来,锻炼学生的分析解决实际问题的能力、提高运用vb应用的能力。
课程设计题目和简介
猜数字游戏;游戏开始时系统将随机产生一个数字不同的四位数,玩家根据游戏提示纠正答案(1A0B:表示猜中一个数字且位置正确;2A2B:有两个数字正确且位置正确有两个数字正确当位置不正确)输入的数字不能相同也不能为空而且只有十次机会。
设计说明
设计思路
首先要创建三个窗口,form1是进入游戏界面,form2是游戏运行界面,form3是游戏规则介绍。
其次要按要求实现三个窗口的show与hide在代码为 Private Sub command*_click() form*.show Form*.hide End sub
在form3中我没有用这种方法,因为在form3中又关闭按钮,如果想之前一样的话,按关闭按钮就直接退出游戏了,而我想要实现 是再次回到游戏进入界面,所以有用了一个方法 代码为: Private sub form_unload(Cancle as integer) Form1.show End sub
这样子就防止之前那种情况的发生了 下一步开始创建控件
现在form1中创建游戏进入界面,根据游戏需要应该创建3个command控件,和一个label控件
然后开始编写代码 代码如下 Private Sub Command1_Click() Form1.Hide form2.Show End Sub
Private Sub Command2_Click() Form1.Hide Form3.Show End Sub
Private Sub Command3_Click() End End Sub
Private Sub Form_Load()
Label1.BackStyle = 0 把label1的背景方式改为透明 End Sub
当然也可以在form1的界面上加上自己喜欢的图片,需要在picture中加载
然后在form3中设计游戏规则界面
这个界面中我把最大化与最化省去了,然后把关闭按钮编写了一下 在form3的属性栏中吧minbutton和maxbutton的属性改为false这
样子就不会有最大最小化按钮了剩下的就编写代码了 Private Sub Form_Load() Label1.BackStyle = 0 End Sub
Private Sub Form_unload(Cancle As Integer) Form1.Show End Sub
也可以在form3界面中加载自己喜欢的图片
下面的也是这个程序中最重要的程序——游戏的编写 首先应该创建控件
也就是说要创建4个command控件和4个text控件2个label控件 然后开始编写代码
Dim a1 As Integer, a2 As Integer, a3 As Integer, a4 As Integer Public cishu As Integer
Private Sub Command1_Click() 在点击开始按钮之后command是可见的,可使用的
Command2.Enabled = True Command3.Enabled = True Randomize 随机产生四个不同的数字 Label2.Caption = 0 & "A" & 0 & "B" 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
Label1.Caption = "已经随机产生了一个数字(0~9)不同的四位数!猜猜是什么数吧!" End Sub
Private Sub Command2_Click() 重新开始游戏的设置 cishu = 0 Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Randomize
Label2.Caption = 0 & "A" & 0 & "B"
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
Label1.Caption = "已经随机产生了一个数字(0~9)不同的四位数!猜猜是什么数吧!" End Sub
Private Sub Command4_Click() End End Sub
Private Sub Form_Load() 可以使command2和command3点击开始游戏按扭之前是灰色的不可用的 Command2.Enabled = False
Command3.Enabled = False Label1.BackStyle = 0 Label2.BackStyle = 0 End Sub
Private Sub Text1_Change() If Len(Text1.Text) = 1 Then Text2.SetFocus End If End Sub
Private Sub text2_change() If Len(Text2.Text) = 1 Then Text3.SetFocus End If End Sub
Private Sub text3_change() If Len(Text3.Text) = 1 Then Text4.SetFocus End If End Sub
Private Sub Command3_Click() Text控件中焦点的设置 猜数字真确与否的代码
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次答案是" & a1 & a2 & a3 & a4, , "猜数字" Exit Sub End If
tmp1 = Val(Text1.Text) tmp2 = Val(Text2.Text) tmp3 = Val(Text3.Text) tmp4 = Val(Text4.Text)
If tmp1 = tmp2 Or tmp1 = tmp3 Or tmp1 = tmp4 Then MsgBox "输入的数字不能相同,请重新输入", 48, "猜数字游戏" End If
If tmp2 = tmp3 Or tmp2 = tmp4 Or tmp2 = tmp1 Then MsgBox "输入的数字不能相同,请重新输入", 16, "猜数字游戏"
End If
If tmp3 = tmp4 Or tmp3 = tmp2 Or tmp3 = tmp1 Then MsgBox "输入的数字不能相同,请重新输入", 64, "猜数字游戏" End If
If tmp4 = tmp1 Or tmp4 = tmp2 Or tmp4 = tmp3 Then MsgBox "输入的数不能相同,请重新输入", 48, "猜数字游戏" 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 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
Label2.Caption = A & "A" & B & "B" If A = 4 Then
MsgBox "恭喜你,你猜对了!" & "你一共猜了" & cishu & "次",, "猜数字游戏" End If End Sub
Private Sub text1_Click() 设置鼠标点解text自动消除数字 Text1.Text = "" End Sub
相关推荐:
- [资格考试]石油钻采专业设备项目可行性研究报告编
- [资格考试]2012-2013学年度第二学期麻风病防治知
- [资格考试]道路勘测设计 绪论
- [资格考试]控烟戒烟知识培训资料
- [资格考试]建设工程安全生产管理(三类人员安全员
- [资格考试]photoshop制作茶叶包装盒步骤平面效果
- [资格考试]授课进度计划表封面(09-10下施工)
- [资格考试]麦肯锡卓越工作方法读后感
- [资格考试]2007年广西区农村信用社招聘考试试题
- [资格考试]软件实施工程师笔试题
- [资格考试]2014年初三数学复习专练第一章 数与式(
- [资格考试]中国糯玉米汁饮料市场发展概况及投资战
- [资格考试]塑钢门窗安装((专项方案)15)
- [资格考试]初中数学答题卡模板2
- [资格考试]2015-2020年中国效率手册行业市场调查
- [资格考试]华北电力大学学习实践活动领导小组办公
- [资格考试]溃疡性结肠炎研究的新进展
- [资格考试]人教版高中语文1—5册(必修)背诵篇目名
- [资格考试]ISO9001-2018质量管理体系最新版标准
- [资格考试]论文之希尔顿酒店集团进入中国的战略研
- 全国中小学生转学申请表
- 《奇迹暖暖》17-支2文学少女小满(9)公
- 2019-2020学年八年级地理下册 第六章
- 2005年高考试题——英语(天津卷)
- 无纺布耐磨测试方法及标准
- 建筑工程施工劳动力安排计划
- (目录)中国中央空调行业市场深度调研分
- 中国期货价格期限结构模型实证分析
- AutoCAD 2016基础教程第2章 AutoCAD基
- 2014-2015学年西城初三期末数学试题及
- 机械加工工艺基础(完整版)
- 归因理论在管理中的应用[1]0
- 突破瓶颈 实现医院可持续发展
- 2014年南京师范大学商学院决策学招生目
- 现浇箱梁支架预压报告
- Excel_2010函数图表入门与实战
- 人教版新课标初中数学 13.1 轴对称 (
- Visual Basic 6.0程序设计教程电子教案
- 2010北京助理工程师考试复习《建筑施工
- 国外5大医疗互联网模式分析




