21 Kasım 2014 Cuma

C Konsol MasterMind Sayı Tahmin Etme Oyunu

KONU : C Konsol Uygulamalar - rastgele 4 basamaklı sayı oluşturma. 4 basamaklı sayıyı basamaklarına ayırma. 4 basamaklı sayı tahmin etme oyunu. Mastermind oyun uygulaması oluşturma. Sonsuz döngü kullanımı ve break komutu kullanımı.
ETİKETLER: c - konsol - mastermind - basamak - matematik - random - rastgele - sayı - for - while


#include  < stdio.h >
#include < string.h >
#include < stdlib.h > 

void main()
{

 char estimatedNumber[4];

 int  i, length;

 //int tipine dönüştüreceğimiz sayı
  int digitOk = 0;
  int digitNotOk = 0;

 //basamak değeri: abcd girilen sayımız d -> digitValue[3] olarak temsil edecek
 int digitValue[4];

 int targetNumber[4];

 //tahmin edilecek sayının basamaklarını oluşturalım
 for(i=0; i<4; i++)
    {
  targetNumber[i] = (rand() + rand())%10; // rand() fonksiyonu ile 0 - 10 arasında bir sayı oluşturuyorum
 }

 while(true)//sonsuz döngü, çıkılmak istenilene kadar devam edecek bir döngü oluşturuyorum.
 {
  digitOk = 0;
  digitNotOk = 0;

  //konsoldan bir sayı giriniz.
  printf("\n\nEnter a number: ");

  //konsoldan girilen sayıyı oku
  gets(estimatedNumber);

  //sayının uzunluğunu kontrol et
  length = strlen(estimatedNumber);

  //okunan dört basamaklı sayıyı int tipine dönüştür
  for(i=0; i < length; i++)
  {
   digitValue[i] = estimatedNumber[i] - '0';


   bool digitAvailable = false;

   for(int j=0; j<4; j++)
   {
    if(digitValue[i] == targetNumber[j])
    {
     digitAvailable = true;
     break;
    }
   }
   
   if(digitAvailable == true)
   {
    if(digitValue[i] == targetNumber[i])
    {
     digitOk++;
    }
    else
    {
     digitNotOk++;
    }
   }
   
  }

  printf(" Information =  +%d  -%d ", digitOk, digitNotOk);

  if(digitOk == 4)
  {
   break;
  }
 }

 printf("\n ****Game Over**** ");
 printf("\n ****Game Over**** ");
 scanf("%d",&i);
}

Hiç yorum yok:

Yorum Gönder

Hatalı linkleri yorum yazarak bildirin

Etiketler

Array (9) bool (3) break (1) BubbleSort (1) C (23) char (4) Char Sınıfı (1) conio.h (5) Console (4) Dizi (1) Diziler (11) Döngüler (24) File Sınıfı (1) Fonksiyon (3) For (12) Function (2) Game (1) Getch (1) gets (1) if-else (6) if-else örnekleri (15) int (8) Konsol (16) Konsol Okuma (16) Konsol Yazdırma (17) Matematik (14) Oyun (1) Pointer (2) printf (9) scanf (8) Sort (1) stdio.h (10) stdlib.h (8) strcpy (1) String (1) string.h (2) Swap (1) Switch Case (3) time.h (1) while (5)