Forum

Word Programında Pu...
 
Bildirimler
Hepsini Temizle

Word Programında Puzzle Oyunu Yapımı

3 Yazılar
2 Üyeler
0 Reactions
508 Görüntüleme
(@Anonim)
Gönderiler: 0
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

(@Anonim)
Gönderiler: 0
Konu başlatıcı
 

 
Gönderildi : 06/02/2014 18:46

(@kenanilgun)
Gönderiler: 544
Üye
 

Elinize sağlık Salim bey

Teşekkürler

 
Gönderildi : 07/02/2014 12:35

Paylaş: