Forum
Bildirimler
Hepsini Temizle
Yazılım Genel
3
Yazılar
2
Üyeler
0
Reactions
494
Görüntüleme
Konu başlatıcı
Belgelere eklenen ActiveX denetimlerini VBA kodları yardımıyla dinamik olarak kullanabilir, üzerinde düzenlemeler yapabilirsiniz. Belgeye eklediğimiz Image nesnesi yardımıyla Puzzle oyunu yapmaya çalışacağız. Puzzle oyunu için belgenize 9 adet image, 1 adet buton, 1 adet textbox ekleyiniz.
Programa ait kodları yazalım.
Aşağıdaki kodları Module kısmına yazınız.
Public dizi(9) As Integer
Sub puzzle()
Randomize
For i = 1 To 9
dizi(i) = 0
Next
dizi(1) = Int((Rnd * 9) + 1)
Do
dizi(2) = Int((Rnd * 9) + 1)
Loop While dizi(2) = dizi(1)
Do
dizi(3) = Int((Rnd * 9) + 1)
Loop While dizi(3) = dizi(1) Or dizi(3) = dizi(2)
Do
dizi(4) = Int((Rnd * 9) + 1)
Loop While dizi(4) = dizi(1) Or dizi(4) = dizi(2) Or dizi(4) = dizi(3)
Do
dizi(5) = Int((Rnd * 9) + 1)
Loop While dizi(5) = dizi(1) Or dizi(5) = dizi(2) Or dizi(5) = dizi(3) Or dizi(5) = dizi(4)
Do
dizi(6) = Int((Rnd * 9) + 1)
Loop While dizi(6) = dizi(1) Or dizi(6) = dizi(2) Or dizi(6) = dizi(3) Or dizi(6) = dizi(4) Or dizi(6) = dizi(5)
Do
dizi(7) = Int((Rnd * 9) + 1)
Loop While dizi(7) = dizi(1) Or dizi(7) = dizi(2) Or dizi(7) = dizi(3) Or dizi(7) = dizi(4) Or dizi(7) = dizi(5) Or dizi(7) = dizi(6)
Do
dizi(8) = Int((Rnd * 9) + 1)
Loop While dizi(8) = dizi(1) Or dizi(8) = dizi(2) Or dizi(8) = dizi(3) Or dizi(8) = dizi(4) Or dizi(8) = dizi(5) Or dizi(8) = dizi(6) Or dizi(8) = dizi(7)
Do
dizi(9) = Int((Rnd * 9) + 1)
Loop While dizi(9) = dizi(1) Or dizi(9) = dizi(2) Or dizi(9) = dizi(3) Or dizi(9) = dizi(4) Or dizi(9) = dizi(5) Or dizi(9) = dizi(6) Or dizi(9) = dizi(7) Or dizi(9) = dizi(8)
Nesneleri_Dagit
ActiveDocument.TextBox1.Text = Empty
End Sub
Private Sub Nesneleri_Dagit()
With ActiveDocument
.Shapes(dizi(1)).Top = 0
.Shapes(dizi(1)).Left = 0
.Shapes(dizi(2)).Top = 70
.Shapes(dizi(2)).Left = 0
.Shapes(dizi(3)).Top = 140
.Shapes(dizi(3)).Left = 0
.Shapes(dizi(4)).Top = 0
.Shapes(dizi(4)).Left = 70
.Shapes(dizi(5)).Top = 70
.Shapes(dizi(5)).Left = 70
.Shapes(dizi(6)).Top = 140
.Shapes(dizi(6)).Left = 70
.Shapes(dizi(7)).Top = 0
.Shapes(dizi(7)).Left = 140
.Shapes(dizi(8)).Top = 70
.Shapes(dizi(8)).Left = 140
.Shapes(dizi(9)).Top = 140
.Shapes(dizi(9)).Left = 140
End With
End Sub
Aşağıdaki kodları Documan sayfasına yazınız.
Private Sub CommandButton1_Click()
puzzle
End Sub
Private Sub Image1_Click()
TextBox1.Text = Val(TextBox1.Text) + 1
sol = Val(Image1.Left)
ust = Val(Image1.Top)
sols = Val(Image9.Left)
usts = Val(Image9.Top)
If sol <> sols And ust <> usts Then Exit Sub
If sol - sols > 72 Or sols - sol > 72 Then Exit Sub
If ust - usts > 72 Or usts - ust > 72 Then Exit Sub
Image1.Left = sols
Image1.Top = usts
Image9.Left = sol
Image9.Top = ust
End Sub
Private Sub Image2_Click()
TextBox1.Text = Val(TextBox1.Text) + 1
sol = Val(Image2.Left)
ust = Val(Image2.Top)
sols = Val(Image9.Left)
usts = Val(Image9.Top)
If sol <> sols And ust <> usts Then Exit Sub
If sol - sols > 72 Or sols - sol > 72 Then Exit Sub
If ust - usts > 72 Or usts - ust > 72 Then Exit Sub
Image2.Left = sols
Image2.Top = usts
Image9.Left = sol
Image9.Top = ust
End Sub
Private Sub Image3_Click()
TextBox1.Text = Val(TextBox1.Text) + 1
sol = Val(Image3.Left)
ust = Val(Image3.Top)
sols = Val(Image9.Left)
usts = Val(Image9.Top)
If sol <> sols And ust <> usts Then Exit Sub
If sol - sols > 72 Or sols - sol > 72 Then Exit Sub
If ust - usts > 72 Or usts - ust > 72 Then Exit Sub
Image3.Left = sols
Image3.Top = usts
Image9.Left = sol
Image9.Top = ust
End Sub
Private Sub Image4_Click()
TextBox1.Text = Val(TextBox1.Text) + 1
sol = Val(Image4.Left)
ust = Val(Image4.Top)
sols = Val(Image9.Left)
usts = Val(Image9.Top)
If sol <> sols And ust <> usts Then Exit Sub
If sol - sols > 72 Or sols - sol > 72 Then Exit Sub
If ust - usts > 72 Or usts - ust > 72 Then Exit Sub
Image4.Left = sols
Image4.Top = usts
Image9.Left = sol
Image9.Top = ust
End Sub
Private Sub Image5_Click()
TextBox1.Text = Val(TextBox1.Text) + 1
sol = Val(Image5.Left)
ust = Val(Image5.Top)
sols = Val(Image9.Left)
usts = Val(Image9.Top)
If sol <> sols And ust <> usts Then Exit Sub
If sol - sols > 72 Or sols - sol > 72 Then Exit Sub
If ust - usts > 72 Or usts - ust > 72 Then Exit Sub
Image5.Left = sols
Image5.Top = usts
Image9.Left = sol
Image9.Top = ust
End Sub
Private Sub Image6_Click()
TextBox1.Text = Val(TextBox1.Text) + 1
sol = Val(Image6.Left)
ust = Val(Image6.Top)
sols = Val(Image9.Left)
usts = Val(Image9.Top)
If sol <> sols And ust <> usts Then Exit Sub
If sol - sols > 72 Or sols - sol > 72 Then Exit Sub
If ust - usts > 72 Or usts - ust > 72 Then Exit Sub
Image6.Left = sols
Image6.Top = usts
Image9.Left = sol
Image9.Top = ust
End Sub
Private Sub Image7_Click()
TextBox1.Text = Val(TextBox1.Text) + 1
sol = Val(Image7.Left)
ust = Val(Image7.Top)
sols = Val(Image9.Left)
usts = Val(Image9.Top)
If sol <> sols And ust <> usts Then Exit Sub
If sol - sols > 72 Or sols - sol > 72 Then Exit Sub
If ust - usts > 72 Or usts - ust > 72 Then Exit Sub
Image7.Left = sols
Image7.Top = usts
Image9.Left = sol
Image9.Top = ust
End Sub
Private Sub Image8_Click()
TextBox1.Text = Val(TextBox1.Text) + 1
sol = Val(Image8.Left)
ust = Val(Image8.Top)
sols = Val(Image9.Left)
usts = Val(Image9.Top)
If sol <> sols And ust <> usts Then Exit Sub
If sol - sols > 72 Or sols - sol > 72 Then Exit Sub
If ust - usts > 72 Or usts - ust > 72 Then Exit Sub
Image8.Left = sols
Image8.Top = usts
Image9.Left = sol
Image9.Top = ust
End Sub
Butona basarak oyunu başlatalım. Aşağıdaki sonucu görebilirsiniz.
alıntıdır.
Gönderildi : 06/02/2014 18:42
Konu başlatıcı
Gönderildi : 06/02/2014 18:46
Elinize sağlık Salim bey
Teşekkürler
Gönderildi : 07/02/2014 12:35