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
用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