ALpMontana
КЯaL´da TaNıMaM КuяaL´da
Oynanacak round sayısını giriyorsunuz. Daha sonra iki oyuncu da birer kart seçerek oyuna başlıyor. Puanlar toplanıyor, kırmızıyla iki karttan arkadaşının 2 katı puan kazanılıyor, siyah ise aradaki fark kadar puan kazandırıyor.:goz:
#include <iostream>
#include <stdlib>
#include <string>
#include <time>
class cardgame;
class card{
int number;
char suit;
public:
void setvalue(int cardnumber=0,char cardsuit='A'){number=cardnumber; suit=cardsuit;}
int getnumber(){return number;}
char getsuit(){return suit;}
void print(){cout<<suit<<number<<" ";}
};
class cardgame{
int p1score;
int p2score;
int roundcount;
card newcards[52];
public:
cardgame();
void shuffledeck();
void playround();
friend class card;
int cardcontrol(int &cnumber);
int play(int );
void setscore(){p1score=0;p2score=0;}
};
cardgame::cardgame()
{
char keysuit;
int key=0;
cout<<"The deck is being initialized..."<<endl;
for(int i=1;i<=4;i++)
{
if(i==1){keysuit='C';}
else if(i==2){keysuit='D';} //the deck is beign initialized
else if(i==3){keysuit='H';}
else if(i==4){keysuit='S';}
for(int j=1;j<=13;j++){ newcards[key].setvalue(j,keysuit);key++;}
}
//for(int i=1;i<=52;i++){newcards[i-1].print();if(i%13==0)
{cout<<endl;}} Before Shuffle printing array
cout<<"The deck is being shuffled..."<<endl;
shuffledeck();
//cout<<endl<<endl; for(int i=1;i<=52;i++){newcards[i-1].print();if(i%13==0)
{cout<<endl;}} after shuffle printing array
cout<<"Done..."<<endl;
}
void cardgame::shuffledeck()
{
int a,b,bossayi,bossayi1;
char boskart,boskart1;
for(int i=0;i<=150;i++)
{
a=rand()%52;
b=rand()%52;
bossayi=newcards[a].getnumber();
boskart=newcards[a].getsuit();
//here the deck is beign shuffled, to shuffle i open two free char and integer then i swap them
bossayi1=newcards.getnumber();
boskart1=newcards.getsuit();
newcards[a].setvalue(bossayi1,boskart1);
newcards.setvalue(bossayi,boskart);
}
}
void cardgame:
layround()
{
int oyuncu1,oyuncu2,rscore;
cout<<"Oyuncu1 Bir Kart Seciniz: ";
cin>>oyuncu1;
cardcontrol(oyuncu1);
cout<<"Oyuncu2 Bir Kart Seciniz: ";
cin>>oyuncu2;
if(oyuncu2==oyuncu1)
{
while(oyuncu2==oyuncu1)
{
cout<<"Bu kart Daha Once Secilmis Lutfen Yeni Kart Seciniz:";
//ikinci oyuncu birinci oyuncunun seçtici karti secmemesi icin bi while koydum
cin>>oyuncu2;
}
}
cardcontrol(oyuncu2);
cout<<"oyuncu1: "; newcards[oyuncu1-1].print(); cout<<"oyuncu2: ";newcards[oyuncu2-1].print();
cout<<endl;
cout<<"Rount sonucu: ";
if(newcards[oyuncu1-1].getnumber()>newcards[oyuncu2-1].getnumber())
{
if(newcards[oyuncu1-1].getsuit()=='H'||newcards[oyuncu1-1].getsuit()=='D')
{rscore=(newcards[oyuncu1-1].getnumber()-newcards[oyuncu2-1].getnumber())*2;
p1score+=rscore;
cout<<"Oyuncu1 "<<rscore<<" Puan Kazandi!!!"<<endl;}
else {
rscore=newcards[oyuncu1-1].getnumber()-newcards[oyuncu2-1].getnumber();
p1score+=rscore;
cout<<"Oyuncu1 "<<rscore<<" Puan Kazandi!!!"<<endl;}
}
else if(newcards[oyuncu1-1].getnumber()<newcards[oyuncu2-1].getnumber())
{
if(newcards[oyuncu2-1].getsuit()=='H'||newcards[oyuncu2-1].getsuit()=='D')
{rscore=(newcards[oyuncu2-1].getnumber()-newcards[oyuncu1-1].getnumber())*2;
p2score+=rscore;
cout<<"Oyuncu2 "<<rscore<<" Puan Kazandi!!!"<<endl;}
else {rscore=newcards[oyuncu2-1].getnumber()-newcards[oyuncu1-1].getnumber();
p2score+=rscore;
cout<<"Oyuncu2 "<<rscore<<" Puan Kazandi!!!"<<endl;}
}
else {cout<<"Berabere"<<endl;}
newcards[oyuncu1-1].setvalue();
newcards[oyuncu2-1].setvalue();
}
int cardgame::cardcontrol(int &cnumber)
{
int x;
if(newcards[cnumber-1].getnumber()==0)
{
//to controll cards i wrote a function
while(newcards[cnumber-1].getnumber()==0)
{
cout<<"Bu kart Daha Once Secilmis Lutfen Yeni Kart Seciniz: ";
cin>>cnumber;
}
}
if(cnumber>52||cnumber<1)
{
//to controll cards i wrote a function
while(cnumber>52||cnumber<1)
{
cout<<"Bu kart 1-52 arasinda degil yeniden seciniz: ";
cin>>cnumber;
}
}
}
int cardgame:
lay(int roundtime)
{
setscore();
for(int i=1;i<=roundtime;i++)
playround();
cout<<"Oyun Sonucu: "<<endl;
//this function controlles how many times the game played.
cout<<"Oyuncu1: "<<p1score<<endl;
cout<<"Oyuncu2: "<<p2score<<endl;
}
int main()
{
int roundsayisi;
cout<<"Oynanacak Round Sayisini Giriniz: ";
cin>>roundsayisi;
cardgame y;
y.play(roundsayisi);
system("pause");
}
#include <iostream>
#include <stdlib>
#include <string>
#include <time>
class cardgame;
class card{
int number;
char suit;
public:
void setvalue(int cardnumber=0,char cardsuit='A'){number=cardnumber; suit=cardsuit;}
int getnumber(){return number;}
char getsuit(){return suit;}
void print(){cout<<suit<<number<<" ";}
};
class cardgame{
int p1score;
int p2score;
int roundcount;
card newcards[52];
public:
cardgame();
void shuffledeck();
void playround();
friend class card;
int cardcontrol(int &cnumber);
int play(int );
void setscore(){p1score=0;p2score=0;}
};
cardgame::cardgame()
{
char keysuit;
int key=0;
cout<<"The deck is being initialized..."<<endl;
for(int i=1;i<=4;i++)
{
if(i==1){keysuit='C';}
else if(i==2){keysuit='D';} //the deck is beign initialized
else if(i==3){keysuit='H';}
else if(i==4){keysuit='S';}
for(int j=1;j<=13;j++){ newcards[key].setvalue(j,keysuit);key++;}
}
//for(int i=1;i<=52;i++){newcards[i-1].print();if(i%13==0)
{cout<<endl;}} Before Shuffle printing array
cout<<"The deck is being shuffled..."<<endl;
shuffledeck();
//cout<<endl<<endl; for(int i=1;i<=52;i++){newcards[i-1].print();if(i%13==0)
{cout<<endl;}} after shuffle printing array
cout<<"Done..."<<endl;
}
void cardgame::shuffledeck()
{
int a,b,bossayi,bossayi1;
char boskart,boskart1;
for(int i=0;i<=150;i++)
{
a=rand()%52;
b=rand()%52;
bossayi=newcards[a].getnumber();
boskart=newcards[a].getsuit();
//here the deck is beign shuffled, to shuffle i open two free char and integer then i swap them
bossayi1=newcards.getnumber();
boskart1=newcards.getsuit();
newcards[a].setvalue(bossayi1,boskart1);
newcards.setvalue(bossayi,boskart);
}
}
void cardgame:
{
int oyuncu1,oyuncu2,rscore;
cout<<"Oyuncu1 Bir Kart Seciniz: ";
cin>>oyuncu1;
cardcontrol(oyuncu1);
cout<<"Oyuncu2 Bir Kart Seciniz: ";
cin>>oyuncu2;
if(oyuncu2==oyuncu1)
{
while(oyuncu2==oyuncu1)
{
cout<<"Bu kart Daha Once Secilmis Lutfen Yeni Kart Seciniz:";
//ikinci oyuncu birinci oyuncunun seçtici karti secmemesi icin bi while koydum
cin>>oyuncu2;
}
}
cardcontrol(oyuncu2);
cout<<"oyuncu1: "; newcards[oyuncu1-1].print(); cout<<"oyuncu2: ";newcards[oyuncu2-1].print();
cout<<endl;
cout<<"Rount sonucu: ";
if(newcards[oyuncu1-1].getnumber()>newcards[oyuncu2-1].getnumber())
{
if(newcards[oyuncu1-1].getsuit()=='H'||newcards[oyuncu1-1].getsuit()=='D')
{rscore=(newcards[oyuncu1-1].getnumber()-newcards[oyuncu2-1].getnumber())*2;
p1score+=rscore;
cout<<"Oyuncu1 "<<rscore<<" Puan Kazandi!!!"<<endl;}
else {
rscore=newcards[oyuncu1-1].getnumber()-newcards[oyuncu2-1].getnumber();
p1score+=rscore;
cout<<"Oyuncu1 "<<rscore<<" Puan Kazandi!!!"<<endl;}
}
else if(newcards[oyuncu1-1].getnumber()<newcards[oyuncu2-1].getnumber())
{
if(newcards[oyuncu2-1].getsuit()=='H'||newcards[oyuncu2-1].getsuit()=='D')
{rscore=(newcards[oyuncu2-1].getnumber()-newcards[oyuncu1-1].getnumber())*2;
p2score+=rscore;
cout<<"Oyuncu2 "<<rscore<<" Puan Kazandi!!!"<<endl;}
else {rscore=newcards[oyuncu2-1].getnumber()-newcards[oyuncu1-1].getnumber();
p2score+=rscore;
cout<<"Oyuncu2 "<<rscore<<" Puan Kazandi!!!"<<endl;}
}
else {cout<<"Berabere"<<endl;}
newcards[oyuncu1-1].setvalue();
newcards[oyuncu2-1].setvalue();
}
int cardgame::cardcontrol(int &cnumber)
{
int x;
if(newcards[cnumber-1].getnumber()==0)
{
//to controll cards i wrote a function
while(newcards[cnumber-1].getnumber()==0)
{
cout<<"Bu kart Daha Once Secilmis Lutfen Yeni Kart Seciniz: ";
cin>>cnumber;
}
}
if(cnumber>52||cnumber<1)
{
//to controll cards i wrote a function
while(cnumber>52||cnumber<1)
{
cout<<"Bu kart 1-52 arasinda degil yeniden seciniz: ";
cin>>cnumber;
}
}
}
int cardgame:
{
setscore();
for(int i=1;i<=roundtime;i++)
playround();
cout<<"Oyun Sonucu: "<<endl;
//this function controlles how many times the game played.
cout<<"Oyuncu1: "<<p1score<<endl;
cout<<"Oyuncu2: "<<p2score<<endl;
}
int main()
{
int roundsayisi;
cout<<"Oynanacak Round Sayisini Giriniz: ";
cin>>roundsayisi;
cardgame y;
y.play(roundsayisi);
system("pause");
}