Yazılımcının Günlüğü | YazilimGunlugu.Com
Arama
Makale Kategorileri
Üye Girişi
Şuanki online üyeler()
Aktif üye bulunmamaktadır.


Bir yazılımcının 2. ödevi: Lucky 7

Yazar: Yağız Gönüler

Kategori: C#.NET & VB.NET

Eklenme Tarihi: 25.06.2008 09:37:30

İlk ödevimizde bir hesap makinesi oluşturmuştuk. Şimdi ise bir programcının daima bilmesi gerek random olayına değinerek bir şans oyunu yapıyoruz..

 

Daha önceki örneğimizdeki gibi burada da fazla açıklama yapmıycam. Gerekli kod açıklamaları kodların satır aralarında mevcut olacak.

Yinede herhangi bir konuda takıldığınız noktalar olursa mail vasıtasıyla bana ulaşabilirsiniz. Aşağıdaki tasarımı yaptıktan sonra projemizde bir imagelist bir de timer nesnesi eklemeyi unutmuyoruz.




Görüldüğü üzere 3 picturebox, 1 button, 1 de sol üst köşede görüldüğü üzere label var.

Pictureboxlarda oyunumuzdaki para kazancı olan resimler görünecek.

Button oyunu başlatıyor. Oyun bittiğinde kazanılan yada kaybedilen para label1?de belirtiliyor.

Tabi tüm bunları sağlayacak timer ve imagelist nesnelerimizi unutmamamız gerek. Bunları da toolbox yardımıyla projemize ekliyoruz. Timer1?in interval değerini 300 olarak ayarladım. Enabled değeri ise false.

Imagelist?e istediğiniz herhangi 3 resmi ekleyebilirsiniz. Ben size olarak 100x100 belirttim.





Şimdi kodları yazmaya başlıyoruz. Tekrar belirtmemde fayda var ?maillerde hep soruluyor- kodların açıklamaları satır aralarında mevcut.

Kolay gelsin diyor ve iyi eğlenceler diliyorum J

'iki değişken tanımlıyoruz

'bunlardan biri elbetteki sayaç

'diğeri ise para değerini tutacak

Dim sayac As Byte

Dim para As Integer

Private Sub BtnBasla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBasla.Click

'basla buttonuna tıkladıktan sonra timer'ımız içinde startı veriyoruz

'sayacımızı sıfır olarak belirtiyoruz

Timer1.Start()

sayac = 0

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

'timerin tick olayına yazdığımız kodlar burada

'3 farklı elemanımız olduğu için byte tipinde 3 değişken tanımlıyoruz

Dim rnd As New Random

Dim index1, index2, index3 As Byte

'rasgele resim sıralarını buluyor , 0,1 ve 2 olabılır

index1 = rnd.Next(0, 3)

index2 = rnd.Next(0, 3)

index3 = rnd.Next(0, 3)

'gosterılecek resım olarak imagelistteki rasgele sıradakileri gösteriyor

Resim1.Image = ImageList1.Images(index1)

Resim2.Image = ImageList1.Images(index2)

Resim3.Image = ImageList1.Images(index3)

sayac += 1

'burada ise kazanıp kazanılmadığını belirtiyoruz

'eğer timer durduğunda index1, 2 ve 3 birbirine eşitse

'kazanıldığına dair bir mesaj verip labelımızdaki para değerine +1000 ekliyoruz

If sayac = 10 Then

Timer1.Stop()

If index1 = index2 And index1 = index3 Then

MsgBox("Oleyyy... Yırttın...")

para = para + 1000

Label1.Text = para & "$"

'eğer kaybedildiyse para değerinden 100 düşüyoruz

Else

MsgBox("Yattı....")

para = para - 100

Label1.Text = para & "$"

End If

End If

End Sub

Private Sub Slot_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'formumuzun açılışında gerçekleştirecek eylemler burada

'önce bir inputbox vasıtasıyla kullanıcıdan para değeri girmesini istiyoruz

'en düşük para değeri 500 olmalı, onun altındaki değerlerle bu oyun oynanmıyor :)

para = InputBox("PARANIZI GİRİNİZ")

'burada ise eğer para 500'den küçükse paranın yeterli olmadığını belirten bir uyarı ekrana getiriyoruz

've oyunu kapatıyoruz

If para < 500 Then

MsgBox("Paranız yeterli değil, Min=500")

'Application.Exit() ' butun sayfaları kapatıyor

Me.Close()

'aksi durumlarda oyunu başlatıyor ve imageliste resimleri ekliyoruz

'bu arada proje klasörümüzde bir resim klasörü oluşturup 3 resim eklemeyi unutmayalım

Else

Resim1.Image = ImageList1.Images(0)

Resim2.Image = ImageList1.Images(1)

Resim3.Image = ImageList1.Images(2)

End If

End Sub

End Class

Programı şuradan indirebilirsiniz:

www.yagizgonuler.com/works/lucky7.zip

Bundan sonraki makalem de yine bir yazılımcının ilk ödevleri arasında yer alan bir program olacak. Ancak bu makaleyi yazdığım sıralarda henüz karar veremedim ne yapacağıma. Umarım işe yarar makalaler olmuştur şimdikiler.

Farklı makalelerde tekrar görüşmek üzere.

Yağız GÖNÜLER

yagizgonuler@gmail.com

Yazar Hakkında Yorum Yok Yorum Yaz Yazara ait diğer Makaleler
Tema
Anket
ASP.NET MVC'yi Projeleriniz de kullandınız mı?


En Çok Okunan Makaleler
En Son Eklenen Makaleler
Soru Merkezinde Bekleyenler
Ana Sayfa | Hakkımızda | Editörler | Yazarlar | RSS RSS | İletişim
Yazılım Günlüğü 2007-2009 © Tüm Hakları Saklıdır.