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); }