Yeni Başlayanlar Için Visual Basic Ile Basit Oyunlar Yapımı (3 Adet Farklı Örnek)

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Seçkin Üye
Katılım
26 Haz 2016
Mesajlar
415
Tepki puanı
5
9 HİZMET YILI
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Alıntı:[/FONT][font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Yeni Başlayanlar için Visual Basic ile Basit Oyunlar Yapımı (3 adet farklı örnek)


Bu dersimizde Visual Basic 2008'de basit kodlar kullanılarak yapılabilecek birkaç oyun örneğini göreceğiz.



Örnek 1 - Åžans Oyunu
Taslak: 5 kutu olacak ve oyuncu bu kutulardan doğrusunu seçerse oyunu kazanacak.
Bilinmesi gereken kodlar: değişken tanımlama ve atama, rastgele sayı üretimi, if/else deyimi
Yapılış:
-Formumuza 5 adet button ekliyoruz. (button1, button2, button3, button4, button5)
-Formumuza çift tıklıyoruz ve;
--Form1 Declarations'a şu kodu yazıyoruz:

Source Code
[/FONT]

  1. Dim sayi 'değişkenimizi tanımaladık.
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]--Form1 Load'a şu kodu yazıyoruz:[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Source Code[/FONT]

  1. Randomize() 'rastgele sayı için gereken ifademizi yazdık.
  2. sayi = Int(Rnd(1) * (5) + 1) 'değişkenimizi 1-5 arası rastgele bi sayı olarak aldık.
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]-Sonra button1'e çift tıklayıp şu kodu yazıyoruz:[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Source Code[/FONT]

  1. If sayi = 1 Then 'sayimiz 1 ise / if deyimi başlangıcı
  2. MsgBox("Kazandınız !") 'kazandınız yazan bir ileti gönder
  3. End 'oyunu bitir
  4. Else 'değilse
  5. MsgBox("Kaybettiniz !") 'kaybettiniz yazan bir ileti gönder
  6. End 'oyunu bitir
  7. End If 'if deyiminin sonu
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]-Daha sonra button2'e çift tıklayıp şu kodu yazıyoruz:[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Source Code[/FONT]

  1. If sayi = 2 Then 'sayimiz 2 ise / if deyimi başlangıcı
  2. MsgBox("Kazandınız !") 'kazandınız yazan bir ileti gönder
  3. End 'oyunu bitir
  4. Else 'değilse
  5. MsgBox("Kaybettiniz !") 'kaybettiniz yazan bir ileti gönder
  6. End 'oyunu bitir
  7. End If 'if deyiminin sonu
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]
-Bu işlemi bütün buttonlarımıza uyguladıktan sonra oyunumuzu test ediyoruz.
-Oyuna değişik resimler ekleyerek, button renklerini değiştirerek görsellik katabilirsiniz.[/FONT]


[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Örnek 2 - Beceri ve Reflex Oyunu[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Taslak:[/FONT][font=open_sansregular, Tahoma, Verdana, Arial, sans-serif] [/FONT][font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]3 adet surattan gülen surata olabildiğince hızlı tıklamalısınız.[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Bilinmesi gerken kodlar:[/FONT][font=open_sansregular, Tahoma, Verdana, Arial, sans-serif] [/FONT][font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Timer intervalını değiştirme, rastgele sayı üretme, if/else deyimi, değişken tanımlama ve atama[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Yapılışı:[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]-Formumuza 1 adet timer (timer1) ekliyoruz.
-Timer'ımızın interval'ini 15000 yapıyoruz
-Formumuza 3 adet button (button1, button2, button3) ekliyoruz.
-Buttonlarımızdan birinin textini 
grin.png
 yapıyoruz diğer ikisininkini ~_~ yapıyoruz.
-Form1 Declartions'a şu kodu yazıyoruz:
dim skor 'skor adlı değişkenimizi tanımladık.[/FONT]

[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]-Button1'e çift tıkayıp şu kodu yazıyoruz:[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Source Code[/FONT]

  1. If Button1.Text = "^_^" Then 'buttonumuzun textinde ^_^ işareti varsa (if deyimi başlangıcı)
  2. skor = skor + 1 'skorumuz artacak
  3. Dim sayi 'rastgele sayı değişkeni
  4. Randomize() 'rastgele sayı için gereken ifademizi yazdık.
  5. sayi = Int(Rnd(1) * (2) + 1) 'değişkenimizin 1 veya 2 olmasını sağladık.
  6. if sayi = 1 Then 'sayımız 1 ise
  7. Button1.Text = "~_~"
  8. Button2.Text = "^_^"
  9. Button3.Text = "~_~"
  10. Else 'sayımız 1 değilse (2 ise)
  11. Button1.Text = "~_~"
  12. Button2.Text = "~_~"
  13. Button3.Text = "^_^"
  14. End If
  15. End If 'if deyimi sonu
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]-Button2'ye çift tıklayıp şu kodu yazıyoruz:[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Source Code[/FONT]

  1. If Button2.Text = "^_^" Then 'buttonumuzun textinde ^_^ işareti varsa (if deyimi başlangıcı)
  2. skor = skor + 1 'skorumuz artacak
  3. Dim sayi 'rastgele sayı değişkeni
  4. Randomize() 'rastgele sayı için gereken ifademizi yazdık.
  5. sayi = Int(Rnd(1) * (2) + 1) 'değişkenimizin 1 veya 2 olmasını sağladık.
  6. If sayi = 1 Then 'sayımız 1 ise
  7. Button1.Text = "^_^"
  8. Button2.Text = "~_~"
  9. Button3.Text = "~_~"
  10. Else 'sayımız 1 değilse (2 ise)
  11. Button1.Text = "~_~"
  12. Button2.Text = "~_~"
  13. Button3.Text = "^_^"
  14. End If
  15. End If 'if deyimi sonu
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]
-Button3'e çift tıklayıp şu kodu yazıyoruz:[/FONT]

[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Source Code[/FONT]

  1. If Button1.Text = "^_^" Then 'buttonumuzun textinde ^_^ işareti varsa (if deyimi başlangıcı)
  2. skor = skor + 1 'skorumuz artacak
  3. Dim sayi 'rastgele sayı değişkeni
  4. Randomize() 'rastgele sayı için gereken ifademizi yazdık.
  5. sayi = Int(Rnd(1) * (2) + 1) 'değişkenimizin 1 veya 2 olmasını sağladık.
  6. If sayi = 1 Then 'sayımız 1 ise
  7. Button1.Text = "~_~"
  8. Button2.Text = "^_^"
  9. Button3.Text = "~_~"
  10. else 'sayımız 1 değilse (2 ise)
  11. Button1.Text = "^_^"
  12. Button2.Text = "~_~"
  13. Button3.Text = "~_~"
  14. End If
  15. End If 'if deyimi sonu
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]-Son olarak Timer1'e çift tıklayıp şu kodu yazıyoruz:[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Source Code[/FONT]

  1. Msgbox("Skorunuz: " & skor) 'skoru gösteren ileti
  2. End 'oyunu bitir

[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Örnek 3 - Basit Savaş Oyunu[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Taslak:[/FONT][font=open_sansregular, Tahoma, Verdana, Arial, sans-serif] 2 oyuncunun vuruş ve iyileştirmeye dayalı basit savaşı[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Bilinmesi gereken kodlar:[/FONT][font=open_sansregular, Tahoma, Verdana, Arial, sans-serif] [/FONT][font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Progress bar value değiştirme, if/else deyimi[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Yapılışı:[/FONT]
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]-Formumuzun sol tarafına 2 button (button11, button12) sağ tarafına da 2 button (button21, button22) ekliyoruz.
-Formumuzun sol tafına 1 progressbar (progressbar1) sağ tarafına da 1 progressbar (progressbar1) ekliyoruz.
-Buttonların textlerin şu şekilde ayarlıyoruz:
button11 -> VUR!
button12 -> İYİLEÅž!
button21 -> VUR!
button22 -> İYİLEÅž!
-Progressbarlarumızın valuelerini 100 yapıyoruz.
-Button11'e çift tıklayıp şu kodu yazıyoruz:[/FONT]

[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]Source Code[/FONT]

  1. If ProgressBar2.Value > 10 Then '2. barımızın değeri 10'dan büyükse
  2. ProgressBar2.Value = ProgressBar2.Value - 10 '2. barımızın değerini 10 puan azalt (vuruş sonucu gerçekleşen hasar)
  3. Else 'değilse (2. barımız 10'a eşit veya küçükse)
  4. MsgBox("1. Oyuncu kazandı !") '1. oyunun kazandı yazan bir ileti gönder. (2. oyuncunun canı bitmiş olur)
  5. End 'oyunu bitir.
  6. End If
[font=open_sansregular, Tahoma, Verdana, Arial, sans-serif]-Bu kodu diğer buttonarımıza da uyarlayarak onlara da eklediğinizde oyun tamamlanmış olacaktır.
-Oyuna sıra sistemi, değişik skiller, değişik renk, resim ve efektler ekleyerek geliştirirseniz daha iyi olacaktır. Burada yapılan oyun sadece taslaktır.[/FONT]
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst