C++ Zar oyunu

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Onaylı Üye
Katılım
28 Mar 2019
Mesajlar
111
Çözümler
1
Tepki puanı
17
Ödüller
5
Yaş
29
7 HİZMET YILI
C++ ile basit bir zar oyunu tasarladım arkadaşlar gayet basit ve eğlenceli. :D

Bir oyuncu iki zar atar. Gelen bu iki değer toplanır. Eğer ilk atışta bu toplam 7 yada 11 ise oyuncu bu oyunu kazanır. Ama eğer ki bu toplam 2,3 yada 12 ise oyuncu bu oyunu kaybeder. Eğer toplam 4,5,6,8,9,10 ise bu değer oyuncunun puanı olur. Zarları bir sonraki atışında aynı puanı bulması gerekir, eğer bu esnada 7 atarsa kaybeder.


C++:
#include <iostream>
#include <ctime>
#include <cstdlib>


using namespace std;

unsigned int zarat();


int main()
{

    enum Durum{DEVAM,KAZANDIN,KAYBETTIN};

    srand(static_cast <unsigned int>(time(0)));
    unsigned int puanim = 0;
    Durum oyunDurumu = DEVAM;

    unsigned int zarlarinToplami = zarat();
 
    switch (zarlarinToplami)
    {
    case 7:
    case 11:
        oyunDurumu = KAZANDIN;
        break;
    case 2:
    case 3:
    case 12:
        oyunDurumu = KAYBETTIN;
        break;
    default:
        oyunDurumu = DEVAM;
        puanim = zarlarinToplami;
        cout << "Puan: " << puanim<<endl;
    }
    while (oyunDurumu == DEVAM)
    {
        zarlarinToplami = zarat();
        if (zarlarinToplami == puanim)
            oyunDurumu = KAZANDIN;
        else if (zarlarinToplami == 7)
            oyunDurumu = KAYBETTIN;
    }
    if (oyunDurumu == KAZANDIN)
    {
        cout << "OYUNCU KAZANIR!";
    }
    else
        cout << "OYUNCU KAYBEDER";


}

unsigned int zarat()
{
    unsigned int dice1 = 1 + rand() % 6;
    unsigned int dice2 = 1 + rand() % 6;

    unsigned int sum = dice1 + dice2;
    cout << "Oyuncu zarladi-->" << dice1 << "+" << dice2 << "=" << sum << endl;
    return sum;

}

edit: kazanmak bi tık kolay olmuş gibi görünüyor kaybetme şartlarını çoğaltırsak kazanmak zorlaşacaktır else if (zarlarinToplami == 7) yerine else if (zarlarinToplami == 7||zarlarinToplami==4) gibi :)
 

Ekli dosyalar

  • ornek1.PNG
    ornek1.PNG
    11.1 KB · Görüntüleme: 74
  • ornek2.PNG
    ornek2.PNG
    9.4 KB · Görüntüleme: 70
Son düzenleme:
Uzman Üye
Katılım
17 Mar 2019
Mesajlar
282
Tepki puanı
18
Ödüller
6
Yaş
26
7 HİZMET YILI
teşekkürler dostum performans ödevi olarak veririm :D
 
T H O R
Süper Üye
Katılım
12 Haz 2020
Mesajlar
644
Çözümler
2
Tepki puanı
110
Ödüller
5
Yaş
26
5 HİZMET YILI
Güzel paylaşım dostum.
Zaten biliyordum bilmeyenler için hem deneyim hem de birşeyleri başarmanın hazzı gelir.
Kolay gelsin <3.
 
Onaylı Üye
Katılım
8 Şub 2018
Mesajlar
58
Tepki puanı
0
Yaş
34
8 HİZMET YILI
bence biraz zor yani 7 yada 11 gelmesse kaybetme ihtimalin çok yüksek
 
Onaylı Üye
Katılım
28 Mar 2019
Mesajlar
111
Çözümler
1
Tepki puanı
17
Ödüller
5
Yaş
29
7 HİZMET YILI
ozaman günah oluyo yani oyuncu sayısı düşük kalır
C++:
#include <iostream>
#include <ctime>
#include <cstdlib>


using namespace std;

unsigned int zarat();


int main()
{
 
    enum Durum{DEVAM,KAZANDIN,KAYBETTIN};

    srand(static_cast <unsigned int>(time(0)));
    unsigned int puanim = 0;
    Durum oyunDurumu = DEVAM;

    unsigned int zarlarinToplami = zarat();
    
    switch (zarlarinToplami)
    {
    case 7:
    case 11:
        oyunDurumu = KAZANDIN;
        break;
 
      
    default:
        oyunDurumu = DEVAM;
        puanim = zarlarinToplami;
        cout << "Puan: " << puanim<<endl;
    }
    while (oyunDurumu == DEVAM)
    {
        zarlarinToplami = zarat();
        if (zarlarinToplami == puanim)
            oyunDurumu = KAZANDIN;
        else if (zarlarinToplami == 7||zarlarinToplami==4)
            oyunDurumu = KAZANDIN;
    }
    if (oyunDurumu == KAZANDIN)
    {
        cout << "OYUNCU KAZANIR!";
    }
    else
        cout << "OYUNCU KAYBEDER";


    return 0;
}

unsigned int zarat()
{
    unsigned int dice1 = 1 + rand() % 6;
    unsigned int dice2 = 1 + rand() % 6;

    unsigned int sum = dice1 + dice2;
    cout << "Oyuncu zarladi-->" << dice1 << "+" << dice2 << "=" << sum << endl;
    return sum;

}
Al kardeşim senimi kırıcam hep kazanan kod :D
 
Onaylı Üye
Katılım
8 Şub 2018
Mesajlar
58
Tepki puanı
0
Yaş
34
8 HİZMET YILI
C++:
#include <iostream>
#include <ctime>
#include <cstdlib>


using namespace std;

unsigned int zarat();


int main()
{

    enum Durum{DEVAM,KAZANDIN,KAYBETTIN};

    srand(static_cast <unsigned int>(time(0)));
    unsigned int puanim = 0;
    Durum oyunDurumu = DEVAM;

    unsigned int zarlarinToplami = zarat();
   
    switch (zarlarinToplami)
    {
    case 7:
    case 11:
        oyunDurumu = KAZANDIN;
        break;

     
    default:
        oyunDurumu = DEVAM;
        puanim = zarlarinToplami;
        cout << "Puan: " << puanim<<endl;
    }
    while (oyunDurumu == DEVAM)
    {
        zarlarinToplami = zarat();
        if (zarlarinToplami == puanim)
            oyunDurumu = KAZANDIN;
        else if (zarlarinToplami == 7||zarlarinToplami==4)
            oyunDurumu = KAZANDIN;
    }
    if (oyunDurumu == KAZANDIN)
    {
        cout << "OYUNCU KAZANIR!";
    }
    else
        cout << "OYUNCU KAYBEDER";


    return 0;
}

unsigned int zarat()
{
    unsigned int dice1 = 1 + rand() % 6;
    unsigned int dice2 = 1 + rand() % 6;

    unsigned int sum = dice1 + dice2;
    cout << "Oyuncu zarladi-->" << dice1 << "+" << dice2 << "=" << sum << endl;
    return sum;

}
Al kardeşim senimi kırıcam hep kazanan kod :D
adamsın abi
 
Seçkin Üye
Katılım
29 Haz 2020
Mesajlar
430
Çözümler
2
Tepki puanı
33
Ödüller
4
Yaş
31
5 HİZMET YILI
güzel good beğendim :)
 
Üye
Katılım
7 Tem 2020
Mesajlar
45
Tepki puanı
1
Yaş
34
5 HİZMET YILI
one day I will reach this level of programming. It looks really good
 
Onaylı Üye
Katılım
17 Tem 2020
Mesajlar
57
Tepki puanı
3
Ödüller
2
Yaş
26
5 HİZMET YILI
Вы правы, игра интересная
 
Seçkin Üye
Katılım
10 Ocak 2019
Mesajlar
485
Çözümler
4
Tepki puanı
66
Ödüller
7
7 HİZMET YILI
Artık bunu ödevde kullanırım. :D eline sağlık
 
Onaylı Üye
Katılım
9 May 2020
Mesajlar
50
Tepki puanı
2
Ödüller
4
Yaş
36
6 HİZMET YILI
kasa her zaman kazanır :) emeğine sağlık kardeşim
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Üst