- 博客(0)
- 资源 (2)
空空如也
用vb对图像进行 镜像处理
vb 镜像处理
Dim c As Long, x As Integer, y As Integer
Private Sub command1_Click()
Picture2.Cls
For i = 0 To Picture1.ScaleWidth - 1
For j = 0 To Picture1.ScaleHeight - 1
c = Picture1.Point(i, j)
x = i
y = Picture1.ScaleHeight - j
Picture2.PSet (x, y), c
Next j
Next i
End Sub
Private Sub Command2_Click()
Picture2.Cls
For i = 0 To Picture1.ScaleWidth - 1
For j = 0 To Picture1.ScaleHeight - 1
c = Picture1.Point(i, j)
x = Picture1.ScaleWidth - i
y = j
Picture2.PSet (x, y), c
Next j
Next i
End Sub
Private Sub Command3_Click()
Picture2.Cls
For i = 0 To Picture1.ScaleWidth - 1
For j = 0 To Picture1.ScaleHeight - 1
c = Picture1.Point(i, j)
Picture2.PSet (Picture1.ScaleWidth - i, Picture1.ScaleHeight - j), c
Next j
Next i
End Sub
Private Sub Form_Load()
Picture1.ScaleMode = 3
Picture2.ScaleMode = 3
End Sub
2011-06-11
用vb做一个简单的射击游戏
用vb做一个简单的射击游戏
Option Explicit
Dim RandX As Single
Dim RandY As Single
Dim Score As Single
Dim Thisscore As Single
Dim Average As Single
Dim Shot As Integer
Dim Appear As Boolean
Dim Distance As Single
Private Sub Command1_Click()
Timer1.Enabled = True
Command3.Enabled = True
If Command1.Enabled = True Then
Command3.Caption = "暂停"
End If
Command4.Enabled = True
End Sub
Private Sub Command2_Click()
If Command4.Enabled = True Then
MsgBox "请先结束游戏", 48, "警告"
Else
End
End If
End Sub
Private Sub Command3_Click()
Command1.Enabled = False
Command3.Caption = "继续"
Timer1.Enabled = Not Timer1.Enabled
If Timer1.Enabled = True Then
Command3.Caption = "暂停"
End If
End Sub
Private Sub Command4_Click()
Timer1.Enabled = False
Command3.Enabled = False
Command1.Enabled = True
Picture1.Cls
Label1.Caption = "射击:"
Label2.Caption = "平均得分:"
Label3.Caption = "环数:"
Label4.Caption = "总分:"
Command4.Enabled = False
Command3.Caption = "暂停"
End Sub
Private Sub Form_Load()
Appear = False
Timer1.Enabled = False
Thisscore = 0
Score = 0
Shot = 0
End Sub
Private Sub Picture1_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
Beep
Shot = Shot + 1
Picture1.DrawWidth = 4
Picture1.PSet (X, Y), RGB(255, 0, 0)
Distance = Sqr((X - RandX) * (X - RandX) + (Y - RandY) * (Y - RandY))
If Appear And Timer1.Enabled Then
Thisscore = 5 - Int(Distance / 10)
If Thisscore <= 0 Then
Thisscore = 0
End If
Score = Score + Thisscore
Average = Int((Score / Shot) * 100) / 100
Label1.Caption = "射击:" + Str(Shot) + "发"
Label2.Caption = "平均得分:" & Format(Average, "0.00") & "环"
Label3.Caption = "环数:" + Str(Thisscore) + "环"
Label4.Caption = "总分:" + Str(Score) + "环"
End If
End Sub
Private Sub Timer1_Timer()
Dim i As Integer
Appear = Appear Xor True
RandX = 500 * Rnd()
RandY = 370 * Rnd()
If Appear Then
Form1.Picture1.AutoRedraw = True
Picture1.DrawWidth = 1
Picture1.DrawStyle = 0
For i = 10 To 50 Step 10
Picture1.Circle (RandX, RandY), i, RGB(0, 0, 255)
Next i
Picture1.Line (RandX - 60, RandY)-(RandX + 60, RandY)
Picture1.Line (RandX, RandY - 60)-(RandX, RandY + 60)
Else
Picture1.Cls
End If
End Sub
2011-06-11
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人