Program rasgele 4 farklı tek basamaklı sayı üretiyor ve kullanıcı bunu tahmin etmeye çalışıyor.
25.03.2010 - 13:30 tarihinde vefa gönderdi
Program rasgele 4 farklı tek basamaklı sayı üretiyor ve kullanıcı bunu tahmin etmeye çalışıyor.
Örnek ekran çıktısı:
Oyuna basliyabilirsiniz
1. tahmini giriniz : 1234
1234 +1 -2
2. tahmini giriniz : 5678
5678 +0 -1
Kaynak kod:
class GameFourNumbers { public static void main(String args[]) throws Exception { java.util.Random generator = new java.util.Random(System.currentTimeMillis()); int nums [] = new int[4]; int guess [] = new int[4]; int i, j, size, input, num, sumPos, sumNeg, isGameOver, count, flag; //4 farklı tek basamaklı sayı rasgele üretiliyor size = 4; count = 0; while (count != size) { num = generator.nextInt(10); flag = 0; for (i = 0; i < count; i = i + 1) if (nums[i] == num) flag = 1; if (flag == 0) { nums[count] = num; count = count + 1; } } //for (i = 0; i < size; i = i + 1) // System.out.print(nums[i] + " "); System.out.println(); System.out.println("Oyuna basliyabilirsiniz"); isGameOver = 0; count = 0; while(isGameOver == 0) { count = count + 1; System.out.println(); System.out.print(count + ". tahmini giriniz : "); input = Keyboard.readInt(); //Klavyeden girilen sayı basamaklarına ayrılıyor for (i = size - 1; i >= 0; i = i - 1) { guess[i] = input % 10; input = input / 10; } //Tutulan sayı ve girilen sayı karşılaştırılıyor. sumPos = 0; sumNeg = 0; for ( i = 0; i < size; i = i + 1) for (j = 0; j < size; j = j + 1) if (guess[i] == nums[j]) if (i == j) sumPos = sumPos + 1; else sumNeg = sumNeg + 1; for (i = 0; i < size; i = i + 1) System.out.print(guess[i]); System.out.println(" +" + sumPos + " -" + sumNeg); if (sumPos == 4) { isGameOver = 1; System.out.println(count + " adimda bildiniz."); } } } }
Etiketler:
