Zaratma oyunu Java, C# , JavaScript, PHP gibi bir çok programlama dilinde sıklıkla tercih edilen oyunlardan biridir. İki tane zarın sallanması sonucu ekranda rasgele zarları görüntülenmesi sağlanmaktadır.
Bu örneğimizde C# Windows Form uygulamasında basit bir Rasgele Zar Atma Uygulaması gerçekleştireceğiz.
Örneğimize geçelim.
Adım 1: Toolbox penceresinden 2 adet PictureBox, 1 adet Button, 1 adet ImageList ve 1 adet Timer kontrolünü form üzerine sürükleyin. Form için gerekli renklendirme, boyut ve konumlandırmaları istediğiniz gibi yapabilirsiniz.
Adım 2: Kullanmak istediğiniz zar görsellerini hazırlayın.
Adım 3: Bu adımda ImageList kullanımını göreceksiniz. ImageList sol üst köşedeki küçük üçgene tıklayarak gerekli ayarlamaları yapın ve Choose images seçeneğine tıklayın.
Adım 4: Bu adımda kullanacağınız resimleri seçeceğiniz bölüm açılacaktır. Add butonuna tıklayarak resimlerinizin olduğu klasöre gidin ve resimleri seçerek Aç butonuna tıklayın.
Adım 5: PictureBox kontrollerini ayarlamak PictureBox kontrollerini seçerek aşağıdaki ayarlamaları yapın.
Adım 7: Button1_Click için aşağıdaki kodları oluşturun.
1 2 3 4 5 6 7 |
private void button1_Click(object sender, EventArgs e) { timer1.Start(); button1.Enabled = false; } |
Adım 8: sayac isimli bir değişken tanımlayın. (Global)
Adım 9: Timer kontrolünde çift tıklayarak Timer1_Tick olayına aşağıdaki kodları yazın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
private void timer1_Tick(object sender, EventArgs e) { int zar1, zar2; Random rnd = new Random(); zar1 = rnd.Next(0, 6); zar2 = rnd.Next(0, 6); pictureBox1.Image = ımageList1.Images[zar1]; pictureBox2.Image = ımageList1.Images[zar2]; sayac++; if (sayac == 30) { timer1.Stop(); sayac = 0; button1.Enabled = true; } } |
Adım 10: Kodlarımızın tamamı :
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; namespace zar_atma_oyunu { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { timer1.Start(); button1.Enabled = false; } int sayac = 0; private void timer1_Tick(object sender, EventArgs e) { int zar1, zar2; Random rnd = new Random(); zar1 = rnd.Next(0, 6); zar2 = rnd.Next(0, 6); pictureBox1.Image = ımageList1.Images[zar1]; pictureBox2.Image = ımageList1.Images[zar2]; sayac++; if (sayac == 30) { timer1.Stop(); sayac = 0; button1.Enabled = true; } } } } |
Add Comment