毕业设计-简单小游戏设计—论文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
毕业设计-简单小游戏设计—论文
游戏设计
摘要
随着软件技术以及互联网技术的不断发展,游戏产业发展迅速,已经成为经济
增民的一个亮点。
实践是软件开发的核心,对代码要求精益求精,在开发的过程中,简单设计,用测试驱动,通过重构和迭代代码实现现设计。
本文简要的介绍了游戏的开发现状,以及游戏开发中存在的问题。
另外还简单
地介绍了众多游戏开发软件中的一种——即Visual Basic,其中主要地介绍了
Visual Basic 6.0,以及Visual Basic的编程环境。
同时通过两个小游戏简单介
绍了利用Visual Basic 6.0开发游戏的处理过程。
在本文中主要介绍了24点纸牌和拼拼图游戏的开发,包括界面的设计和相应的界面设计原则,还介绍了其开发环境。
同时也也对游戏系统的公共功能模块做了阐述。
通过对该课题的研究设计,对如何运用Visual Basic来设计游戏有了一定程
度的了解,并对如何设计游戏的构架有所掌握。
关键词:游戏设计;Visual Basic技术;界面设计;模块;算法
Abstract
Along with the software technology as well as the Internet
technology unceasing development, the game industry development is rapid, already became the economy to increase a people's luminescent spot. The practice is a core which software develops, requests to the code to
strive for perfection, in the development process, the simple design, with the test actuation, passed the overweight construction and the iteration code realization presently designs this article brief
introduction game development present situation, as well as the game developed the question which existed.
Moreover also simply introduced the multitudinous game develops in software one kind is Visual Basic, mainly introduced Visual Basic 6.0,
as well as Visual Basic programming environment. Meanwhile simply introduced through two small games uses Visual the Basic 6.0 developments games the treating processes. Mainly introduced in this article 24 playing card and put together the chart game the development, including contact surface design and corresponding contact surface principle of design, but also introduced its development environment.
Simultaneously also also has made the elaboration to the game system public function module through to this topic research design, how to designed the game using Visual Basic to have the certain degree understanding, and how to designed the game the skeleton to have grasps.
Key word: The game designs;Visual Basic technology;contact surface design;
module;algorithm
1
目录
游戏开发的现状分析........................................... 3 第一
章
1.1游戏开发现状 (3)
1.2 游戏开发中存在的问题 ........................................ 4 第二章游戏开发的技术基础 (5)
2.1 Visual Basic技术 (5)
2.1.1游戏开发软件的介绍 (5)
2.1.2 Visual Basic概述 ...................................... 5 2.2 Visual Basic的编程环境.. (6)
2.2.1 Windows下的Visual Basic编程环境 (6)
2.2.2 面向对象的编程 (6)
2.2.3 VB在系统中的应用 ...................................... 8 2.3 小结 . (11)
系统总体规划............................................... 12第三章
3.1 系统功能简介 (12)
3.1.1 24点纸牌简介 (12)
3.1.2 拼拼图简介 (12)
系统开发方法 ............................................... 12 3.2
3.2.1 24点纸牌的开发 (14)
3.2.2 拼拼图的开发.......................................... 23 3.3 系统开发环境 .. (27)
3.3.1 开发平台 (27)
3.3.2 运行平台 (27)
3.3.3 输入输出设计.......................................... 27 3.4 小结 . (28)
第四章系统功能模块设计 (29)
4.1 24点纸牌游戏公共模块 (29)
4.2 拼拼图公共模块 ............................................. 31 4.3
小结 ....................................................... 32 第五章总结与展望.. (33)
5.1 全文总结 (33)
5.2 展望 (33)
参考文献...........................................................
34
致谢.............................................................
35
2
第一章游戏开发的现状分析
1.1游戏开发现状
近两年来中国游戏产业蓬勃发展,新作品不断问世。
吸引了不少有志之士,他们很愿意加入到中国游戏软件开发者的行列中来,但真正能如愿者少之又少,所以现在我们的游戏产业呈很奇特的现象,一方面是急需新血加入,而另方面却是真正能动手开发游戏的人才却如凤毛麟角。
造成这种现象的原因,是游戏制作这一新兴的学科在国内才刚刚兴起,而许多相关资料在国内还很缺乏。
大多数抱有美好愿望的朋友正是因为缺少这些资料才无法如愿以偿。
有鉴于国内大多数计算机刊物虽已经开办了游戏专栏,但登载游戏攻略的文章多,刊出的游戏制作文章少的局面。
自从世界上第一台电子计算机问世以来,电脑游戏就作为一种新生的特有的文化媒体而存在着,电脑游戏世界是一片五彩缤纷的世界,这个世界里每时每刻都发生着许多千奇百怪的故事,因此吸引着无数玩家去探寻、去寻觅。
可能会有许多朋友这样问,这么好玩的游戏是谁做出来的呢?答案只有一个,当然是由人所做出来的。
电脑游戏是由一群或一组想象力丰富并充满工作热情的小伙子们齐心合力做出来的。
说到电脑游戏制作业可算的上是一种新兴的产业,但随着近些年来计算机产业突飞猛进的发展,电脑游戏制作业在国外已经成为继电影娱乐业后的又一大娱乐产业,互动式的游戏参与过程与声光动画特技效果是传统电影业所难与之相匹敌的,一时间竟引无数“英雄”为之折腰,电脑游戏产业因此而受益非浅。
例如著名的3D射击游戏《DOOM毁灭战士》从问世以来就深受玩者欢迎,风靡全球、久盛不衰。
而这套游戏程序的制作者就以其所获收益为后盾,在一个月间买下了三辆名贵跑车,《好莱坞探奇报》在一篇评论文章中认为电脑游戏业将超过电影业成为第一大娱乐产业,并将前述事例作为其依据而引于报章。
3
眼见国外电脑游戏产业经过这几年的发展,取得长足的进步,已经日益壮大,而我国民族电脑游戏产业却因起步较晚,尚还仅处于萌芽阶段。
一些有识之士不由得大声疾呼:“赶快觉醒吧!中国游戏。
”面对此种情况,任何一位有民族心的朋友都希望中国游戏产业尽快成长壮大,能早日与其它游戏强国一道跻身于世界游戏之林。
美好的想法终究也只是想法而已、与国外相比我们从人员素质到开发经验都很欠缺,如何在短期内赶上国外电脑游戏产业的发展水平,才是每位有爱国心并立志于游戏软件开发的仁人志士所应该共同面对的问题。
近年来在系统可靠性研究领域中兴起的“可靠性是极计出来的”的概念,在游戏设计工作中确实给人以实实在在的感受游戏系统的好与坏,从根本上说都是设计出来的,其它的多属于实现和质量保证方面的工作。
在当前设计一部创造性的游戏产品越来越难的情况下,游戏设计工作和人选也就显得越来越重要了。
1.2 游戏开发中存在的问题
游戏制作是一门系统的开发工程,他需要多工种的配合,我们将游戏制作与盖高楼相比,参与盖楼的有蓝图设计师、建筑师、装磺制作师等工种,盖一幢高楼首先需要有一幅详细的制作蓝图,它说明了高楼所建的位置、高楼所表现的设计风
格、每一层的建筑格局等,建筑师将根据设计蓝图的要求进行施工,当楼宇的基本构造已经完成后,装璜制作师则按照设计蓝图的指示,开始对建筑的外观进行装饰美化,经过以上几步,一幢美观的高楼就可以峻工交付使用了。
游戏同样如此,制作一部游戏软件需要有策划、程序制作、美工音效等多工种的配合,策划如同蓝图设计师,它将决定一部游戏的内涵与外在表现方式,而程序制作则起到了建筑师的作用,它一样要根据策划的要求,将程序及数据结构如同建筑一样构造好,那美工音效呢?它同建筑高楼的装璜制作师一样要对整个游戏的外在表现讲行制作润色。
当然,在游戏设计过程中,或多或少都会遇到一些问题。
比如,各工程不能直接连接,要通过shell命令来连接各个工程;还有在算法的代码编写中经常会出现错误等。
在这个设计制作过程中,让我知道了如何运用Visual Basic来设计游戏,同时也增强了解决问题的能力。
4
第二章游戏开发的技术基础
2.1 Visual Basic技术
2.1.1游戏开发软件的介绍
目前可以说进行游戏开发的软件很多,可以说每种软件都有其自身的优点,但是Visual Basic却因其许多优点越来越受到游戏开发程序员们的青睐。
2.1.2 Visual Basic概述
随着Visual Basic的发展,它已小仅是一种编程语言,而且可看成是一部生
成应用程序的“机器”。
没有一种开发环境能像Visual Basic(及Visual Studio) 一样提供数晕庞大、种类繁多的功能。
使用它单个程序开发人员能在几分钟内开发出一个简单的应用程序,而一个开发小组则能开发出一个结构复杂、功能齐全的应用程序来。
Visual Basic能使使用者树立面向对象的编程思想,否则开发出
的程序只能停留在几年前的水平上,虽然许多人声称BASIC语言不是面向对象的编
程语言,或者至少不如其他语言那样纯粹,但无庸置疑,使用其他工具的编程效率都低于Visual Basic。
值得一提的是,由于使用Visual Basic开发应用程序时存在千变万化的编程方式,因此很容易出现拼凑的现象。
这样的程序当然也能够运行,但绝对属于一种比较不完善的设计方法。
尽管使用Visual Basic能获得比使用其他工具更高的编程效率,我们仍然需要遵循一些规则以开发出思路清晰的产品。
提高编程技巧的一个关键在于尽量多地掌握Visual Basic用于创建类和ActiveX组件的功能,这种架构能使程序员进一步以面向对象的方式来思考问题。
那么,为什么要使用Visual Basic呢?原因其实很简单,因为我们要解决问题。
5
2.2 Visual Basic的编程环境
2.2.1 Windows下的Visual Basic编程环境
在Windows环境下,用户只需移动鼠标,单击一些按钮,或者选择菜单中的某些命令来实现某些操作,在程序运行过程中还会出现一些“对话框”,引导用户进行某些选择和操作。
熟悉Windows的用户对此深有感触。
Microsoft于1991年推出了Visual Basic 1.0版本。
既保留了BASIC语言简单易用的优点,又充分利用了Windows提供的图形环境,提供了崭新的可视化设计工具。
Microsoft的Visual Basic 6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的工具。
Visual Basic提供了大量的AXTIVE控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效地提高了应用程序的运行效率和可靠性。
故而,实现本系统VB是一个相对好的选择。
2.2.2 面向对象的编程
在面向对象的程序设计中,“对象”是系统中的基本运行实体,它封装了数据和操作。
对象的性质和状态特征称为“属性”,同类型的对象具有相同的属性。
当要特制某一具体的对象时,这些属性就有了具体的值。
不同对象的不同属性值描述了对象的特征。
这些值就是对象的数据。
同类对象的抽象称为“类”。
对象不会无缘无故地执行某个操作,只有在接受别的对象请求时,才会进行某一操作。
这种请求对象执行某一操作或回答某些信息的要求称为“消息”或“事件”。
对象接到消息所执行的程序称为事件驱动程序。
VB的事件驱动程序都表示为“过程”。
事件驱动过程可以包括对象的调用和各种VB语言的语句。
6
VB的工具箱为程序员提供了一套界面设计常用的对象模子类,它们的属性没有具体数值。
当我们把工具箱的某个“拖动”或双击到窗体上时,系统以这个模子的形式赋予它各种初始值,构造一个实在对象。
这些属性值可以由用户修改。
VB不仅为用户提供了一套标准控件工具,还允许程序员添加新的控件工具以及用VB程序设计语言设计对象。
程序员在VB平台上开发一个应用程序,要完成的工作就是:
需求分析:对要解决的问题进行数据描述和功能描述。
界面设计:根据应用程序的功能和用户的特点,设计界面。
包括建立窗体、在窗体上建立各种图形对象并设计他们的属性值。
设计时间驱动程序:为各种对象编写某事件发生时执行的程序代码。
测试:一个应用程序往往要经过反复的测试、修改才能交付使用。
实现菜单选项:
VB的集成开发环境或称IDE,有多个部分组成,包含了标题栏、菜单栏、工具栏、控件栏以及窗体设计器窗口、属性窗口、代码窗口、窗体布局等。
覆盖了应用程序的设计、编辑、编译和调试的所有功能。
VB通过工程来组织应用程序的开发,使用工程来管理构成应用程序的所有文件。
一个程序一般由若干窗体、标准模块以及应用环境组成。
系统通过工程菜单对工程进行管理。
系统允许同时打开和管理多个工程。
用鼠标单击某个菜单项,即可打开该菜单,然后用鼠标单击菜单中的某一条,就执行相应的命令,VB是汉化的,所有的菜单命令都以汉字标出。
实现工具栏:
快捷工具栏以图标形式提供了部分常用的菜单命令的功能,用鼠标指向它时显示工具按钮的名称和功能。
应用时非常方便的。
帮助:
VB的联机帮助是一个较为完善的帮助系统,帮助菜单的各个命令用于启动这个系统,同时还具有通向Internet上有关VB站点的菜单选项。
VB联机帮助系统包括几乎所有的VB语言参考手册中的信息内容以及数以百计的程序示例和几十相当有用的表格。
VB联机帮助系统可以进行上下文相关查询,即用户可以在任何时候按下F1键,查看与当前进行的工作相关的帮助。
这是一个非常有用
7
的功能,也是学习和使用VB过程中的一个有利工具。
关于系统:
由以上关于VB的介绍我们可以了解到:应用VB帮助我们实现教师排课和教室安排优化管理系统是非常方便、可靠、有效的方案。
2.2.3 VB在系统中的应用
1.创建应用程序的主要步骤
(1)创建应用程序的界面
界面是用户和程序交互的桥梁,用VB创建的标准的Windows应用程序的界面一般由窗体和按钮、菜单、文本框和图象框等构成。
根据程序的功能要求和用户与程序之间的信息交流的需要,来确定需要哪些对象,规划界面的布局。
(2)设置界面上各个对象的属性
根据规划的界面要求设置各个对象的属性,比如对象的面貌、名称、颜色、大小等。
大多数属性取值既可以在设计时通过属性窗口设定,也可以在程序代码中通过编程早程序运行时修改。
(3)编写程序响应的程序代码
界面仅仅决定程序的外观,设计完界面后就要通过“代码编辑器”窗口来添加代码,实现一些在接受外界信息后得到的响应、信息处理等任务。
(4)保存工程
一个VB程序就是一个工程,在设计一个应用程序时,系统会建立一个扩展名为.vbp的工程文件,工程文件包含了该工程所建立的所有文件的相关信息,保存工程就同时保存了该工程的所有相关文件。
比如当设计界面时产生的窗体被保存在扩展名为.frm和.frx的窗体文件中。
在打开一个工程时,在工程中的所有相关文件同时被装载。
(5)运行和调试程序
通过“运行”菜单中的选项来运行程序,当程序出现错误时,VB系统可
提供信息提示,也可通过“调试”和“运行”菜单来查找和排除错误。
(6)生成可执行程序
8
为了使程序可以脱离VB环境来运行程序,通过“文件”菜单中的“生成工程1.exe”命令来生成可执行(.exe)。
此后即可直接执行该文件。
在生成执行文件
后,再通过安装向导将所有相关文件打包,就可以生成一个软件产品在Windows环境下安装独立运行。
2.创建用户界面
(1)对象
VB的对象有自己的属性、方法、事件,可以把属性看作一个对象的性质,把方法看做对象的动作,把时间看作对象的响应。
VB是一种面向对象的编程语言,通过对属性、方法和事件的编程来实现各种功能。
(2)对象的属性
属性是对象的数据,用来表示对象的状态。
属性有属性值,改变对象的属性值就可以改变对象的状态。
属性的设置可以在“属性“窗口中完成,也可以在运行时可设置的属性为读写属性,只能读取的属性叫只读属性。
语法:
对象名.属性名=表达式
如果省略对象名则对象为当前的窗体
(3)对象的方法
对象的方法决定了对象要执行的动作,方法中的代码是看不见的,可通过调用来使用某个对象的方法
语法:[对象名].方法名[(参数1,参数2,…)]
(4)对象的事件
时间是对象的响应,VB的应用程序是由事件驱动的。
也就是说,只有当事件发生时,响应事件的程序才会运行。
如果没有事件的发生,则整个程序就处于停滞状态。
在VB中,事件是能被对象识别的动作。
VB编程的核心就是为每个要处理的事件编写相应事件的过程代码。
(5)创建窗体
?窗体的属性
9
在创建工程时,VB为自动加入的空白窗体设置了默认属性。
设计窗体的第一步是设置它的属性。
窗体的属性很多,按类可分为: ?.杂项属性
?.外观属性
?.位置属性
?.行为属性
?.字体属性
?.DDE属性
?.缩放属性
?窗体的方法
窗体有很多方法,通过代码中调用来执行。
窗体最常用的是Show方法,用于显示窗体。
常见的方法还有:
Hide 隐藏窗体,使窗体不可见 Refresh 刷新窗体
Move 移动窗体
Print 在窗体中显示文本 Line,Circle 在窗体中绘制直线、矩形和圆 ?窗体的事件
窗体作为对象能够对事件做出响应 Activate和Deactivate事件
Initialize事件
Load事件
Unload事件
Click和DblClick事件
Resize事件
界面样式
SDI界面单文档界面
MDI界面多文档界面
(6)控件
10
VB的控件分为内部控件、ActiveX控件和可插入对象三类。
?内部控件
内部控件是又VB本身提供的控件,也称常用控件,这些控件通常显示在控件箱中。
?ActiveX控件
ActiveX控件是VB控件箱中扩充部分,这些控件在使用前必须添加到工具箱中。
?可插入对象
可插入对象是由其他应用程序创建的对象,利用可插入对象,就可以在VB程序中使用其他应用程序的对象。
(7)常用控件
如:文本框、标签框、组合框、复选框、命令按钮等,
(8)控件数组
控件数组是一组具有相同名称、类型和事件过程的控件。
一个控件数组至少应有一个元素,元素的个数最多可达32767。
同一控件数组可以设置不同的属性值。
在设计时,控件数组比直接向窗体添加多个同类型的控件占用的资源少,控件数组中的控件元素可以共享代码。
控件数组常用于实现菜单控件和选项按钮分组。
2.3 小结
本章主要介绍了此次游戏开发所用的技术软件Visual Basic进行了一定的介绍。
同时对Visual Basic的优点,现今的发展情况,所拥有的功能给出了说明。
还说明了这次游戏设计中Visual Basic的编程环境是在Windows,主要是面向对象的编程。
还介绍了Visual Basic在系统中的应用。
11
第三章系统总体规划
3.1 系统功能简介
3.1.1 24点纸牌简介
任意给的四张扑克牌(不包括大小王),只能够用加、减、乘、除以及适当的括号连接着四张牌使得结果为24,或者宣布根本就是无解的。
需要注意的是,每张牌必须且运算一次;J、Q、K可设置为11、12、13。
使用本程序其实很简单,按[Start]后,程序会任意给出四张牌,在左边的、5、4、1按钮中也能看到相应的数值,只要输入相应的表达式就可以了。
如:6这四个数,输入表达式为:6/(5/4-1)即可;如果你认为本题无解,那么你不必输入任何数值直接按回车就可以,程序会验算答题是否准确。
如果输入的数据有错,那么程序会自动定位到出错的地方,以方便用户修改。
本程序还有一个Test功能,用于自定义出牌值。
即:可以自己任意给出四个(1-13)的整数,按[OK]键后由程序自动算出答案。
3.1.2 拼拼图简介
根据右上角的小图片在大图中任意移动各分块,把图拼出来。
按[新游戏]键重新开始游戏,按[设置]键出现设置游戏界面。
在该界面中,用户可以从已有的图片中选出自己喜欢的图片进行游戏,也可以使用载入图片,到其他文档中挑自己喜欢的图片加载进去。
点击[确定]即完成游戏设置。
按[退出]键直接退出游戏,按[关于]键显示版权信息。
主要说明版权所有。
3.2 系统开发方法
12
3.2.1 游戏总界面设计
图3-1 游戏主界面
该截面为游戏进入游戏的最初界面,按[欢迎进入游戏世界]键,则进入如下界面:
图3-2 游戏分类界面
在该界面中分了4类游戏,按任意一个键即出现游戏选择界面,这4类中的界面大致相同,界面如下:
13
图3-3 选择游戏界面
按该界面上的键直接出来游戏窗口,其主要代码很简单,如下:
Private Sub Command1_Click()
Shell "f:/智能24"
End Sub
Private Sub Command2_Click()
Shell "f:/旋转"
End Sub
3.2.2 24点纸牌的开发
(1) 主界面设计
图3-4 24点纸牌主界面
按[Start]后,程序会任意给出四张牌,在左边的按钮中也能看到相应的数
14
值,只要输入相应的表达式就可以了。
如:6、5、4、1这四个数,输入表达式为:6/(5/4-1)即可;如果你认为本题无解,那么你不必输入任何数值直接按回车就可以,程序会验算答题是否准确。
如果输入的数据有错,那么程序会自动定位到出错的地方,以方便用户修改。
主要代码如下:
Private Sub AnswerButton_Click()
Dim iAnswer As Integer
iAnswer=OperatorModule.Operator() '调用24点表达式计算函数
If iAnswer = 24
Then 'operater函数能返回24的值说有解
Text1.Text = OperatorModule.OperateorString + "=24"
Else '答题错误所要做的动作
Text1.Text = "本题无解 "
End If
OKButton.Enabled = False
AnswerButton.Enabled = False
TestButton.Enabled = True
StartButton.Enabled = True
TimeButton.Enabled = True
StartButton.SetFocus
Timer1.Enabled = False '进程停止走动
If Trim$(Text1.Text) <> "" Then '用户选择本题有解状态
以下if...then 中为有解状态所要做的动作
If InputNumber(Text1.Text) = True And InputOperator(Text1.Text) = True
Then
If OperatorFunction(Text1.Text) <> "表达式出错"
Then '调用表达式OperatorFunction 如果表达式没错则执行下面的步骤
If OperatorFunction(Text1.Text) = 24
Then '答题正确所要做的动作
15
a = MsgBox("恭喜~你答对了 ^_^", 0 + 64 + 0, "正确")
If CheckTop10("c:\top10.txt", 14) = True Then
frmUsr.Show
WriteTop10 strUsrName, "c:\top10.txt", 14
End If
AnswerButton.Enabled = False
TestButton.Enabled = True
StartButton.Enabled = True
TimeButton.Enabled = True
StartButton.SetFocus
Else '答题错误所要做的动作
a = MsgBox("对不起~你答错了", 0 + 16 + 0, "错误") StartButton.Enabled = False
TimeButton.Enabled = False
TestButton.Enabled = False
AnswerButton.Enabled = True
AnswerButton.ForeColor = &HFF& '使字体变成红色
AnswerButton.SetFocus
End If
'无论答题对与否都要做的动作
Text1.Text = Text1.Text + "=" + OperatorFunction(Text1.Text)
Else '表达式出错
Timer1.Enabled = True '由于是用户输入出错所以进程续继走动
a = MsgBox("操作符出错,请检查后重试", 0 + 16 + 0, "错误")
Text1.SelStart = Len(Text1.Text)
'将光标定位在表达式的最后
Text1.SetFocus
'将焦点定位在文本框上的错误位置上,使用户能够方便地修改输入上的错误Exit Sub
16
'此时可以直接退出这个事件按钮等用户重新输入表达式
End If
Else
Timer1.Enabled = True '由于是用户输入出错所以进程续继走动
If InputOperator(Text1.Text) = True Then
'先判断表达式有没有错,后判断数字有没有错
a = MsgBox("对不起~你输入的数据有误请检查后重试" +
Chr$(13) + Chr$(10) + ReturnErrorString, 0 + 48, "数据有错")
Else
a = MsgBox("对不起~你输入的表达式有误请检查后重试" +
Chr$(13) + Chr$(10) + ReturnErrorString, 0 + 48, "表达式有错") End If
Text1.SelStart = iFindError
Text1.SelLength = iErrorLong
Text1.SetFocus
'将焦点定位在文本框上的错误位置上,使用户能够方便地修改输入上的错误Exit Sub
End If
Else
'用户选择本无题状态 Else....End If 为无解状态所要做的动作
iAnswer = OperatorModule.Operator() '调用24点表达式计算函数
If iAnswer = 24
Then 'operater函数能返回24的值说有解,所用户选择状态是错误的
a = MsgBox("对不起~你答错了本题有解", 0 + 16 + 0, "错误") AnswerButton.Enabled = True
AnswerButton.ForeColor = &HFF& '使字体变成红色
AnswerButton.SetFocus
Else
'答题错误所要做的动作
17
a = MsgBox("恭喜~你答对了本题无解 ^_^", 0 + 64 + 0, "正确") Text1.Text = "本题无解"
TestButton.Enabled = True
StartButton.Enabled = True
TimeButton.Enabled = True
StartButton.SetFocus
End If
End If
End Sub
(2) Test界面设计
图3-5 24点纸牌测试界面
在主界面中,按[Test]键就会出现该界面。
在该界面中,可以自己任意给出四个(1-13)的整数,按[OK]键后由程序自动算出答案。
按[Clear]键可以重新再测试,按[Return]可以回到主界面。
该界面中程序自动给出答案的主要代码如下: Private Sub TestCards(Num As Integer)
'参数num是用户选择的数值
18
Dim iCount As Integer
If iCardsNumber = 4 Then iCardsNumber = 0
If iCardsNumber = 3 Then TestNumberFour = True
'用户已经选够了牌数 If TestNumberFour Then
TestOKButton.Enabled = True
TestOKButton.SetFocus。