开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2116|回复: 3
收起左侧

[源码分享] 编写趣味撞球小游戏

[复制链接]

结帖率:100% (11/11)
发表于 2013-8-1 00:09:29 | 显示全部楼层 |阅读模式   河北省衡水市
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)*Form1.ScaleWidth/10)*5+25

BallY=Int((Form1.ScaleHeight)/10)*5

AddX=-5

AddY=-5

Form_Paint

Timer1.Enabled=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 Timer1.Enabled=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()

Form1.Circle(BallX,BallY),4,&HC0C0C0

BallX=BallX+AddX

BallY=BallY+AddY

Form1.Circle(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

Timer1.Enabled=False

Form_Paint

End If

AddY=-AddY

End If

End Sub


发表于 2016-9-24 19:36:29 | 显示全部楼层   陕西省西安市
运行下看看是什么东西。。
回复 支持 反对

使用道具 举报

结帖率:100% (6/6)
发表于 2013-8-1 00:17:56 | 显示全部楼层   广东省东莞市
目测  你也不懂

点评

VB目测好学吧 目测 你肯定懂 什么 c#啊 C++啊 什么VB啊 当然 还有E 大婶啊   河北省衡水市  发表于 2013-8-1 01:50
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表