#include <stdio.h>
#include <time.h>
void menu();
void calistir(int);
void oyun1();
void oyun2();
int secim=3;
int main()
{
menu();
return 0;
}
void menu()
{
do{
printf("menudesiniz, oynamak istediginiz oyunun solundaki sayiyi giriniz, cikmak icin 0 giriniz");
printf("\n1 oyun1\n2 oyun2\n");
scanf("%d", &secim);
calistir(secim);
}while (secim<0 || secim>2);
}
void calistir(int n)
{
switch(n)
{
case 0: printf("kapandi...\n"); break;
case 1: oyun1(); break;
case 2: oyun2(); break;
}
}
void oyun1()
{
int hedef, basarili_as=0, yakin_as=0, basarisiz_as=0, puan=0;
float tahmin, hata_orani, t_hata_orani=0;
srand(time(NULL));
printf("Rastgele beliren dusmanlari yok etmek icin 1-10 arasi sayi girin\nOyun1 Basliyor!\n");
for(int i=0; i<10; i++)
{
hedef=(rand()%10)+1;
printf("%d. dusman belirdi\tHangi konuma ates edeceksiniz: ", i+1);
scanf("%f", &tahmin);
hata_orani=(tahmin>hedef)?(tahmin-hedef): (hedef-tahmin);
t_hata_orani+=hata_orani;
printf("%d. atis hata oraniniz: %f", i+1, hata_orani);
if(hata_orani==0)
{
basarili_as++;
puan+=10;
printf("\t basarili atis gerceklestirdiniz\n\n");
}else if(hata_orani<=0.5)
{
yakin_as++;
puan+=5;
printf("\t yakin atis gerceklestirdiniz\n\n");
}else
{
basarisiz_as++;
printf("\t basarisiz atis gerceklestirdiniz\n\n");
}
}
printf("10 atistaki toplam hataniz: %f\n", t_hata_orani);
printf("10 atistaki toplam puaniniz: %d\n", puan);
printf("10 atistaki toplam basarili atis sayiniz: %d\n", basarili_as);
printf("10 atistaki toplam yakin atis sayiniz: %d\n", yakin_as);
printf("10 atistaki toplam basarisiz atis sayiniz: %d\n", basarisiz_as);
printf("Oyun Bitti!\n\n");
menu();
}
void oyun2()
{
int rsayi, tahmin, bsmk_r[3], bsmk_t[3], ipucu[3], deneme=0, puan=100;
srand(time(NULL));
do{
rsayi=(rand()%900)+100;
bsmk_r[0]=rsayi/100;
bsmk_r[1]=(rsayi/10)%10;
bsmk_r[2]=rsayi%10;
}while(bsmk_r[0]==bsmk_r[1] || bsmk_r[0]==bsmk_r[2] || bsmk_r[1]==bsmk_r[2]);
printf("Oyun2 basliyor!\n");
while(deneme<10 && tahmin!=rsayi)
{
deneme++;
printf("Tahminizi giriniz: ");
scanf("%d", &tahmin);
if(!(deneme==1 || deneme==10))
printf("ipucu: %d%d%d", ipucu[0], ipucu[1], ipucu[2]);
bsmk_t[0]=tahmin/100;
bsmk_t[1]=(tahmin/10)%10;
bsmk_t[2]=tahmin%10;
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
if(bsmk_t[i]==bsmk_r[j])
ipucu[i]=(i==j)?1:9;
else
ipucu[i]=0;
}
}
}
puan-=10*(deneme-1);
if(tahmin==rsayi)
printf("Tebrikler, %d. denemenizde kazandiniz. Puaniniz: %d", deneme, puan);
else
printf("Kaybettiniz...\n");
menu();
}