分类：电脑/网络-程序设计
问题：用VB编写简单画图程序要求：类似WINDOWS自带画图程序提供点 
要求：类似WINWS自带画图程序提供点、直线、矩形、圆工具。右键弹出颜色选择。救个急。谢谢！E-MAIL: 
回答： 提供下面的文章希望能帮上你的忙：--用6.0编写俄罗斯方块摘要 Visual Basic是微软公司力推的编程工具，它具有易学易用、编程简单、程序集成化程度高等特点，是许多开发人员的首选开发工具。而“俄罗斯方块”又是一种很受欢迎的电子游戏,在手机、掌上游戏机、电子辞典以及计算机中经常见到。此游戏有很多变种。都非常的受欢迎，所以我在毕业论文的方向上选择了用vb编写俄罗斯方块。，因为vb在游戏开发方面有以下的优点： 1.是开发工具。能迅速创建用户界面。 2.功能强大。能处理所有复杂的应用程序。 3.有专业水准的绘图功能。 4.轻松管理位图图片 5.BASIC语言扩展借口能自定义数据类型和类 6.能调用 Windows API。可以方便的让我完成在俄罗斯方块的图形方面的设计。本文通过设计俄罗斯方块游戏来掌握VB程序设计语言的基本语法、编程思想，掌握Windows下编程的基本知识。本文阐述了该游戏的结构、设计思想及主要算法，并附有相应源代码。 关键词：Visual Basic；俄罗斯方块；可视化；面向对象；                               目录摘要关键词第一章 绪论   1.1课题背景   1.2 vb程序设计的概况   1.3 vb对游戏的开发   1.4 俄罗斯方块概述   1.5 本文主要研究内容第二章 俄罗斯方块的程序实现   2.1 引言2.2 需求分析2.3 界面的设计2.3.1 单打主界面设计2.3.2 双打主界面设计2.3.3 游戏选项界面的设计2.3.4 游戏排行榜界面的设计   2.4 菜单的设计2.4.1 菜单编辑器的使用2.4.2 本程序菜单的设计2.5 程序设计思路及实现方法       2.5.1 图形的基本生成2.5.2 设计方块的旋转2.5.3 设计方块的移动2.5.4 设计方块的下落速度2.5.5 下一块方块的显示2.5.6 方块的消去与计分2.5.7 选项菜单中各选项的设计2.5.8 排行榜的设计2.5.9双打中的语句设计   2.6 程序说明书结论致谢参考文献 第一章 绪论    1.1课题背景一台能够运行复杂游戏的电脑完全能够处理其他事情。一个好的电脑游戏需要发挥电脑的极限能力，包话快速处理数据能力，产生图形和动画能力，以及创建逼真声音效果能力。只有性能优异的电脑才能够胜任当今高强度的游戏。同样，一个能够编写商业化电脑游戏的程序员也能够编写其他类型的软件，尤其是考虑到如今的应该程序更加注重其中的图形和动画及声音效果。因此游戏编程一样存在着重大的意义与实际用途。    1.2 vb程序设计的概况vb是提供可视化的编程序工具。用传统的高级语言编程序，主要的工作是设计算法和编写程序。程序的各种功能和显示结果都要由程序语句来实现。而用Visual Basic开发应用程序，包括两部分工作：一是设计用户界面：二是编写程序代码。Visual Basic向程序设计人员提供图形对象（窗体、控件、菜单等）进行应用程序的界面设计。例如程序设计人员可以根据用户的需要在屏幕上画出用户界面。在传统的程序中，为了在屏幕上显示出一个图形，就必须编写一大段程序语句。而VB使屏幕设计变得十分简单。VB提供一个“工具箱”，内放若干个“控件”。程序设计者可以自由地从工具箱中取出所需控件，放到窗体中所指定位置，而不为此写一大段程序。也就是说，屏幕上的用户界面是用VB提供的可视化设计工具直接“画”出来的，而不是用程序“写”出来的。设计用户界面如同用各种不同的印章在一张纸上盖出不同的图形来。被认为是最难为的界面设计，就这样轻而易举的被VB解决了。VB还提供了画图的基本工具，可以直接画点、直线、矩形、圆、椭圆等，并由这些元素组成各种图形。Visual Basic程序采取“事件驱动”方式。在设计好用户界面后才开始编程。这是VB中的编程与传统编程方法不同的地方。传统的编程方法是：根据程序实现的功能，写出一个完整的程序（包括一个主程序和若干子程序）。在执行时，从第一个语句开始，直到结束语句为止。在执行过程中，除了需要用户输入数据时暂停外，程序开始运行后不停顿的按程序中指定的顺序执行各指令，直到程序结束。因此程序设计者必须十分周到地考虑到程序运行中和每一个细节。因此对编写应用程序的程序设计人员提出了较高的要求。Visual Basic改变了程序机制，没有传统意义上和主程序使程序执行的基本方法是由“事件”来驱动子程序（在VB中将“子程序”称为“过程”）的运行。程序设计人员只需分别编写出这样一些单个的过程即可。一般来说，每个过程要实现的功能是单一的，过程规模一般不会太大。也就是说，把原来一个由统一控件的，包罗万象的大程序分解为许多个独立的，小规模的过程，分别由“事件”来驱动执行。程序人员的编程难度大降低了。    1.3 VB对游戏的开发    VB对游戏的开发除了图形需要用到VB的基本画图工具外，还要用到类的定义。这样图形才会以随机的形式出现。在VB中建立一个类要使用Class Module（类模块）.一个类模块相当于一个简单的程序对象.当一个类模块建立起来后,我们就可以在程序的其他窗体中,定义一个类的实例,然后就像使用一个对象一样访问它的属性。这样我们在定义一个图形的生成和随机移动时，就只需要定义一个随机变量就可以来控制图形了。   1.4 俄罗斯方块概述   俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏，它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。俄罗斯方块》由莫斯科科学学院程序员Alexei Pajitnov所设计。显然，人们一开始并没预料到它将会有如此广泛的吸引力。实际上，在游戏发明后的数年间，《俄罗斯方块》成了无数场专利官司和法律纠纷的目标，而许多公司也不遗余力地上阵厮杀，想要将游戏的创意据为己有。一个最初的版本是Spectrum Holobyte为IBM兼容机开发的游戏。1988年，《俄罗斯方块》在街机上也变得非常流行，这都要归功于Atari，因为他们发布了一个能让两名玩家同时游戏的版本。　　还是在1988年，Tengen为任天堂娱乐系统发布了《俄罗斯方块》的一个优秀版本，但它很快便从货架上撤掉了，因为任天堂指控该公司侵犯版权。后来，任天堂把那个版本的《俄罗斯方块》换成了自己的版本，可是新版本却缺乏Tengen版的双人对打模式和出色的音乐。到了1989年，任天堂着手将一个移动版本的《俄罗斯方块》与当时崭新的GBA系统捆绑出售。GBA后来成为有史以来销售成绩最佳的游戏系统，对此，《俄罗斯方块》作出了不小的贡献。　　游戏的概念十分简单，如今已经成为一种公认的规则：屏幕顶部以随机顺序落下形状各异的碎块，你要试图用它们拼成没有空隙的行列。你没法打赢《俄罗斯方块》，因为你坚持得时间越长，游戏速度也就变得越来越快，而游戏的吸引力就在于使你顶住碎块的进攻，支撑的时间比上一次更长。《俄罗斯方块》举世闻名的游戏性，在该游戏新鲜出炉时就显得非常直观。某些与坠落的玩具碎片和它们的形状有关的东西，使得哪怕新手也会很自然地企图把它们排列起来，并加以适当组合，就好似《俄罗斯方块》触动了我们某些内在的感官，使得哪怕是我们当中最杂乱无章的人也要把事情整理妥当。《俄罗斯方块》游戏将继续流行下去。比如能被100年后的人们继续拿来玩。1.5 本文主要研究内容    本文主要学习面象对象的程序编写方法，熟悉VB的程序设计特点。学会利用窗体与VB控件设计程序的界面，编写菜单。学习VB的事件驱动，VB程序运行的过程，VB的程序结构，VB的安装与启动。MSDN  VB6.0标准函数，VB6.0语言，VB6.0标准控件，Active X控件，多窗体和MBL编程图形开发，图像编辑文件控制。通过对VB的系统的学习，了解到一个程序整体设计的思想，从而了解一个完整程序的设计思路。能够独立编写一些应用程序。 第二章 正文   2.1 引言本设计主要运用计算机图形学。计算机图形学的研究起源于麻省理工学院。从50年代初到60年代中，麻省理工学院积极从事现代计算机辅助设计／制造技术的开拓性研究。1952年在它的伺服构实验室里诞生了世界上第一台数控铣床的原型。1957年美国空军将第一批三坐标数控铣床装备了飞机工厂。大型精密数控绘图机也同时诞生。接着麻省理工学院发展了APT数控加工自动编程语言，这是目前国际上最通用的加工编程工具。1964年孔斯（Steve Coons）在这里提出了用小块曲面片组合表示自由型曲面时使曲面片边界上达到任意高次连续阶的理论方法，此方法得到工业界和学术界的极大推崇，称之为孔斯曲面。孔斯和法国雷诺汽车公司的贝齐埃（Pierre Bézier）并列被称为现代计算机辅助几何设计技术的奠基人。    除此之外，本程序更多用到的就是VB对键盘事件和处理。VB的键盘事件分为：Key Down事件：用户按下键盘上某个键时产生此事件。Key Up事件：用户按下键盘上某个键释放后产生此事件。Key Press事件：用户敲击键盘触发Key Press事件。    语法如下：PrivateSubForm_KeyPress(keyasciiAsInteger)PrivateSubobject_KeyPress([indexAsInteger,]keyasciiAsInteger)2.2 需求分析整个游戏的运行需要一个游戏窗口和后台的算法，在窗口中需要有一个主窗口、一个选项窗口和一个排行榜窗口。在后台在算法中需要有方块的生成、方块的控制、方块的旋转、方块的下落、计分、计行等等。将如此多的小方面设计在一起就组成现在这个可以运行的俄罗斯方块。系统需求分析图为2-1。2.3界面的设计    程序界面和设计分为主界面的设计，选项界面的设计，排行榜的设计。在主界面的设计方面又分为单打主界面设计和双打主界面设计。                                图2-1    2.3.1单打主界面设计游戏主界面要简捷明了，使用方便，功能齐全，能使一些从来未接触过电脑的玩家也能在很短的时间地进行游戏。单打主界面主要分为游戏运行区，为一个10×20的长方形，用VB中PictureBox控件画出，名称为GameArea。下一个方块显示区为一个4×4的正方形，用VB中PictureBox控件画出，名称为NextArea。游戏得分、游戏所消行数、游戏当前速度、游戏当前级别，全部用VB中Lable控件画出。由于要通过按键来控制方块的移动。所以在主窗体中KeyPreview属性要设为ture。主界面如图2-2。          图2-2     2.3.2双打主界面设计为了增加游戏的可玩度。将游戏设计成多用户游戏，这样可以加入新的内容，如QQ游戏泡泡龙中，两个玩家同时进行游戏，一个玩家连续消去方块会是另一位玩家加上一些额外的方块来增 的难度，这样可以使游戏更加刺激。本游戏也采用了相应的处理方法。