搜档网
当前位置:搜档网 › 用VB判定一个数是否整数的简易编码

用VB判定一个数是否整数的简易编码

用VB判定一个数是否整数的简易编码

Private Sub Command1_Click()

a = Text1.Text

b = Int(a)

If a - b = 0 Then

Print a; "是整数"

Else

Print a; "不是整数"

End If

End Sub

俄罗斯方块C语言代码

【转载】88行代码实现俄罗斯方块游戏(含讲解) 来源:https://www.sodocs.net/doc/158148348.html,/p/8 在正式阅读本文之前,请你记得你应该用娱乐的心态来看, 本代码所使用到的技巧,在工作了的人眼里会觉得很纠结,很蛋疼,很不可理喻,很丑, 注意,是你蛋疼,不关我的事 通常,写一个俄罗斯方块,往往动不动就几百行,甚至上千行,而这里只有88行 正所谓头脑风暴,打破常规。这里将使用很多不平常的手段来减少代码 以下是Win-TC可以成功编译并执行的代码(代码保证单行长度不超过80字符,如果你是Win7系统,那请看后文): 程序代码: #include"graphics.h" #include #include int gcW = 20, gcColor[] = {DARKGRAY, LIGHTBLUE, LIGHTGREEN, LIGHTCYAN, LIGHTRED, LIGHTMAGENTA,MAGENTA, YELLOW}; struct tetris { int _pool[16][32], (*pool)[32], tmap[8][4][16]; int x, y, s, st, t; }gt; void trsInit() { int sp[8][4] = {{15,4369},{23,785,116,547},{71,275,113,802}, {39,305,114,562},{54,561},{99,306},{51,51},{-1}}; int *p, i, j, b; for (p = sp[0]; *p >= 0; ++p) if ( *p == 0 ) *p = p[-2]; gt.pool = >._pool[4]; for (j = 0; j < 7; ++j) for (i = 0; i < 4; ++i) for (b = 0; b < 16; ++b) gt.tmap[j+1][i][b] = (sp[j][i] & 1) * (j + 1), sp[j][i] >>= 1; memset(gt._pool, -1, sizeof(gt._pool));

(完整word版)VB语言基础

V B语言基础 一、数据类型 1、数值型:取值范围:Byte(字节型)━占1字节; 0~255无符号 Integer(整型)━占2字节; -32768~32767 long(长整型)━占4字节; -2147483648~2147483647 single(单精度浮点)━占4字节;略 Double(双精度浮点)━占4字节;略 Currency(货币型)━占8字节小数点左15位,右4位 (精确定点数据类型) 2、逻辑型: Boolean(布尔型)━占2字节; true或false 3、字符串型: String?a?a定长型占字符串长度,变长型再加10 4、日期型: Date(日期型)━占8字节 100-1-1~9999-12-31 5、对象型: Object━占4字节;任何Object引用 6、变体型: Variant━变体型数字占16字节,变体型字符占22字节+字符串长 注:此类型还包含三种特定值:

Empty;Null;Error; ?7、用户定义的数据类型: ?用户可以利用Type语句定义自己的数据类型。格式如下?Type 数据类型名 ?数据类型元素名As 类型名 ?…… ?End Type ?用Type可定义类似于C语言中的结构体类型。例如:?Type Date_Rec ?RYear As Integer ?RMonth As String*3 ?RDay As Integer ?End Type ?注:记录类型中的元素可以是字符串,但必须是定长字符串,其长度由类型名加上一个星号和常数指明。 ?数据类型转换函数: ?函数名及书写格式转换结果 ?CBool(表达式)布尔型 ?CCur(表达式)货币型 ?CByte(表达式)字节型 ?CDate(表达式)日期型 ?CDbl(表达式)双精度

俄罗斯方块C语言程序设计报告

C语言课程设计报告 俄罗斯方块程序设计报告 一、问题描述 俄罗斯方块(Tetris,俄文:Тетрис)是一款电视游戏机和掌上游戏机游戏,它由俄罗斯人阿列克谢·帕基特诺夫发明,故得此名。俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分。 在本次设计中,要求支持键盘操作和若干种不同类型方块的旋转变换,并且界面上显示下一个方块的提示以及当前的玩家的得分,随着游戏的进行,等级越高,游戏难度越大,即方块的下落速度越快,相应的等级,等级越高,为玩家提供了不同的选择。 二、功能分析 I、俄罗斯方块游戏需要解决的问题包括: ⑴、随机产生方块并自动下移 ⑵、用Esc键退出游戏 ⑶、用键变体 ⑷、用键和键左右移动方块 ⑸、用空格键使游戏暂停

⑹、能正确判断满行并消行、计分、定级别 ⑺、设定游戏为不同级别,级别越高难度越大 II、俄罗斯方块游戏需要设计的功能函数包括: ⑴、声明俄罗斯方块的结构体 ⑵、函数原型声明 ⑶、制作游戏窗口 ⑷、制作俄罗斯方块 ⑸、判断是否可动 ⑹、随机产生俄罗斯方块类型的序号 ⑺、打印俄罗斯方块 ⑻、清除俄罗斯方块的痕迹 ⑼、判断是否满行并删除满行的俄罗斯方块 三、程序设计 1、程序总体结构设计 (1)、游戏方块预览功能。在游戏过程中,游戏界面右侧会有预览区。由于在此游戏中存在多种不同的游戏方块,所以在游戏方块预览区域中显示随机生成的游戏方块有利于游戏玩家控制游戏的策略。 (2)、游戏方块控制功能。通过各种条件的判断,实现对游戏方块的左移、右移、自由下落、旋转功能,以及行满消除行的功能。 (3)、游戏数据显示功能。在游戏玩家进行游戏过程中,需要按照一定的游戏规则给玩家计算游戏分数。例如,消除一行加100分,游戏分数达到一定数量

VB6.0语言基础

算法(algorithm) 1、概念 算法就是计算机解决某个问题的方法和步骤。2、描述 (1)自然语言 (2)伪代码 (3)N-S结构化流程图 (4)传统流程图 常量 Const <常量名>[As<数据类型>]=<常量表达式> 变量 Dim 变量名As数据类型 数据类型 (1)字符型(类型名称:String)→类型声明符$ (2)数值型 ①整数型(Integer)→% ②长整型(Long)→&

③单精度型(Single)→! ④双精度型(Double)→# ⑤货币型(Currency)→@ ⑥字节型(Byte) (3)布尔型(Boolean) 结果为“真”:True或“假”:False。 (4)日期型(Date) (5)对象型(Object) (6)变体型(Variant) (7)记录类型(Type语句定义) (8)枚举类型(Enum语句定义) 运算符 (1)算术运算符 ①指数(^)②乘法(*)③除法(/)④求余数(Mod)⑤整除(\)⑥加法(+)⑦减法(-) (2)连接运算符 ①+②& (3)关系运算符(结果为布尔型) ①等于(=)②大于(>)③小于(<)④大于等于(>=)⑤小于等于(<=)⑥不等于(<>) (4)逻辑运算符(结果为布尔型) ①逻辑非(Not)②逻辑与(And)③逻辑或(Or)④逻辑异或(Xor)⑤逻辑等于(Eqv)⑥逻辑蕴含(Imp) 数学函数 (1)求绝对值:Abs () (2)求平方根:Sqr () (3)求e的n次方:Exp ()

打开顺序文件 Open pathname For [Input | Output | Append][Lock] As Filenumber [Len=Buffersize] 关闭顺序文件 Close [Filenumberlist] 顺序文件的读取 Line Input # filenumber,uarname 用于从已打开的顺序文件中读出一行,并将它分配给字符串变量。 输入对话框 InputBox [$] (提示[,标题][,默认值][x坐标,y坐标]) 消息对话框 MsgBox (prompt [,buttons][,title][,helpfile,context]) 求字符串长度(字符数)或变量大小(位数) Len(String | varname) 如:Print Len (“mystring”) [返回值为8] 取字符串中指定字符 Mid (String , start[,length]) 如:Print Mid(“changchun”,3,3) [返回值为ang] 转换为ASCII Asc(String) 返回字符串首字母的字符代码。

用vb编写图形

来个房子的吧: Private Sub Command1_Click() Dim i As Integer, n As Integer Cls n = 5 For i = 1 To 3 Print String(4 - i, " ") & String(2 * i - 1, "*") & String(10, "*") Next For i = 1 To 4 Print " * *" & String(9, " ") & "*" Next Print " " & String(15, "*") End Sub VB 填充封闭区间 Private Declare Function FloodFill Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal crColor As Long) As Long Private Declare Function CreateSolidBrush Lib "gdi32" (ByVal crColor As Long) As Long Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long Private Sub Command1_Click() Dim hBrush As Long Dim OldhBrush As Long hBrush = CreateSolidBrush(RGB(0, 0, 255))'要填充的颜色 OldhBrush = SelectObject(Me.hdc, hBrush) Me.Line (10, 10)-(100, 100), RGB(255, 0, 0), B FloodFill Me.hdc, 20, 20, RGB(255, 0, 0)'区间边界颜色 SelectObject Me.hdc, OldhBrush DeleteObject hBrush End Sub

俄罗斯方块完整源代码

//不多说,直接可以拷贝下面的东西,就可以运行。 package day04; import java.awt.*; import java.awt.event.*; import javax.swing.*; import java.applet.*; import https://www.sodocs.net/doc/158148348.html,ng.String.*; import https://www.sodocs.net/doc/158148348.html,ng.*; import java.io.*; public class ERSBlock extends JPanel implements ActionListener,KeyListener//应该是继承JPanel { static Button but[] = new Button[6]; static Button noStop = new Button("取消暂停"); static Label scoreLab = new Label("分数:"); static Label infoLab = new Label("提示:"); static Label speedLab = new Label("级数:"); static Label scoreTex = new Label("0"); static Label infoTex = new Label(" "); static Label speedTex = new Label("1");

static JFrame jf = new JFrame(); static MyTimer timer; static ImageIcon icon=new ImageIcon("resource/Block.jpg"); static JMenuBar mb = new JMenuBar(); static JMenu menu0 = new JMenu("游戏 "); static JMenu menu1 = new JMenu("帮助 "); static JMenuItem mi0 = new JMenuItem("新游戏"); static JMenuItem mi1 = new JMenuItem("退出"); static JMenuItem mi1_0 = new JMenuItem("关于"); static JDialog dlg_1; static JTextArea dlg_1_text = new JTextArea(); static int startSign= 0;//游戏开始标志 0 未开始 1 开始 2 暂停 static String butLab[] = {"开始游戏","重新开始","降低级数","提高级数","游戏暂停","退出游戏"}; static int game_body[][] = new int[19][10]; static int game_sign_x[] = new int[4];//用于记录4个方格的水平位置 static int game_sign_y[] = new int[4];//用于记录4个方格的垂直位置

VC++ 6.0 MFC 俄罗斯方块 自动求解 代码 源程序

#include #include #include #include #define tDown 1 //方块下落定时器的标识(编号) #define tPaint 2 //重绘定时器的标识(编号) #define tDownTime 500 //方块下落一行位置的时间间隔 #define tPaintTime 50 //窗口重绘的时间间隔 #define ROW 24 //地图的行数目(第23行不用) #define COL 14 //地图的列数目(第0列和第13列不用) #define MAX_CLASS 7 //方块形状数目 #define LEN 20 //每个方格大小为20×20像素 #define StartY -1 * LEN + 5 //-15,绘制俄罗斯方块地图时的边界起始位置#define StartX -1 * LEN + 5 //-15 int iDeleteRows = 0; //总共清除的行 int iTotalNum = 0; //总得分 char WindowTxt[100] = "俄罗斯方块游戏自动求解已关闭"; //窗口标题 char s1[] = "关闭", s2[] = "启动"; //用于启动/关闭自动求解功能时显示不同的标题

bool bAuto; //是否自动求解的标志 bool Pause; //是否暂停的标志 int Map[ROW][COL]; //俄罗斯方块的地图(被占据的方格为1,否则为0) int CurrentBox[4][4]; //当前落下的方块 int CurrentY, CurrentX; //当前落下方块的当前位置(指左上角位置) int NextBox[4][4]; //下一个将落下的方块 int Box[MAX_CLASS][4][4] = //7种方块形状 { { {0,0,0,0}, {1,1,1,1}, {0,0,0,0}, {0,0,0,0} }, { {0,0,0,0}, {0,1,0,0}, {1,1,1,0}, {0,0,0,0} }, { {0,0,0,0}, {1,1,0,0}, {0,1,1,0}, {0,0,0,0} }, { {0,0,0,0}, {0,1,1,0}, {1,1,0,0}, {0,0,0,0} }, { {0,1,1,0}, {0,0,1,0}, {0,0,1,0}, {0,0,0,0} }, { {0,1,1,0}, {0,1,0,0}, {0,1,0,0}, {0,0,0,0}

VB 俄罗斯方块的设计

一、课程设计的目的与要求 (2) 1.1、俄罗斯方块的要求 (2) 1.2、俄罗斯方块设计的目的 (3) 二、题目分析 (4) 2.1、概要设计 (4) 2.2、详细设计 (4) 游戏区模块的设计 (5) 控制区模块的设计 (5) 三、设计思路 (6) 3.1、系统流程的总设计 (6) 3.2、游戏区模块的设计 (7) 3.2.1、Bitblt函数参数的意义与用法 (7) 3.2.2、俄罗斯方块的旋转 (8) 3.2.3、如何实现方自动消除满行的方块 (9) 3.2.4、随机从 7 个方块中选择一个 (10) 3.2.5、设置每个模块的测试计 (11) 3.3、整体游戏程序的结构设计 (11) 3.4、程序设计 (13) 四、调试过程 (14) 4.1、设计游戏界面 (14) 4.2、完善与改善游戏界面 (15) 五、运行结果 (18) 六、课程设计总结 (20) 附录 (22)

一、课程设计的目的与要求 1.1、俄罗斯方块的要求 俄罗斯方块的基本规则是移动、旋转和摆放游戏自动输出的各种方块,使之排列成完整的一行或多行并且消除得分,俄罗斯方块游戏是一款适合大众的游戏软件,它适合不同年龄的人玩。本软件要实现的功能如下: (1)游戏区:玩家可以在游戏区中堆积方块,并能够在游戏过程中随时了解得分情况。 (2)游戏控制:玩家可以通过游戏控制功能来选择开始新的一局游戏,暂停或退出游戏。 (3)级别设置:玩家可以根据自己的需要自行设定游戏的开始级别,级别越高,游戏的速度越快,难度越大。 游戏规则如下: (1)电脑随机产生4个小方块组成的不同形状的游戏块,从上往下降落。 (2)游戏面板的宽度为12(以小方块的宽度为单位),高度为22,当一行被12个小方块填满时,此行便会被自动消除。 (3)利用键盘上的左右箭头键可以控制游戏块的左移与右移。 (4)利用键盘上的向上箭头键可以控制游戏块的旋转。

C语言程序设计-俄罗斯方块源程序

其中的主要逻辑有: (1)由于c的随机性函数不好,所以每次游戏开始根据bios时间设置种子。 (2)得分越高,方块下降速度越快(每200分为单位)。 (3)每下落一个方块加1分,每消除一行加10分,两行加30分,三行加70分,四行加150分。初试分数为100分。 游戏控制: up-旋转;空格-下落到底;左右下方向键-控制方向。P-开始或暂停游戏。ESC-退出。 特点: (1)由于tc不支持中文,所以基本都是英文注释。 (2)函数命名尽可能规范的表达其内部处理目的和过程。 (3)代码加上注释仅有577行。(我下载过的两个俄罗斯方块代码一个在1087行,一个在993行,我的比它们代码少)。 (4)除了消除空格时算法比较复杂,其他算法都比较简单易读。 (5)绘图效率和局部代码效率扔有待提高。 (6)FrameTime参数可能依据不同硬件环境进行具体设置,InitGame需要正确的TC路径。 俄罗斯方块源于大约9年前上大一时的一个梦,我们在学习c语言时,我的同寝室友邀请我合作一起完成俄罗斯方块(课外作业性质),但是当时限于我们的水平比较菜和学习状态比较懒散,我们没有完成。大一的时候我在机房里无意发现别人留下的俄罗斯方块程序,运行,老师发现后激动的问我是我写的吗,我惭愧的摇摇头。那时看到别人做c的大程序深感羡慕(自己只是写几十行的程序)。数年后我仍然看到有不同样式的实现,但是我一直没有实现它,知道今天忽然有这个想法去做,算是弥补多年前的遗憾和心愿吧。 --------------------------------------------- Q&A: ---------------------------------------------- Q:我编译时出现错误:fatal error C1083: Cannot open include file: 'bios.h': Nosuch file or directory,该如何解决? A:正文中的代码,是使用Borland公司的TC2.0编译的,编译结果运行在Windows的16位虚拟机上。bi os.h是属于TC的头文件,在VC或者其他编译器中可能没有这个头文件。因此会产生这个错误。 解决办法: (1)可以下载附件中的压缩包,是使用VC6.0进行编译的版本,编译结果是Windows程序,运行在wind ows 32系统上。两者之间的算法完全一致,区别仅仅是绘图时采用的接口不同,TC下采用BGI(进入图形模式),VC下采用的是GDI(使用DC进行绘图)。 (2)下载TC2.0进行编译。 Q:使用TC3.0进行编译时,提示未能初始化图形模式,请使用initgraph函数。 A:这是因为TC3.0的BGI文件的路径和TC2.0有所不同。TC2.0的BGI文件位于TC路径下。而TC3.0的BGI文件位于BGI文件夹中。请把initgame函数中的initgraph函数中的第三个参数设置为正确的路径。例如:initgraph(&..,&..,"C:\\TC\\BGI"); Q:编译后运行时,弹出错误对话框报告16位虚拟机遇到不可执行的指令,点击确定后退出。 A:该问题在某些环境中出现,可能是基于软件或者硬件环境造成,具体原因暂时未知。为避免该问题,请加载附件中的压缩包VC6.0版本。

《俄罗斯方块》程序编写超详细解释

Tc2.0 编写俄罗斯方块游戏 很多编程爱好者都编写过俄罗斯方块的游戏程序。很久以前,我用Tc2.0也做过一个;最近有好些朋友看见我以前的俄罗斯方块的程序后, 问我是怎么做的。我一直想把这个程序的整个过程写一份详细的东西,与各位编程爱好者分享,一直没空。正好现在放假了,而且离回家还有几天。于是我就把这个程序重新写了一遍,尽量使程序的结构比较清晰好懂一些。同时写了下面的这份东西。 俄罗斯方块游戏的程序中用到了一些方法。为了比较容易理解这些方法,我在讲述的同时写了些专门针对这些方法的示例程序。这些示例程序力求短小,目的是用最小的代码能够清楚的示例所用的方法。这些示例程序都经过tc2.0测试。最后还附了完整的俄罗斯方块游戏的源代码,和最终的可执行程序。如果你看了这份东东,有什么意见和想法,请发电子邮件告诉我。我将会继续更新这分东东,最新的版本可以在我的个人主页上下载。 下面的问题是有关俄罗斯方块程序的,其中有些是朋友问我的,有些是我认为可能会被问到的。我尽量按问题从易到难排列这些问题。关于俄罗斯方块程序的一些问题: ****************************************************** Tc2.0中怎么样设置图形显示? Tc2.0中常用图形函数的用法? 怎样获取鍵盘输入? 怎样控制方块的移动? 怎样控制时间间隔(用于游戏中控制形状的下落)? 游戏中的各种形状及整个游戏空间怎么用数据表示? 游戏中怎么判断左右及向下移动的可能性? 游戏中怎么判断某一形状旋转的可能性? 按向下方向键时加速某一形状下落速度的处理? 怎么判断某一形状已经到底? 怎么判断某一已经被填满? 怎么消去已经被填满的一行? 怎么消去某一形状落到底后能够消去的所有的行?(如长条最多可以消去四行) 怎样修改游戏板的状态? 怎样统计分数? 怎样处理升级后的加速问题? 怎样判断游戏结束? 关于计分板设计的问题。 关于“下一个”形状取法的问题。 剩下的问题。 ****************************************************** 新的问题: 我想有一个最高记录的显示,应该怎么做呀? 我想实现一个进度存储功能,应该怎么做呀?

VB编程语言入门学习

https://www.sodocs.net/doc/158148348.html,之旅(一)—失踪的窗体 好久没有新作,架不住兄弟们的问询与诘问,只得拿些旧作来补上近来没空写作的缺乏。羞愧ing!这一 系列与Henry手记系列不一样,是一个人物办法的情形故事,开端发表于《计算机国际》,适用于https://www.sodocs.net/doc/158148348.html, 初 专家,老鸟们就不必在我这一系列的文章上浪费时间了。我期望自个有时间今后,能不断持续这一系列 的文章,参加许多的工程处理方案。一起,我的Henry手记也会持续写下去,以报答长时间以来撑持我的 一切兄弟。 布景:我叫Henry,刚从大学计算机专业结业,新参加索易公司的.NET开发小组;担任带我的喽罗是大李,.NET高手,是个诙谐又有耐性的家伙;老白是咱们有些的头头,常常带给咱们乖僻又难缠的需求。 榜首天上班,白司理就带着我去.NET技能小组签到。“大李,这是新来的同事,你要多帮帮他。”老白 指着我对一个眼镜后边透着闪闪目光的年轻人说。 “没疑问,他会做得极好的。”大李莫非会看相不成?仍是人家谦让呀?不论了,我只需自个尽力就对 了。 20分钟后,我现已在分配给我的一台P4电脑,WindowsXP平台下翻开了Visual https://www.sodocs.net/doc/158148348.html,的集成编译环 境(IDE)开端赏识了。一个多美丽的编译环境呀,能够自选运用时的个性是VB6的还是VC6的。我挑选的 是RAD功用好的VB6个性。 “你刚开端触摸.NET,在系统训练之前先加深点形象,看看https://www.sodocs.net/doc/158148348.html,与VB6有啥不一样吧。你创立两个窗体 ,每个窗体上各有一个按钮,点击时躲藏其地址的那个窗体,切换出另一个窗体来。”大李的声响在耳 边响起,打断了我对IDE的赏识。但他提的需求也太简略了吧,在VB6中只需求两句写在按钮的单击呼应 中的句子就行了: 两个窗体:Form1与Form2。Form1上的按钮为: Command1,Form2上的按钮为: Command2 Private Sub Command1_Click() Me.Hide Form2.Show End Sub Private Sub Command2_Click() Me.Hide Form1.Show End Sub所以,我毫不犹豫地在https://www.sodocs.net/doc/158148348.html,中内开端我的榜首个https://www.sodocs.net/doc/158148348.html,的项目了。首要,新建了一个https://www.sodocs.net/doc/158148348.html, 的Windows应用程序项目,主动生成了一个Windows Form:Form1,在其上参加一个按钮控件:Button1;然后,增加了一个Windows Form:Form2,在其上参加了一个按钮控件:Button2。 在描绘窗口双击Button1后,编译器会切换到代码窗口的Button1的单击呼应代码中。 在代码段中故计重施,当我想写Form2.Show时,在Form2之后打个点,呈现的智能感知菜单中,却没有

VB6.0基础入门教程

VB最简单入门教程

目录 (提示:按ctrl,并单击鼠标,可以跳到相应页) 1.1 1 我们需要什么 (3) 1.2 2 第二章:事件、属性及数据类型 (3) 1.3 3 第三章:VB语言 (6) 1.4 4-1第四章按钮(一) (12) 1.5 4- 第四章按钮(二) (199) 1.6 5 第五章菜单 (27) 1.7 6-1第六章输入(一) (34) 1.8 6-2第六章输入(二) (42) 1.9 6-3第六章输入(三) (52) 1.10 7第七章输出 (59) 附录 (63) 2.1 VB教程 (63)

1.1 1 我们需要什么 我们需要什么?当我们在一个精彩的游戏世界中游历了一番之后,或是惊叹于某一工具软件的小巧精致之余,多少总会产生些许编程的冲动。编程吗,在以前如果你对电脑还是一个门外汉,那实在是一件可望而不可及的事情。如果运用基于DOS下的编程语言,譬如C、Qbasic、Pascal等等,真不知何年何月才能有所成就。 编程是需要天赋的,你必须在大脑中对整个程序有一个清晰的轮廓,一个高效的流程,这并不是每个人都能做到的,你必须思之慎之,这也使编程变成一件最枯燥无味的事情。但在第四代计算机语言(可视化编程)出现后,可以确切的说它开发了人们的更多天赋,并不局限于那些头脑异常清晰的人,每一个人都可以发现自己也可以编出一些从前不敢问津的程序,想象力的充分发挥才是第四代语言的精粹。 Visual Basic(以下简称VB)可以说是可视化语言的先驱了,而且它也是可视化程度最高的一个,从几年前VB诞生之日起到现在,它已经经历了五个版本,而且现在微软正在紧张的进行着VB6.0的研制、测试,这么高的更新率,不外乎说明两个问题:用户对VB的热衷,微软对VB的重视。不可否认微软对市场的预测能力是极为高明的,而它强大的技术、财力支持也使它在许多以前未进入的领域,在不长的时间内有成为最有力的竞争对手,如IE之于浏览器领域,《帝国时代》之于游戏都是最好的例证。对于VB现在也有一个很强的竞争对手――Delphi,有人把它称作VB杀手,这显然有偏激之处,VB的确有它的不足之处,但Delphi 又何尝不是呢,而且以微软对VB的倾心,VB的功能必然会越来越强大。 VB的诞生 VB的出现可以说是Microsoft Windows的日渐成熟的必然产物。Microsoft Windows为程序员和最终用户提供了一个共同的人机界面。对用户,Windows提供了一个图形鼠标的操作环境,该环境对所有的应用程序都一样;对于程序员,Windows提供了一组预定义工具----称之为Microsoft Windows 的软件开发工具箱(SDK),该工具能使程序员建立一个与Windows界面相同的应用程序,而且,程序员不必关心最终用户的硬件配置情况。在这一开发环境中,程序员唯一困难的是Microsoft SDK提供了六百多个函数和与其一致的事件驱动(event-driven)编程技术。两种新方法的交叉使众多的程序员重新陷入困境,程序员不仅要掌握程序驱动编程技术和六百多个函数的功能,而且还得用C语言描述这些问题。因此一般情况下,程序员首先要掌握C程序设计技术,而后再开始学习SDK。这样的条件下就要求在Microsoft多任务环境下出现一种操作方便,使用简单的新工具----Visual Basic由此诞生。 何为可视 英文Visual的意思是“视觉的”,“可视的Baisc”这个名字可能抽象了点,但实际上它却是最直观的编程方法,之所以叫做“可视”,你只要看到VB的界面就会明白,实际上你无需编程,就可以完成许多步骤。在VB中引入了控件的概念,在Windows中控件的身影无处不在,各种各样的按钮、文本框、无线钮,都是控件的种类,VB把这些控件模式化,并且每个控件都有若干属性用来控制控件的外观,工作方法。这样你就可以象在画板上一样,随意点几下鼠标,一个按钮就完成了,这些在以前的编程语言下是要经过相当复杂的工作的。

VB俄罗斯方块游戏课程设计

前言 visual basic继承了basic语言易学易用的特点,特别适合于初学者学习windows系统编程。随着21世纪信息社会的到来,计算机在人们的工作和生活中的深入,要求我们越来越多地与计算机打交道,为了使用户在繁忙的日程工作中得到放松,于是出现了各种各样的休闲软件,如聊天工具,游戏等等。于是我们小组着手设计开始一个这样的游戏软件。通过这学期来Visual Basic的学习,我初步掌握了Visual Basic语言的最基本的知识,于是在化希耀张兵等老师的指导下动手用Visual Basic编写俄罗斯方块游戏。 无可争议,《俄罗斯方块》是有史以来最伟大的游戏之一。它是永恒的娱乐经典,但它实际上又和那些传统的经典娱乐方式不同,因为它的本质是电子化的,所以它的确属于现代产物。《俄罗斯方块》举世闻名的游戏性,在该游戏新鲜出炉时就显得非常直观。某些与坠落的玩具碎片和它们的形状有关的东西,使得哪怕新手也会很自然地企图把它们排列起来,并加以适当组合,就好似《俄罗斯方块》触动了我们某些内在的感官,使得哪怕是我们当中最杂乱无章的人也要把事情整理妥当。 在曾经发布过的所有游戏中,《俄罗斯方块》还被认为是仅有的一个能够真正吸引广泛人群的作品。某些批评家也许会声称,《俄罗斯方块》要比过去二十年间出现的任何东西都要浪费人们的时间。至于我们,则要欣然提名它为GameSpot评选出的历史上最伟大游戏之一。 为了怀念经典,也为了能够给大多的计算机用户在工作之余找到一个休闲、娱乐的一个方式,我们小组开始着手用VB语言开发一个经典的俄罗斯方块游戏。 前言 (1) 1.1项目名称 (2) 1.2设计平台 (2) 1.3程序设计思想 (2) 1.4运用的控件和主要对象 (3) 1.5主要实现的功能 (3) 1.6开发人员与分工 (3) 正文 (3) 2.1游戏设计的具体实现 (3) 2.1.1游戏界面的设计和背景音乐及特效的实现 (4) 2.1.2俄罗斯方块的造型 (4) 2.1.3俄罗斯方块的旋转 (4) 2.1.4如何实现方块的运动和自动消除满行的方块 (5) 2.1.5游戏速度和游戏级别自由选择 (5) 2.1.6游戏得分的计算和游戏菜单的编辑 (6) 2.2游戏功能的介绍 (6) 有关说明 (7) 3.1游戏设计中的不足之处 (7) 3.2VB与C语言之间的不同之处 (8) 3.2.1局部静态变量 (8)

VB语言基础

VB语言基础 第一节标识符 一.定义 标识符是一种标识变量、常量、过程、函数、类等语言构成单位的符号,利用它可以完成对变量、常量、过程、函数、类等的引用。 二.命名规则 1)字母打头,由字母、数字和下划线组成,如A987b_23Abc 2)字符长度小于40,(Excel2002以上中文版等,可以用汉字且长度可达254个字符) 3)不能与VB保留字重名,如public, private, dim, goto, next, with, integer, single等 第二节运算符 定义:运算符是代表VB某种运算功能的符号。 1)赋值运算符= 2)数学运算符&、+ (字符连接符)、+(加)、-(减)、Mod(取余)、\(整除)、*(乘)、/(除)、-(负号)、^(指数) 3)逻辑运算符Not(非)、And(与)、Or(或)、Xor(异或)、Eqv(相等)、Imp(隐含) 4)关系运算符= (相同)、<>(不等)、>(大于)、<(小于)、>=(不小于)、<=(不大于)、Like、Is 5)位运算符Not(逻辑非)、And(逻辑与)、Or(逻辑或)、Xor(逻辑异或)、Eqv(逻辑等)、Imp(隐含)第三节数据类型 VBA共有12种数据类型,具体见下表,此外用户还可以根据以下类型用Type自定义数据类型。 数据类型类型标识符字节 字符串型String $ 字符长度(0-65400) 字节型Byte 无 1 布尔型Boolean 无2 整数型Integer % 2 长整数型Long & 4 单精度型Single ! 4 双精度型Double # 8 日期型Date 无8 公元100/1/1-9999/12/31 货币型Currency @ 8 小数点型Decimal 无14 变体型Variant 无以上任意类型,可变 对象型Object 无4 第四节变量与常量 1)VBA允许使用未定义的变量,默认是变体变量。 2)在模块通用说明部份,加入Option Explicit 语句可以强迫用户进行变量定义。 3)变量定义语句及变量作用域 Dim 变量as 类型 '定义为局部变量,如Dim xyz as integer Private 变量as 类型 '定义为私有变量,如Private xyz as byte Public 变量as 类型 '定义为公有变量,如Public xyz as single Global 变量as 类型 '定义为全局变量,如Globlal xyz as date Static 变量as 类型 '定义为静态变量,如Static xyz as double 一般变量作用域的原则是,那部份定义就在那部份起作用,模块中定义则在该模块那作用。

VB语言基础习题

《第3章VB语言基础》习题 一、填空题 1.写出下列常量的数据类型: 45“45” 4.5D+2 4.5E2 2.指出下列变量的类型: max! i% str$Count% area# 3.指出下列合法的变量名是 Integer,_Student,4r,$test,Use,β,变量,Book/No,Stu.No 4.VB中,字符串常量的分界符是,日期/时间型常量的分界符是。5.执行下列语句,输出的结果是 a$=”Good” b$=”Morning” Print a$+chr(13)+b$ 6.窗体的单击事件中有如下代码: Private sub form1_click() Static x as integer X=x+1 Print x End sub 运行该程序,单击窗体两次,窗体上显示的内容是1 2。7.InputBox函数返回值的数据类型为;MsgBox函数返回值的数据类型为。8.定义变量时如不指定类型,该变量为变量。 9.表达式4 + 6 \ 5 * 7 / 9 Mod 3的值是。 10.表达式Len("幸运52")的值是。 11.可表示[50,100]之间的随机数的语句是。 12.Print方法分区输出时,用分隔多个表达式。 二、单项选择题 1.下列是合法变量的是()。 A、Filename B、A(A+B) C、254Dt D、Print 2.数“8.6787E+8”写成普通的十进制是()。 A、86 787 000 B、867 870 000 C、8 678 700 D、8 678 700 000 3.语句Print 5*5\5/5的输出结果是()。 A、5 B、25 C、0 D、1 4.表达式4+5\6*7/8 Mod 9的值是()。 A、4 B、5 C、6 D、7 5.执行以下程序段后,变量c$的值为()。 a$=”Visual Basic Programming” b$=”Quick” c$=b$ & Ucase (Mid$(a$,7,6)) & Right$(a$,11) A、Visual BASIC Programming B、Quick BASIC Programming C、Quick Basic Programming D、QUICK BASIC Programming 6.执行下面的语句后,所产生的信息框的标题是()。 a=MsgBox(“AAA”,”BBBB”) A、BBBB B、AAA C、空 D、非出错,不能产生消息框

VB语言基础

VB语言基础 (一)VB的程序代码编写机制 (二)常量 (三)变量 (四)基本数据类型 (五)自定义数据类型 (一)VB的程序代码编写机制 在前面我们学习了写软件的过程,先设计界面,再添加代码,再运行调试,虽然我们当前写的软件比较简单,但是软件的编写过程其实就这么三步。 这节课学习VB代码编写机制。打开VB:把按钮控件添加到窗体中,然后将按钮的caption属性修改为“OK”,然后,我们在窗体的名称上面点鼠标右键—“查看代码”,来给按钮添加代码,如下图: Private Sub Command1_Click() Print "a","红客技术" End Sub 然后保存,执行,一切正常!但要注意以下几个问题: 1.语句编写机制; ★程序代码不区分字母大小写。 这里指的是代码,而不是我们执行语句时所给的命令的参考值,比如双引号里的a和双引号里的“红客技术”,这些东西有学名,叫参数。也就是说,这一个命令在运行的时候所参考的数值。如果我们把这些参考的数值更改的话,那么更改为什么值,它就以什么值显示。 结论:不区分大小写主要是指【双引号里】的数值,而不是指Print这些。不信试试… ★一般情况下,每行一句语句,没有语句终结符。 比如:x=123 Y=456 ★长语句可以通过续行符“”(一个空格后面跟一个下划线)将其分成多行。 有的时候,我们要执行的一个命令非常的长,怎么办?可以把这个命令分成多行显示,此时要加续行符。续行符是一个“空格”后面跟一个“下划线”。这

样VB就认为它只是一句话而已,运行时就不会产生错误。如: Print "a", "红客技术", "计算机病毒", _ "黑客技术" 其中第一行最后的“ _”就是续行符。但要注意不能在参数中间加续行符! ★多个语句通过冒号“:”分隔,将其合并到同一行上。 有时候我们也可以将2句合成一句,如: x=123 Y=456 允许写在一行上,但需要在两句之间用“:”这个冒号隔开,这样,VB就会认为冒号是分隔个个语句的标记。 2.注释; 作用:提高程序代码的可读性; 比如我写了两行代码,但是担心过后会忘记具体的含义,所以,我们就有必要给代码加上注释。这样,不仅自己,别人在阅读时,也可以大概明白你的代码含义。注释的方法有3种: ★Rem 注释内容; rem Print的含义是输出 Print "a", "红客技术", "计算机病毒","黑客技术" 其中第一句是注释内容 ★'注释内容 也可以在代码的后面注释。如: Print "a", "红客技术", "计算机病毒", "黑客技术" 'Print的含义是输出 ★块注释方法 如果各位有机会去写大型程序,那么非常让人骄傲的事情,因为这是对自己所学的一次难得的考验机会,那么,既然是大型程序,代码自然多,因此,出问题的机率也自然多。那我们要是仅仅想审核这部分“问题”代码,该怎么操作呢?如: Print "a", "红客技术" Print "b", "红客技术" Print "c", "红客技术" Print "d", "红客技术"

vb俄罗斯方块代码

经典俄罗斯方块演示: 代码如下: Dim Type_Now As Integer '目前方块的类型Dim Type_Next As Integer '下个方块的类型Dim intRotate As Integer '方块旋转的状态 Function Get_X_Value() If GetValue(1, 2) Then 'Get X Value If MaxX - MinX >= 2 Then If MaxX - CurX <= 1 Then Adjust_Left = MaxX - 2 - 1

Else Adjust_Left = CurX - 1 End If Get_X_V alue = True Exit Function End If End If Get_X_Value = False End Function Function GetValue(nType As Integer, nWid As Integer) Call GetCoor On Error Resume Next Dim OKCount, EmptyCount As Integer MinX = Xs(1).cX MaxX = Xs(1).cX MinY = Xs(1).cY MaxY = Xs(1).cY For i = 2 To 4 If MinX > Xs(i).cX Then MinX = Xs(i).cX If MaxX < Xs(i).cX Then MaxX = Xs(i).cX If MinY > Xs(i).cY Then MinY = Xs(i).cY If MaxY < Xs(i).cY Then MaxY = Xs(i).cY Next For i = MinX To MaxX For j = MinY To MaxY If Total(i, j) Then GetValue = False Exit Function End If Next Next If nType = 0 Then 'Get Y Value EmptyCount = 0 'Get MinY OKCount = 0 For i = MinY - 1 To MinY - (nWid - 1) Step -1 For j = MinX To MaxX If Total(j, i) = False Then OKCount = OKCount + 1 Next If OKCount >= picPictureNow.Width And OKCount >= picPictureNow.Height Then EmptyCount = EmptyCount + 1

相关主题