Kaç Tuttuğunu Bilen Kapsamlı Sayısal Loto (Kolonlu) Vb.Net

Kaç tuttuğunu bilen Kapsamlı Sayısal Loto Vb.Net

Daha fazla bilgi için : www.gorselprogramlama.com

 

 

[code language=”vbnet”]

Public Class Form1

Public labelSayi() As Label

Dim sayilar(5), girilen(5), tutan As Integer ‘sayısal lotoda 6 sayı üretildiği için 6 elemanlı dizi oluşturuldu.

Private Sub Belirle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Belirle.Click

Dim rsayi, sayac, i, j As Integer

sayac = 0

tutan = 0

Dim labelSayi(80) ‘ekrana oluşturcağımız labellerin elelman sayısını belirtiyoruz

Dim labelDummy As Label

girilen(0) = Val(TextBox1.Text)

girilen(1) = Val(TextBox2.Text)

girilen(2) = Val(TextBox3.Text)

girilen(3) = Val(TextBox4.Text)

girilen(4) = Val(TextBox5.Text)

girilen(5) = Val(TextBox6.Text)

Randomize(DateAndTime.Timer) ‘Aynı sayılar üretilmesin diye random sayıların başlangıcını sistem saatine ayarlıyoruz

For i = 1 To Val(ComboBox1.Text) ‘1’den combo’dan seçilen değere kadar kodları işle

While sayac < 6 ‘sayac 6 dan küçük olduğu zaman

rsayi = Int(Rnd() * 49 + 1) ‘1 ile 49 arasonda rastgele sayı üretiliyor

If (Array.IndexOf(sayilar, rsayi) = -1) Then ‘dizinin içinde aynı sayı yoksa

sayilar(sayac) = rsayi ‘üretilen rastgele sayiyi dizinin sayac kaç ise o elemanına ata

sayac = sayac + 1 ‘ sayacı bir artır

End If

End While

For k As Integer = 0 To 5

If (Array.IndexOf(sayilar, girilen(k)) <> -1) Then tutan += 1

Next ‘Daha fazla bilgi için : www.gorselprogramlama.com

For j = 0 To 6 ‘ 0’den 5’e kadar kodları işle

If (j = 6) Then

labelDummy = New Label() ‘yeni bir labelDummy isimli label oluşturuyoruz

labelDummy.Text = tutan ‘labelDummyin textine sayılar dizisinin j. elemanını atıyoruz.

labelSayi(j) = labelDummy ‘Oluşturduğumuz labelDummy labeli labelSayi değişkeninin j. elemanına atıyoruz.

Me.Panel1.Controls.Add(labelDummy) ‘ Kontrolü forma ekle

labelDummy.Location = New Point(100 * (j + 0.1), 30 + i * 30) ‘Olu

Else

labelDummy = New Label() ‘yeni bir labelDummy isimli label oluşturuyoruz

labelDummy.Text = sayilar(j) ‘labelDummyin textine sayılar dizisinin j. elemanını atıyoruz.

labelSayi(j) = labelDummy ‘Oluşturduğumuz labelDummy labeli labelSayi değişkeninin j. elemanına atıyoruz.

Me.Panel1.Controls.Add(labelDummy) ‘ Kontrolü forma ekle

labelDummy.Location = New Point(100 * (j + 0.1), 30 + i * 30) ‘Oluşturduğumuz labelin koordinatlarını belirtiyoruz.

End If

Next j

tutan = 0

Erase sayilar ‘diziyi tekrar kullanabilmek için tüm elemanlarını siliyoruz.

Array.Resize(sayilar, 6) ‘diziyi yenide boyutlandırıyoruz

sayac = 0

Next i

End Sub’Daha fazla bilgi için : www.gorselprogramlama.com

Private Sub Temizle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Temizle.Click

Me.Panel1.Controls.Clear()

End Sub

End Class

[/code]

Formu çalıştıralım.

 

textlere tahminlerimizi girelim.Kaç kolon bilgisayar oynayacsaksa onuda seçelim ve Belirle butonuna basalım.Aşağıdaki görüntüyü elde ederiz.

 

Temizle butonu ile bilgisayarın ürettiği ve tutan değerleri siler.Yeni bir ekran oluşturur.Tekrardan tahmin yapabiliriz.

Daha fazla bilgi için : www.gorselprogramlama.com

Yorumlar 6

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir