Makale Özeti

İ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..

Makale

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

 

İ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

 

 

 

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