vb猜数字游戏课程设计报告
更新时间:2023-03-18 13:20:01 阅读量: 教育文库 文档下载
猜数字游戏
猜数字游戏实验报告
课程设计的目的
课程设计为学生提供了一个既能动手又能动脑,独立实践的机会,将课本上的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
Private Sub text2_Click() Text2.Text = "" End Sub
Private Sub text3_Click() Text3.Text = ""
End Sub
Private Sub text4_Click() Text4.Text = "" End Sub
另外需要设置text中数字的大小和输入长度,在font属性栏中设置数字的大小,在maxlength的属性栏中改为1,使在text控件中只能输入一个数字。
做完这些,剩下的就是修饰了, 让这个自己做好的游戏看起来更好看一些,就需要在各个form界面上加载自己喜欢的图片,让界面更丰富一些,不至于太单调,一样的方法,需要在你想添加图片的form控件属性栏中找到picture属性然后加载自己喜欢的图片,需要的话再把不同位置的字体也设置一下,让字体不至于进入图片中找不到
运行结果
进入界面form1
游戏规则
form3
开始游戏界面form2
课程设计体会
实践能够检验是否收获。通过本次课程设计我不仅对课本知识加深了印象和了解,也明白了如何把理论知识运用到现实
中实践,同时也学到了许多有关vb的课外的知识比如在查阅资料过程中我学会了产生随机数的多种方法:一次性随机产生四位数;每次随机产生一个数组合成四位数,可定义动态数组也可定义几个变量去实现。在定义计数变量时把它设为静态变量以及如何使指定的对象什么时候获得焦点等。在完成课程设计过程中锻炼了我分析解决实际问题的能力。开始时并不是很顺利对课本内的知识掌握的不太好,很多知识点被遗忘、不清楚,也暴露出了对vb操作环境的不熟悉,和对一些控件的不熟以及对一些事件属性不了解但通过这次课程设计大半部分出现的问题都得到了解决。设计这款游戏让我更加了解了vb开发环境有用性和前景性更加培养了我对学习visual basic 程序设计的热情和信念。
正在阅读:
vb猜数字游戏课程设计报告03-18
高等师范学校学生教师职业技能训练大纲03-29
浅谈中国SNS网站发展电子商务的可行性及对策分析终稿09-20
基于单片机的多路数据采集系统设计06-16
成都-中国式关系营销(学员版)06-08
荆轲刺秦王英文话剧剧本12-07
对五年制高职语文教育定位的再思考06-10
第六章 - 时间数列练习题及解答04-22
2.3常见的天气系统导学案03-19
会计学专业排名02-07
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 课程
- 数字
- 报告
- 设计
- 游戏
- 中国传统建筑空间组织
- 科技活动室规章制度
- 省政府决策研究招标课题河南省创新型产业集聚区培育机制及成长动力研究申报
- 同性恋婚姻合法化 (辩论赛)
- 大学生网络安全知识竞赛初赛题库(1)
- 第八章分配理论 利息至利润
- 建筑公司行政人事部2011年年度总结及2012工作计划
- 若要将数据由服务器传送至浏览器,可以使用哪个方法_____
- 与宝石结伴而行的人
- 国际经济法05 国际投资法 第六节 国际投资保护
- 四六级作文模板-对立观点
- 村党支部选举的两推一选办法
- 2019-2020学年七年级数学下册 6.1感受可能性学案新版北师大版.doc
- 功率MOSFET高速驱动电路的研究
- 中国古代诗歌散文鉴赏 文学常识
- 初中人教版_历史书上知识点总结(目录版)
- 2011-10营销中心周报表 蔡佳佳
- 代谢综合征患者动脉弹性与脉搏波传导速度测定的临床分析
- 除四害宣传资料
- 最新部编本人教版三年级语文上册口语交际:身边的“小事”优秀教案