Kalademi.me to idealne miejsce, aby uzyskać szybkie i dokładne odpowiedzi na wszystkie swoje pytania. Geniş bir uzman topluluğu sayesinde sorularınıza güvenilir cevaplar bulmanın rahatlığını yaşayın. Sorularınıza hızlı ve güvenilir çözümler bulmak için deneyimli uzman topluluğumuzdan faydalanın.
Sagot :
(Bİ TEŞEKKÜRÜ HAK ETTİM SANIRIM) class Admiral {
public static void maiİn(String args[]) throws Exception
{
java.util.Random generator =
new java.util.Random(System.currentTimeMillis());
//gemilerin yerleştirildiği matris
int board[][] = new int [10][10];
//oyuncunun hamlelerinin tutulduğu matris
int player[][] = new int [10][10];
//gemilerin adedini tutan dizi
//0 nolu eleman kullanılmıyor
int ship[] = {0, 4, 3, 2, 1};
int i, j, row, col, size;
int num, dir, shipSize, count, r, c, rl, cl, flag;
int right, down, hit;
row = 10;
col = 10;
size = 5;
count = 0;
shipSize = 1;
while (shipSize <= 4) {
//yon üretiliyor (0 sağa, 1 aşağıya)
dir = generator.nextInt(2);
//yöne göre satır sütun sınırları ve
//yerleştirilecek geminin sınırları belirleniyor
if (dir == 0) {
rl = row;
cl = col - shipSize + 1;
right = 2 + shipSize;
down = 3;
}
else {
rl = row - shipSize + 1;
cl = col;
right = 3;
down = 2 + shipSize;
}
//geminin nereye yerleştirileceği üretiliyor
r = generator.nextInt(rl);
c = generator.nextInt(cl);
//geminin yerleştirileceği yerin
//boş olup olmadığına bakılıyor
flag = 0;
for (i = r-1; i < (r-1) + down; i = i + 1)
for (j = c-1; j < (c-1) + right; j = j + 1)
if (i >=0 && i < row && j >= 0 && j < col)
if (board[i][j] != 0)
flag = 1;
//flag'in 0'a eşit olması geminin yerleştirileceği yerin
//boş olduğunu gösteriyor.
if (flag == 0) {
//gemi yerleştiriliyor
for (i = r; i < r + down - 2; i = i + 1)
for (j = c; j < c + right - 2; j = j + 1)
board[i][j] = shipSize;
//adet bir arttırılıyor
count = count + 1;
//gemiden istenen adet yerleştirilmişse
//bir sonraki gemiye geçiliyor
if (ship[shipSize] == count) {
shipSize = shipSize + 1;
count = 0;
}
}
}
//gemilerin yerleştirildiği matris yazdırılıyor
for (i = 0; i < row; i = i + 1) {
for (j = 0; j < col; j = j + 1)
System.out.print(board[i][j] + " ");
System.out.println();
}
System.out.println();
//toplam 20 isabetli atış yapıldığında oyun bitiyor
count = 0;
hit = 0;
while(hit < 20) {
//atış sayısı bir arttırılıyor
count = count + 1;
//atış yapılıyor
System.out.print("Satiri giriniz : ");
r = Keyboard.readInt();
System.out.print("Sutunu giriniz : ");
c = Keyboard.readInt();
//atışın isabetli olup olmadığına bakılıyor
//eğer isabetli ise oyuncunun matrisine
//gemi numarası yazdırılıyor
//değilse 9 sayısı yazdırılıyor
if (board[r][c] != 0){
hit = hit + 1;
player[r][c] = board[r][c];
}
else
player[r][c] = 9;
//gemilerin matrisi yazdırılıyor
for (i = 0; i < row; i = i + 1) {
for (j = 0; j < col; j = j + 1)
System.out.print(board[i][j] + " ");
System.out.println();
}
System.out.println();
//oyuncunun matrisi yazdırılıyor
for (i = 0; i < row; i = i + 1) {
for (j = 0; j < col; j = j + 1)
System.out.print(player[i][j] + " ");
System.out.println();
}
}
System.out.println("Tebrikler! " + count + " adimda bildiniz.");
}
}
Buraya uğradığınız için teşekkür ederiz. Tüm sorularınıza en iyi yanıtları vermeyi taahhüt ediyoruz. Yakında görüşmek üzere. Ziyaretinizi takdir ediyoruz. Platformumuz her zaman doğru ve güvenilir yanıtlar sunmak için burada. İstediğiniz zaman geri dönün. Kalademi.me'de yanıtlar sunmaktan gurur duyuyoruz. Daha fazla bilgi için tekrar ziyaret edin.