VB应用程序设计实验报告_第1页
VB应用程序设计实验报告_第2页
VB应用程序设计实验报告_第3页
VB应用程序设计实验报告_第4页
VB应用程序设计实验报告_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE11实验报告课程名称VisualBasic程序设计教程实验项目名称VB应用程序设计班级与班级代码实验室名称(或课室)实验楼401专业任课教师学号:姓名:实验日期:2010年12月20日广东商学院教务处制实验目的和要求熟练掌握并应用VB窗体和常用控件的属性、方法和事件。掌握自定义数据类型的定义和使用,能熟练运用常用内部函数和用户交互函数(Inputbox与Msgbox函数)。掌握顺序结构程序、选择结构程序和循环结构程序设计,进一步理解运用VB应用程序的编程机制。掌握控件数组在程序设计中的应用方法和技巧。掌握菜单设计方法,定时器、图形框和图像框的常用属性、事件、方法及其使用。实验环境WindowsXP操作系统VisualBasic6.0中文版实验内容和原理实验内容:编辑一个小游戏——井字过三关,要求玩家在规定时间内完成该游戏。游戏规则:需要两位玩家,一个打圈“○”,一个打叉“×”,轮流在3乘3的格上打自己的符号,最先以横、竖、斜连成一线则为胜。如果双方都下得正确无误,将得平局。实验分析与原理:用timer设计一个倒计时,可控制玩家在规定时间完成。用9个数组图像控件排成3乘3格子,利用鼠标click事件触发各相应图像框显示圈或叉的图像。利用穷举法分别从横、竖、斜判断每个方格是否为同一图像,从而定出胜利一方。实验设计流程界面设计:考虑到“井字过三关”为儿童益智类游戏,应尽量将界面设计得亲切、可爱,吸引玩家。游戏界面如下图:首先设置窗口的picture属性载入一张可爱背景,同时加上两个载入Q版头像的图形框;为了界面美观,使用菜单编辑器装载开始、退出游戏等功能按键;然后用9个载入白底的图象框作为游戏方格;加入几个标签分别显示玩家名称、剩余时间和提示信息等。程序设计:点击菜单中的“开始”进入游戏,让玩家输入各自名称并显示,之后开启并清空全部图像框(变空白),信息框显示提示信息,然后开始计时。代码如下:PrivateSub开始_Click()player1=InputBox("请输入玩家1名称","玩家1","player1")player2=InputBox("请输入玩家2名称","玩家2","player2")Fori=0To8Image(i).Enabled=TrueImage(i).Picture=LoadPicture("bai.jpg")Nextiname1.Caption=player1name2.Caption=player2msg.Caption="提示:"+player1+"先出手"Timer1.Enabled=TrueEndSub游戏中点击“重来”,同样开启并清空全部图像框,然后重新计时。代码如下:PrivateSub重来_Click()Fori=0To8Image(i).Picture=LoadPicture("bai.jpg")Image(i).Enabled=TrueNextiTimer1.Enabled=Truemsg.Caption="提示:"+player1+"先出手"EndSub点击菜单“退出”则立刻退出游戏。代码如下:PrivateSub退出_Click()EndEndSub利用数组控件,即每个图像框控件Image(i)有自己的编号(i从0到8),按3乘3方格从左到右顺序排列安放。游戏中点击各个图像框,将交替出现圈和叉图形,然后进行判断。利用穷举法,从横、竖、交叉方向列出可能出现的各种连成一线的情况,即分出胜负,在提示标签里提示并弹出信息框。另外在判断过程中加入变量以确定是否分出胜负,如果下完全部格子还未分出胜负,则双方以平局结束并提示。代码如下:PrivateSubImage_Click(indexAsInteger)'交替使用圈圈和叉叉Times_number=Times_number+1IfTimes_numberMod2<>0ThenImage(index).Picture=qqmsg.Caption="提示:轮到"+player2+"出手"ElseImage(index).Picture=ccmsg.Caption="提示:轮到"+player1+"出手"EndIf'判断胜负:'从格子横方向进行判断:Fori=0To6Step3IfImage(i).Picture=qqAndImage(i+1).Picture=qqAndImage(i+2).Picture=qqThenwiner=1EndIfIfImage(i).Picture=ccAndImage(i+1).Picture=ccAndImage(i+2).Picture=ccThenwiner=2EndIfNexti'从格子竖方向进行判断:Fori=0To2IfImage(i).Picture=qqAndImage(i+3).Picture=qqAndImage(i+6).Picture=qqThenwiner=1EndIfIfImage(i).Picture=ccAndImage(i+3).Picture=ccAndImage(i+6).Picture=ccThenwiner=2EndIfNexti'从格子两边交叉方向进行判断:IfImage(0).Picture=qqAndImage(4).Picture=qqAndImage(8).Picture=qqThenwiner=1EndIfIfImage(0).Picture=ccAndImage(4).Picture=ccAndImage(8).Picture=ccThenwiner=2EndIfIfImage(2).Picture=qqAndImage(4).Picture=qqAndImage(6).Picture=qqThenwiner=1EndIfIfImage(2).Picture=ccAndImage(4).Picture=ccAndImage(6).Picture=ccThenwiner=2EndIf'结束后不能继续Ifwiner=1Orwiner=2ThenFori=0To8Image(i).Enabled=FalseNextiTimer1.Enabled=False开始.Enabled=TrueEndIf'提示标签显示胜负以及弹出信息框Ifwiner=1Thenmsg.Caption=player1+"胜出"b=MsgBox(player1+"胜利",,"结束")EndIfIfwiner=2Thenmsg.Caption=player2+"胜出"b=MsgBox(player2+"胜利",,"结束")EndIf'下完全部格子没分出胜负:IfTimes_number=9Andwiner=0Thenmsg.Caption="双方平局"开始.Enabled=Truea=MsgBox("双方平局",,"结束")EndIfEndSub为游戏设置倒计时,当超过时间未能完成游戏,则弹出信息框提示玩家并结束游戏。代码如下:PrivateSubTimer1_Timer()Ifm<>0ThenIfs=0Thenm=m-1s=59Elses=s-1EndIfElseIfs<>0Thens=s-1ElseLabel1.Caption="时间结束!"msg.Caption="未完成"c=MsgBox("已超时,请重新开始...",,结束)Timer1.Enabled=FalseFori=0To8Image(i).Enabled=FalseNextiEndIfEndIfIfm<>0Ors<>0ThenLabel1.Caption="剩余时间:"+Str(m)+"分"+Str(s)+"秒"EndIfEndSub调试过程反复运行游戏进行调试,发现各种程序漏洞:还没点击开始就可以在方格进行游戏;可以在同一方格重复点击使其改变……经过多次调试,程序已经相对完善。测试选取的情况及运行结果玩家1取胜,将分为三种练成一线的情形(横、竖、斜)。如图:玩家2取胜,情形如上(横、竖、斜)。如图:双方平局,即下完全部格子,横、竖、斜都未能练成一线。如图:实验报告总结与心得体会这个学期我们学习了VisualBasic程序设计这门课程,它是可视化的、面向对象和采用事件驱动方式的结构化高级程序设计语言,可用于开发Windows环境下的各类应用程序。课程知识的实用性很强,因此实验就显得非常重要。从开始上这门课到现在,已经做了不少的实验。所以在做这次VB应用程序设计的实验前,我以为也是很简单,不就是两下子编好程序然后将实验报告写完就大功告成。直到决定了编写“井字过三关”这一小游戏后,才知道其实不是这么简单的。从游戏界面的设计到实现每个功能的程序代码的编写,无一不是经过反复的验证测试而成功完成的。特别是每一段程序代码的编写,靠的都是细心以及多次的调试修改。为了这个程序及实验报告,实在花费了我不少的时间和精力,不过我相信学到的知识与付出是成正比。通过这次VB应用程序设计实验,不仅加深了我对VB的认识,达到了一些如掌握VB程序设计及编辑等各项实验目的和要求,而且我觉得更重要的是实验过程中培养了我在实践中独立思考、研究问

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论