C# Bilgi Yarışması Oyununda Para Sistemi Nasıl Yapılır?

X0BA

Decapat
Katılım
9 Mart 2019
Mesajlar
43
Proje ödevimde bilgi yarışması yapıyorum ama para olayını yapamadım her doğru cevap verdiğinde para - label 2 kat artacak. Mesela 1. soruyu doğru bilirse 500 TL 2.soruyu doğru bilirse 1000 TL gibi yapmak istiyorum ama nasıl yapacağımı bilmiyorum. Kolay gibi geliyor ama yapamadım :(

ASDAS.pngdogr.pngSSSS.png
 
Son düzenleyen: Moderatör:
Mantık olarak şu şekilde olur diye düşünüyorum. (C# bilgim yok)
Para adında bir değişken oluştur ve beş yüze eşitle. Bir de toplam para adında bir değişken oluştur ve sıfıra eşitle. İlk soruyu bildiğinde toplam paraya parayı ekle ve paraya da parayı ekle. (Para = para+para)(Toplam para = toplam para+para) Diğer soruda da aynısını yap ve bilemez ise ekrana yazdır.
 
Para "label" sıfır değeri ile başlatıp;
Kod:
label1.Text = "0";
her cevaplama sonrası aşağıdaki gibi bir yapı ile para değeri güncellenebilir
Kod:
int para = Int32.Parse(label1.Text);
if(dogruBildi){
    if(para == 0){
        para = 500;
    }else{
        para += para;
    }
}
label1.Text = para.ToString();
 
C#:
int para=0;
if(dogrubilgi)
{
    para += para*2
        label1.Text = para.ToString();
}
else
{
    (ne yaptırmak isterseniz.)
}
Para Adında bir değişken lazım.
 
Eğer düşündüğün Kim Milyoner Olmak İster'deki gibiyse, bir dizi oluşturup kaçıncı soruda kaç para kazandığını gireceksin. Her soru bildiğinde dizi[soruSayisi] şeklinde gelen parayı yazdıracaksın. Her yeniden oynamada ise dizi[0] şeklinde parayı sıfırlayacaksın.

label1.Text = "Kazandın " + dizi[soru]; //şeklinde bir mantık yürütebilirsin.
 
Merhaba anladığım kadarıyla birden çok form yapıyorsun bir değişkeni diğer formlarda da güncellemek için değişkeni public olarak atamalısın.
Ana form'un olduğu yerin herhangi void dışına class içinde şu değişkeni oluştur >
public int puan=0;
daha sonra diğer formlar da bunu çağır
doğru cevap butonunun veya if 'in artık her neredeyse içine şunu çağır
Form1 frm = new form();
frm.puan+=500; // Bu birinci soruda
ikinci sorudada aynı şekilde
doğru cevabın içine
Form1 frm = new form();
frm.puan+=1000; // Bu ikinci soruda

Kaç soru varsa böyle devam eder... En sonunda ekrana bastıracağın yer eğer form 1 değilse ve yeni forma girersen MessageBox ta çağıracağın şey aynı şekilde bu değişken olacak ama unutma hangi forma public değişkeni atarsan bir başka form da o formu çağırmak zorundasın.
yani son hamlen;
Form1 frm = new Form1();
MessageBox.Show("Bravooo Puanınız : " + frm.puan.ToString());
olacaktır. Kolay gelsin.
 
Uyarı! Bu konu 6 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı