窗体出现目标,鼠标单击即可得分,不中则生命数减少
还需要求时间,目标随机生基本要求:
(1)要求使用面向对象和结构化程序设计的编程思路。
(2)在射击区域内随机出现射击目标,如果在规定的时间内单击中目标就增加分数并且生成新的目标,如果没有单击中则减少生命数。
(3)程序界面如右图。单击开始后显示射击目标。当鼠标在一秒钟内单击到目标(目标可以由图片、文本框等控件来表示)则加分,如果没有单击到目标就减少生命。生命减少到0时结束游戏。
2.问题的解决方案:
单击开始按钮后随机生成目标的位置(top和left属性),同时令timer控件开始计时。目标的单击事件中进行加总分和重新生成目标以及重新启动timer控件。如果规定时间内没有单击目标,会触发timer控件的timer事件,在timer事件中进行生命数减少、重新确定目标位置和重新启动timer控件的功能。
随机位置的确定:
利用控件的top和left属性可以改变控件的位置。随机位置利用rnd函数生成随机数。成,目标由文本框图片等生成,帮忙啦
vb程序设计射击游戏
答案:5 悬赏:60 手机版
解决时间 2021-02-20 03:07
- 提问者网友:咪咪
- 2021-02-19 05:33
最佳答案
- 五星知识达人网友:何以畏孤独
- 2021-02-19 07:13
Private Declare Function GetObject Lib "gdi32 "
Private Declare Function GetBitmapBits Lib "gdi32 "
Private Declare Function SetBitmapBits Lib "gdi32 "
Dim PicBits() As Byte, PicInfo As BITMAP, Cnt As Long
Private Sub Command1_Click()
Set Picture1.Picture = Clipboard.GetData(vbCFBitmap)
GetObject Picture1.Picture, Len(PicInfo), PicInfo
Debug.Print PicInfo.bmWidth * PicInfo.bmHeight * 3
ReDim PicBits(1 To PicInfo.bmWidth * PicInfo.bmHeight * 3) As Byte
GetBitmapBits Picture1.Picture, UBound(PicBits), PicBits(1)
For Cnt = 1 To UBound(PicBits)
PicBits(Cnt) = 255 - PicBits(Cnt)
Next Cnt
SetBitmapBits Picture1.Picture, UBound(PicBits), PicBits(1)
Picture1.Refresh
End Sub
Private Declare Function GetBitmapBits Lib "gdi32 "
Private Declare Function SetBitmapBits Lib "gdi32 "
Dim PicBits() As Byte, PicInfo As BITMAP, Cnt As Long
Private Sub Command1_Click()
Set Picture1.Picture = Clipboard.GetData(vbCFBitmap)
GetObject Picture1.Picture, Len(PicInfo), PicInfo
Debug.Print PicInfo.bmWidth * PicInfo.bmHeight * 3
ReDim PicBits(1 To PicInfo.bmWidth * PicInfo.bmHeight * 3) As Byte
GetBitmapBits Picture1.Picture, UBound(PicBits), PicBits(1)
For Cnt = 1 To UBound(PicBits)
PicBits(Cnt) = 255 - PicBits(Cnt)
Next Cnt
SetBitmapBits Picture1.Picture, UBound(PicBits), PicBits(1)
Picture1.Refresh
End Sub
全部回答
- 1楼网友:英雄的欲望
- 2021-02-19 10:13
自己找一个瞄准器的ico图标,然后改一下路径:
private sub form_load()
me.mousepointer = 99
me.mouseicon = loadpicture("c:\torchlight\torchlight\torchlight.ico")
end sub
- 2楼网友:摆渡翁
- 2021-02-19 09:34
分太少
- 3楼网友:猎心人
- 2021-02-19 09:23
可以制作 原创代码+详细注解 有意扣我··
- 4楼网友:底特律间谍
- 2021-02-19 08:23
《战地风云OL》不只是单纯的步兵战,而是以分队模式与敌人进行对抗.指挥官,分队长,分队员等多样的职位,使你在游戏中可以充当不同的角色去做不同的事情。官网已经公布会在6月28日封测
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯