admin 管理员组

文章数量: 887021


2024年1月23日发(作者:如何运行php里的文件)

VB教程网 /VBjc/

Oicq头像自己作

VB与Flash联合打造你的魅力程序

跟我学做记事本

编制自已的电话录音小程序

一个实用的VB屏幕程序

VB设计能自动存盘的记事本

VB设计动画时钟

VB利用高级音频函数编写多媒体播放器

VB多媒体程序设计

VB实现在PC上通过手机发短消息(一)VB实现在PC上通过手机发短消息(二)

v

b开发通信软件

编写网络寻呼机

播放MP3文件

利用Visual Basic设计多媒体应用程序

用Socket和MSHTML对象模型创建自己设计简单的屏幕保护程序

一个小巧精致的CPU监视器

的浏览器

带有历史记录功能的菜单

VB托盘程序详解一

VB托盘程序详解二

VB托盘程序详解三

VB托盘程序详解四

VB托盘程序详解五

在VB中利用UDP协议编写聊天程序

Visual Basic设计图形浏览器示例

制作带有动画和声音的屏幕保护程序

制作自己的网络搜索软件

做个“网络助手”程序

Vb 5.0制作多媒体动画漫谈

VB6.0中实现字体闪烁效果

VB实现按钮浮动效果

一个用VB5.0 实现的鼠标绘图程序

在VB中制作可滚动的图像显示

VB中播放三维动画编程一例

VB游戏写作技巧(1)秀图篇

应用VB实现工业控制的实时曲线和历史VB游戏写作技巧(2)网络篇

端口扫描器

曲线

用EXCEL来打印报表并生成折线图

用EXCEL组件简化VB编程的一种方法

用Internet Transfer编写FTP程序

设计Chat程序

设计E-mail程序

用VB开发IE

趣味撞球

利用VB设计聊天室

一个图像滤光处理程序

设计Browser及FTP程序

Cool 3D 浮动按钮的仿真作法

RGB调色板

VB中利用OpenGL绘制三维地质构造图VB中利用OpenGL绘制三维地质构造图VB中利用OpenGL绘制三维地质构造图三

一个自动更换墙纸的小软件

用MCI指令进行多媒体编程

用OLE实现文件拖放

用Sockets发送电子邮件

用VB创建Windows快捷方式

用VB收集键盘和鼠标信息

用VB设计多功能计时器

用VB5直接控制Excel97

用VB制作文字上卷效果

用VB6.0编写电脑抽奖程序

用VB6.0编写自己的MP3播放器

用VB6.0开发通信软件的技巧

用VB6.0快速实现图象加柔效果

用VB6.0制作画图板

用VB6.0中文版进行DHTML程序开发

用VB6的双通道技术获得影碟片断

用VB6建立带光栅的超级开始菜单

用VB6轻松实现图片旋转

用VB6设计有趣的动画场景

用VB编程绘制网格图像

用VB编程检测当前电池使用情况

用VB编写DirectX7.0游戏(上)

用VB编写DirectX7.0游戏(下)

用VB编写FLASH动画播放器

用VB编写Flash图像浏览器

用VB编写定时关闭计算机的程序

用VB编写键盘拦截程序

用VB编写接近实际的抽奖程序

用VB编写小型的网络系统

用VB操作注册表一

用VB操作注册表二

用VB操作注册表三

用VB操作注册表四

用VB操作注册表五

用VB操作注册表六

用VB设计VCD播放器

用VB操作注册表七

用VB创建自己的通信程序

用VB构建Internet的应用

用VB函数轻松访问系统注册表

用VB绘制抛物线动画曲线

用VB绘制正弦动画曲线

用VB获取正在系统中运行的窗口标题

用VB将命令行软件Windows化

用VB开发标准CGI程序

用VB开发多通道仪表数据采集程序

用VB设计VCD播放器 1

用VB设计聚焦框程序

用VB设计控制上网时间程序

用VB设计一个定时闹钟程序

用VB实现ICQ式的启动欢迎画面

用VB实现百叶窗的图形特效

用VB实现窗口图标最小化到通知栏(一)用

VB实现窗口图标最小化到通知栏(二)

用VB实现队列播放MP3

实现客户——服务器(TCP-IP)编程实例用

VB实现类电子表格的数据录入

用VB实现聊天讨论室和点对点会话

用VB实现屏幕滚屏保护效果

用VB实现托盘动画图标

用VB实现网络蚂蚁的拖放窗口

用VB实现应用程序在局域网络上自动更用VB写高效的图像处理程序

用VB制作RM压缩软件

用VB制作屏幕保护程序

用VB制作下雪的特技景象

用VB制作浏览器

用Visual Basic设计E-mail程序(MAPI)

用VB定制BMP文件

用Visual Basic的Move方法实现动画效果

用Visual Basic设计窗体背景花纹

在Visual Basic 6.0中实现自动播放VCD

雨滴式的显示图片

自动记录应用软件工作时间

在图片上平滑移动文字

制作图形的Mask图

制作渐变的窗口背景色

自己的IE——用VB制作浏览器

邮件检查程序(一)

VB6编程中如何获取硬盘分区信息

VB编写异步多线程下载程序

显示动画光标实例

递归过程在VB中的应用实例(一)

用VB实现拖放功能

用VB实现网页下载跟踪程序

用VB写一个定时PING某IP的程序

用VB制作文件下载程序

用VB自制屏幕保护程序

用Vb6.0编写客户服务器程序

用Visual Basic实现多画面播放功能

在VB中模拟实现邮件传输

制作TopMost窗口

字体闪烁

邮件检查程序(二)

如何实现霓虹灯效果

递归过程在VB中的应用实例(二)

编写趣味撞球小游戏

文章来源: 沐风经典 文章作者: 佚名

Visual Basic是一个功能强大的工具,它有一大特点就是易学易用,下面我们就通过写一个“趣味撞球” 的程序来初步体会一下。

首先启动VB5,新建一个标准的EXE工程。此时可以看到,工程包括一个Form1框体。在Form1边框的右下角按住鼠标左键不放,拖动鼠标把Form1的面积改为适当大小,比如6930×4320。再在属性框中把Form1的ScaleMode 属性改为3-Pixel,表明我们将以像素为我们的坐标计算单位,把Form1的StartUpPosition 属性设为2-CenterScreen,使运行时窗体出现在屏幕正中。

现在,在控件面板上选取CommandButton(命令按钮)控件,为Form1添加Command1和Command2两个按钮控件,把它们的大小设为121×25,再在属性框中把Command1的Caption填为“&GO”,把Command2的Caption填为“&QUIT”,并把Command1放到框体的右上角,把Command2放到框体的右下角。

然后,在控件面板上选取Timer(时钟)控件,为Form1添加一个Timer1时钟控件。再在属性框中把它的Enabled属性改为False,Interval属性改为50,前一个值表示该时钟控件是否激活,后一个值决定该时钟控件产生Timer事件的间隔时间,我们将用它来控制小球的移动频率。

到此为止,我们已经完成了全部的界面设计工作。接下来要做的全部工作就是填入程序

代码了。

Dim BallX As Integer

Dim BallY As Integer

Dim AddX As Integer

Dim AddY As Integer

Dim HitX As Integer

Dim W As Integer

Dim H As Integer

Private Sub Command1_Click()

BallX=Int(Rnd(1)*idth/10)*5+25

BallY=Int((eight)/10)*5

AddX=-5

AddY=-5

Form_Paint

d=True

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Form_MouseMove(Button As Integer,Shift As Integer,X As Single,Y As Single)

X=X-50

If X<15 Then X=15

If X>W-105 Then X=W-105

HitX=X

If d=True Then

Line(16,H-5)-(W-6,H),&HC0C0C0,BF

Line(HitX,H)-(HitX+100,H-5),0,BF

End If

End Sub

Private Sub Form_Paint()

Cls

W=Int((ScaleWidth-140)/5)*5

H=Int((ScaleHeight-10)/5)*5

BackColor=&HC0C0C0

Line(10,10)-(15,H),0,BF

Line(W-5,10)-(W,H),0,BF

Line(10,10)-(W,15),0,BF

End Sub

Private Sub Timer1_Timer()

(BallX,BallY),4,&HC0C0C0

BallX=BallX+AddX

BallY=BallY+AddY

(BallX,BallY),4,0

If BallX<=20 Then AddX=-AddX

If BallY<=20 Then AddY=-AddY

If BallX>=W-10 Then AddX=-AddX

If BallY>=H-10 Then

If BallXHitX+100 Then

d=False

Form_Paint

End If

AddY=-AddY

End If

End Sub

一旦程序代码输入完毕,你就可以按F5开始执行它,或是在File菜单里选取Make来生成EXE执行文件了,瞧,小球已经在你的屏幕上蹦来蹦去了。

本文来自编程入门网:/VBjc/vbyx/

用VB6.0设计简易赛车游戏

文章来源: programfan 文章作者: yaozheng

简单的游戏往往更耐玩,就比如伴我度过高考的赛车游戏:一切都是方块,所谓的赛车也只是四个方块。

第一步,绘制对象:用函数drawcar()画赛车,drawway(n)画跑道的第n层。

第二步,接受控制:Form的KeyPreview属性要设为true,在Form_KeyPress函数中通过改变全局变量cx来控制赛车的位置。

第三步,游戏循环:作为即时游戏,必须要有一个Timer,并在其事件Timer1_Timer()

中绘制所有对象和进行碰撞检测。本例中,绘图部分写在了Timer1_Timer()中,碰撞测试放在了test()中。

„„这也是所有即时游戏所共通的框架。当然,我们往往还是根据具体的设计作一些变通,发挥一些技巧„„比如这里设计的跑道是随机产生的的,这就要通过一点技巧以便既让玩家感到挑战,又不至于出现不可逾越的难关„„

下面是全部源代码,窗体上只需放个按钮Command1就行了!

Const D = 100 '方格的宽度

Const BT = 3000 '跑道底部的y坐标

Dim l1(22) As Integer '每层跑道左边有几个方块

Dim l2(22) As Integer '每层跑道右边有几个方块

Dim cx As Single '赛车的在x轴的位置

Private Sub Command1_Click()

cx = Width / 2 - 3 * D / 2

cy = Height - D

drawcar

For i = 1 To 20

l1(i) = 0

l2(i) = 0

drawway (i)

Next i

d = True

End Sub

Private Sub drawcar()

Line (cx, BT - 100)-Step(3 * D, D), BackColor, BF

Line (cx + D, BT - 200)-Step(D, D), BackColor, BF '先擦

Line (cx, BT - 100)-Step(3 * D, D), RGB(225, 0, 0), BF

Line (cx + D, BT - 200)-Step(D, D), RGB(225, 0, 0), BF

End Sub

Private Sub drawway(n)

Line (Width/2-3*D/2-2*D,BT-n*D)-Step(7*D,D),BackColor, BF

'先擦后画

Line (Width/2-3*D/2-2*D,BT-n*D)-Step(l1(n)*D, D), ,BF

Line (Width/2-3*D/2+5*D,BT-n*D)-Step(-l2(n)*D,D), ,BF

End Sub

Private Sub Form_KeyPress(KeyAscii As Integer)

Select Case KeyAscii

Case Asc("a"), Asc("A")

cx = cx - D

Case Asc("s"), Asc("S")

cx = cx + D

End Select

End Sub

Private Sub Timer1_Timer()

Randomize

For i = 1 To 19

l1(i) = l1(i + 1)

l2(i) = l2(i + 1)

drawway (i)

Next i

Do

l1(20) = Int(Rnd * 5)

l2(20) = Int(Rnd * 5)

Loop Until ((l1(20) + l2(20) <= 4) And (l1(20) - l1(19) <= 1) And _

(l2(20) - l2(19) <= 1) And (l1(19) + l2(20) <= 4) And _

(l1(20) + l2(19) <= 4)) '这里生成新一层跑道,

'注意要筛去玩家不可能通过的情况!

drawway (20)

'以上画出跑道

drawcar

test

End Sub

Private Sub test()

If 3.5*D-Width/2+cx

If 3.5*D-Width/2+cx+D

If 3.5*D-(cx+3*D-Width/2)

If 3.5*D-(cx+2*D-Width/2)

End Sub

本文来自编程入门网:/VBjc/vbyx/

Visual Basic小游戏:猜英雄

文章来源: 电脑报 文章作者: 游侠

相信不少读者都看过央视的《水浒》吧,林冲、武松、李逵等英雄好汉的音容笑貌仿佛还浮现在我的眼前,那么108将中你最喜欢谁呢?我做了一个小程序来让电脑猜测你的心思,程序界面如图所示。

为了简化问题,我选择了其中的27将,将他们分成3组,每组9人。如果你最喜欢其中的一个(比如史进),他在第一组出现了,那么就按下按钮“第一组”。然后这27将会重新排列顺序,你再找史进在哪一组,比如发现他在第二组,就按下按钮“第二组”,画面中的人物次序会再次打乱,再找史进所在组别„„最多3次,电脑将会猜出你心中的英雄!

知道了玩法,下面我将介绍程序是如何实现的:

一、猜测的奥妙——推算原理

猜测的原理其实也不复杂,我们来模拟一下猜测的过程大家就清楚了。程序初始化时是把1~27将随机打乱分别放入PageControl控件的三个选项卡中,每个选项卡放9张图片。点击一次按钮后其实不是盲目地将顺序打乱,而是进行了筛选,把有用的图片(就是点选的那组的9张图片)筛选出来平均分配到PageControl控件的三个选项卡中,再把不需要的图片集中起来平均分配到PageControl控件的三个选项卡中,最后在各个选项卡中把有用的、无用的图片随机打乱再次重新排列显示出来,从而完成猜测。用表1来说明:

点击按钮的次数 选项卡1 选项卡2 选项卡3

1 3 3 3

2 1 1 1

3 0 0 0

具体讲,当第一次按下按钮时,表示你相中的图片在其中一个选项卡的9张图片内。于是把这9张图片均分成3份,每份3张,分别送入3个选项卡,其余的图片就不做考虑了。当第二次按下按钮时,表示你相中的图片在其中一个选项卡的3张图片内,于是把这3张图片均分成3份,每份1张,分别送入3个选项卡,当第三次按下按钮时,表示你相中的图片在其中一个选项卡的1张图片内,毫无疑问,这张图片就是你相中的图片,于是程序把这张图片显示出来。

打乱重排的算法

在程序中的很多地方要涉及打乱顺序重排的问题,下面我们就来先简单介绍一下打乱是如何实现的。

这里要实现的方法是比较简单的,也就是多次把数组的不同位置的值互换,就像读小学时老师让两个同学互换位置一样,老师不断随机抽两个同学互换位置,最后同学们的座位就都重新排了一遍。

举个例子:

int I,temp1,temp2,a[2],b[27]

for(i=1;i<=27;i++)//先对数组赋初值

b[i]=I;

randomize();

for(i=1;i<=500;i++)//i的大小决定打乱的程度,循环次数越多,打乱程度越高

{

temp1=random(27)+1;

temp2=random(27)+1;

a[1]=b[temp1];

b[temp1]=b[temp[2];

b[temp2]=a[1];

}

//输出

ListBox1->Clear();

for(i=1;i<=27;i++)

ListBox1->Items->Add(IntToStr(b[i]));

如上例所示,经过打乱,b[27]数组将不再是旧时容颜。

二、实现的关键——筛选算法的介绍

在整个实现的过程中,如何在每一次打乱后对人物进行筛选是程序的关键所在,处理不好,程序就不会有结果。而且筛选很容易把你搅得头晕脑胀,所以涉及的各个数组之间的关系一定要先理顺,先用一个例子来解释如何进行筛选。以点击按钮的次数是第一次并且点击的按钮是Button1为例加以介绍,其思路如下:

初始:

第一次执行按钮事件并且按下的是Button1时(表a的数组就是关键数组):

把表a打乱后平均拆分为3组分别送入内存缓冲区

把表b和表c打乱后也平均拆分为3组分别送入内存缓冲区(非重要的数组),然后将它们进行组合,分别把有用的和无用的搭配重新组合为三张表并显示出来:

把全部的筛选过程表述出来:

1.初始化:

把a[1-27]打乱并将

a[1-9] 赋给first[1-9]

a[10-18] 赋给second[1-9]

a[19-27] 赋给third[1-9]

2.第一次按钮事件(假设选中的是第二个选项卡)

second[1-9]打乱后赋给temp1[1-3]、temp2[1-3]、temp3[1-3]

a[1-9]+a[19-27]赋给temp4[1-18] 并打乱

temp1[1-3]+temp4[1-6]赋给first[1-9]并打乱

temp2[1-3]+temp4[7-12]赋给second[1-9] 并打乱

temp3[1-3]+temp4[13-18]赋给third[1-9] 并打乱

3.第二次按钮事件(假设选中的是第二个选项卡)

temp2[1-3]打乱后赋给temp5[1]、 temp6[1] 、temp7[1]

temp1[1-3]+temp3[1-3]+temp4[1-18]赋给temp8[1-24]并打乱

temp5[1]+temp8[1-8]赋给first[1-9] 并打乱

temp5[2]+temp8[9-16]赋给second[1-9] 并打乱

temp5[3]+temp8[17-24]赋给third[1-9] 并打乱

4.第三次按钮事件(如果选中的是第二个选项卡)

把temp5[2]所对应的图片显示出来即可。

最后分别把表a—表c打乱后显示出来即可。 进行二次、多次筛选的方法都一样,只是要注意相中的好汉在哪个数组里面,千万别搞错就行了。

三、小结

最后的工作就比较简单了。可以设计一个友好的界面,然后在程序启动的时候对数组赋初值,并显示出来;对每个按钮分别先进行次数判断,然后进行前面讲述的处理,不断筛选直到剩下惟一的好汉后就可以显示在界面的正下方了。

本文来自编程入门网:/VBjc/vbyx/


本文标签: 程序 实现 设计 图片 编写