Rastgele(Random) Sayı Atama ve Timer kullanımı
C# Rastgele Sayı Üretme
Merhaba
arkadaşlar, bu yazımda rastgele sayı üretme ve atama işlemlerini gerçekleştiren
tanım ve metotları paylaşacağım.
Rastgele sayı
üretme işlemi genellikle şans oyunlarında karşımıza çıkar. Buna çok yakın bir
örnek olarak küçük bir program yardımıyla rastgele sayı atama işlemlerini birlikte
gözden geçirelim.
Öncelikle rastgele sayı üretmek için Random sınıfı ve bu sınıfın
özellikleri olan Next(), NextBytes(), NextDouble() metotları kullanılır.
Tanımlama işlemini bu şekilde yapabiliriz.
Örneğimizde şans oyunlarından LuckySeven adlı bir oyun
oluşturalım.
Arayüzümüzü oluşturmak için 3 tane label ve 1 tane buton işimizi
görecektir. 3 tane label’ı genişleterek Properties’den Text özelliğine 7
yazıyoruz.
Butonun Text özelliğine de Start yazıyoruz.
İsterseniz formun arka plan renklerini BackColor özelliğinden değiştirebilirsiniz. Arayüzümüz şimdi fotoğraftaki hale gelmiş olmalı.
İsterseniz formun arka plan renklerini BackColor özelliğinden değiştirebilirsiniz. Arayüzümüz şimdi fotoğraftaki hale gelmiş olmalı.
Timer kullanımı:
Label’lar üzerindeki sayıların değişim hızını ayarlayabilmek için
Toolbox’tan Timer ekliyoruz.(sayfanın alt tarafında bir menü açılarak oraya
eklenecektir.) Timer’ın propertiesden Interval özelliğini istediğimiz seviyeye
getiriyoruz. Interval ms bazında çalışır ve sayıların ne kadar sürede bir
değişeceğini belirtir.
Programımıza geri dönecek olursak kodlarımızı aşağıda
paylaşıyorum.
Bakalım siz kaçıncı defada kazanacaksınız J
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | Random rnd = new Random(); private void button1_Click(object sender, EventArgs e) { if (btnStart.Text == "START") { timer1.Enabled = true; //starta basıldıktan sonra buton Stop'a dönecektir. btnStart.Text = "STOP"; } else { timer1.Enabled = false; if (label1.Text == "7" && label2.Text == "7" && label3.Text == "7") MessageBox.Show("Büyük ikramiyeyi kazandınız.","WIN!WIN!WIN!"); else MessageBox.Show("HA GAYRET"); //Butonun Text özelliğini propertiesden de değiştirebiliriz. btnStart.Text = "START"; } } private void timer1_Tick(object sender, EventArgs e) { //Labellara 1-8(8 dahil değil) arasında değerler atıyoruz. // Labelların text özelliğini değiştirdiğimizden rakamları ToString metoduyla değişken değişimi yapıyoruz. label1.Text = rnd.Next(1, 8).ToString(); label2.Text = rnd.Next(1, 8).ToString(); label3.Text = rnd.Next(1, 8).ToString(); } |
Hiç yorum yok :
Yorum Gönder