Bu örneğimizde ilkokul seviyesinde 3 basamaklı rasgele iki sayı tutarak bu sayıların toplamını kullanıcıdan isteyen bir proje oluşturacağız.
Rasgele üretilen bu iki sayının toplamının maksimum 3 basamakta kalmasını sağlayacağız. Ayrıca öğrencinin girmiş olduğu yanlış cevapların listbox içine ekleyerek yanlış cevapları görüntüleyeceğiz.
Toplam 10 soruluk olan bu test sonucunda öğrencinin verdiği doğru cevap sayısının ve puanının mesaj penceresinde görüntülenmesini sağlayacağız.
Örneğe ait bazı ekran görüntüleri:
Form Tasarımı:
Projenin çalışma görüntüsü:
Oyun Sonu Ekran Görüntüsü:
Kodlar:
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 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 | using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace mat_toplama { public partial class Form1 : Form { public Form1() { InitializeComponent(); } void soruUret() { Random rnd = new Random(); sayi1 = rnd.Next(100, 899); sayi2 = rnd.Next(100, (1000 - sayi1)); label1.Text = sayi1.ToString(); label2.Text = sayi2.ToString(); toplam = sayi1 + sayi2; sayac++; } int sayac = 0, dogruSayisi = 0, yanlisSayisi = 0,sayi1,sayi2,toplam; private void button1_Click(object sender, EventArgs e) { sayac = 0; listBox1.Items.Clear(); Random rnd = new Random(); sayi1 = rnd.Next(100, 899); sayi2 = rnd.Next(100, (1000 - sayi1)); label1.Text = sayi1.ToString(); label2.Text = sayi2.ToString(); toplam = sayi1 + sayi2; sayac++; label5.Text ="Soru "+ sayac.ToString(); button1.Enabled = false; } private void button2_Click(object sender, EventArgs e) { try { if (toplam == Convert.ToInt32(textBox1.Text)) { dogruSayisi++; } else { yanlisSayisi++; listBox1.Items.Add(sayi1 + " + " + sayi2 + " = " + textBox1.Text); } Random rnd = new Random(); sayi1 = rnd.Next(100, 899); sayi2 = rnd.Next(100, (1000 - sayi1)); label1.Text = sayi1.ToString(); label2.Text = sayi2.ToString(); toplam = sayi1 + sayi2; sayac++; textBox1.Text = ""; label5.Text ="Soru "+ sayac.ToString(); if (sayac == 11) { MessageBox.Show("Doğru sayısı " + dogruSayisi + "\n\n" + "Puanınız : " + dogruSayisi * 10); sayac = 0; button1.Enabled = true; } } catch { MessageBox.Show("Hata"); } } } } |