OP Yıllanmış Üye
Teşekkür Sayısı: 0
379 mesaj
Kayıt Tarihi:Kayıt: Ara 2007
Karşılıklı zar atar,zarların toplamını tabloda kaydeder ta ki oyundan çıkana kadar zar her atıldığında srand fonkisyonu ile rastsal sayı değişir...
- [ Tüm kodu seç ] [ Yeni Pencerede Göster ]
// Barbut.cpp : main project file. //ScaLLyWaG //Barbut(zar) programı //Tarih:12.12.09 //Saat:04.53 #include "stdafx.h" #include <conio.h> #include <iostream> #include <stdlib.h>//Random sayı üretmek için kullanılan kütüphane #include <time.h> //srand fonksiyonu cağırır. #include <locale.h> //Türkçe karekterleri kullanmak için lazım olan kütüphane #include <windows.h> using namespace std; using namespace System; int ilkzar[5], ilkkzar[5], ikincizar[5], ikincizar1[5]; int sayac1,sayac2,sayac3;//tablo da ki sayaclar char secim; int e,f,i,j,zar,zar1;//zar,zar1 toplamlari gösterir void zaratis();//zaratış fonksiyonu prototype. void Oyun(); int Menu(); void Kontrol(); void Sayac(); void Sayac(); void Sor(); int main() { setlocale(LC_ALL,"Turkish"); Menu(); switch(secim) { case'1': do{ zaratis(); Oyun(); Kontrol(); Sayac(); Sor(); }while(secim!='C'); case '2'://Oyundan çıkış exit(0); default:main(); } return 0; } int Menu() { cout<<"|*|*||*|*||*|*||*|*||*|*||*|*||*|*||*|*||*|*|"; cout<<"\nZAR OYUNU"; cout<<"\n|*|*||*|*||*|*||*|*||*|*||*|*||*|*||*|*||*|*|"; cout<<"\n\nOyunu Başlatmak İçin 1 e Basın"<<endl; cout<<"\nÇikmak İçin 2 ye Basın"<<endl<<endl; cout<<"Seçim: "; cin>>secim; return secim; } void zaratis () { srand(time(NULL));//farklı sayı üretmek için for (int i=0 ; i < 2; i++) { ilkzar[i]=1+(rand()%6); for (int j=0 ; j < 2; j++) //burda ilk zar atişi yapılır { ilkkzar[j]=1+(rand()%6); } } for (int e=0 ; e < 2; e++) { ikincizar[e]=1+(rand()%6); for (int f=0 ; f < 2 ; f++) { //ikinci zar atışı ikincizar1[f]=1+(rand()%6); } } } void Oyun() { system("CLS"); cout<<"İLK OYUNCUNUN ZARLARINI ATMAK İÇİN BİR TUŞA BASINIZ"; _getch(); system("CLS"); cout<<"=======İlk Oyuncunun Zarı======= "<< ilkzar[i] <<" VE "<< ilkkzar[j];//ilk oyuncunun zarlari zar=ilkzar[i]+ilkkzar[j];//atılan ilk iki zarin toplami cout<<"\n\n\nToplami "<<zar; cout<<"\n\nİKİNCİ OYUNCUNUN ZARLARINI ATMAK İÇİN BİR TUŞA BASINIZ"; _getch(); cout<<"\n\n=======İkinci Oyuncunun Zarı======= "<< ikincizar[e] <<" VE "<< ikincizar1[f];//ikinci oyuncunun zarlari zar1=ikincizar[e]+ikincizar1[f];//atılan ikinci oyuncunun zarları toplanir cout<<"\n\nTOPLAMI : "<<zar1; } void Kontrol() { if (zar > zar1) { cout<<"\n\n***İLK OYUNCU KAZANDI***"; //Burda zar ve sayaç kontrolleri yapılır sayac1++; } else if (zar < zar1) { cout<<"\n\n***İKİNCİ OYUNCU KAZANDI***"; sayac2++; } else if (zar==zar1 && ilkzar[i]==ilkkzar[j] && ikincizar[e] != ikincizar1[f])//5+5=10 & 4+6=10 gibi durumlarda çift gelen taraf kazanır { cout<<"\n\n===İLK OYUNCU KAZANDI==="; sayac1++; } else if (zar==zar1 && ikincizar[e]==ikincizar1[f] && ilkzar[i]!=ilkkzar[j]) { cout<<"\n\n===İKİNCİ OYUNCU KAZANDI==="; sayac2++; } else if (zar==zar1) { cout<<"\n\n ***BERABERE KALINDI***"; sayac3++; } } void Sayac() { cout<<"\n\nGenel Durum"; cout<<"\n===================="; cout<<"\nİlk Oyuncu: "<<sayac1; cout<<"\nİkinci Oyuncu: "<<sayac2; //sayac;kimin kac kere kazandığını ve beraberlik durumunu gösterir cout<<"\nBeraberlik: "<<sayac3; cout<<"\n===================="; } void Sor() { do{ cout<<"\n\nDevam Etmek İÇin (D),Çikmak İçin (C) "; cin>>secim; //oyunu tekrar oynamak isteyip istemediğinizi sorar if (secim=='C') exit(1); }while(secim!='D' || secim=='C'); }
Son Düzenleme: scallywag ~ 08 Nisan 2010 18:26