Anasayfa

C ve Sistem Programcıları Derneği

  • CSD Hakkında
    • Yönetim Kurulu
    • Referanslar
    • Üyelik
    • Adres
    • Kroki
    • İletişim
  • Kurslar
    • Kurs Başvurusu
    • Eğitmenler
  • Seminerler
    • Seminer İste
    • Seminer Ver
  • Kaynaklar
    • Yararlı Linkler
    • Kaynak Kod Arşivi
    • Makaleler
    • Çalışma Soruları
    • Yararlı Kitaplar
    • Dosya Arşivi
    • Döküman Arşivi
  • Duyurular
  • Haberler
  • İş İlanları
    • İş İlanı Gönder
  • SSS
  • Kurs Başvurusu

menü

  • CSD Hakkında
    • Yönetim Kurulu
    • Referanslar
    • Üyelik
    • Adres
    • Kroki
    • İletişim
  • Kurslar
    • Kurs Başvurusu
    • Eğitmenler
  • Seminerler
    • Seminer İste
    • Seminer Ver
  • Kaynaklar
    • Yararlı Linkler
    • Kaynak Kod Arşivi
    • Makaleler
    • Çalışma Soruları
    • Yararlı Kitaplar
    • Dosya Arşivi
    • Döküman Arşivi
  • Duyurular
  • Haberler
  • İş İlanları
    • İş İlanı Gönder
  • SSS
  • Kurs Başvurusu

e-posta ile bilgilendirme.

Derneğimizdeki etkinliklerden haberdar olun!

Haber mektubu üyeliğiniz

Kimler çevrimiçi

Şu an 0 kullanıcı ve 1 ziyaretçi çevrimiçi.
""
dreamhost
Anasayfa

Mayın Tarlası (Programlamaya Giriş)

26.03.2010 - 13:22 tarihinde vefa gönderdi
  1. Oyun 10x10'luk bir matriste oynanıyor.
  2. Program 3 temel bölümden oluşuyor. Birinci bölümde oyun alanına rasgele 25 mayın yerleştiriliyor. İkinci bölümde mayın olmayan hücrelerin etrafındaki mayınlar sayılıyor ve bu hücrelere yazılıyor. Üçüncü bölümde ise oyun oynanıyor.
  3. Oyuncunun hamleleri ikinci bir matriste tutuluyor.
Örnek ekran çıktısı: 

 1 -1  2  2 -1  1  0  0  0  0
 2  3 -1  2  1  2  1  2  2  2
 2 -1  3  3  2  2 -1  2 -1 -1
-1  4  3 -1 -1  2  2  3  3  2
-1  3 -1  3  2  1  2 -1  2  0
 1  3  2  3  1  1  2 -1  3  1
 0  1 -1  3 -1  2  2  2 -1  1
 0  2  3 -1  4 -1  2  2  2  1
 1  2 -1  4 -1  3  2 -1  2  1
-1  2  1  3 -1  2  1  2 -1  1
 9  9  9  9  9  9  9  9  9  9
 9  9  9  9  9  9  9  9  9  9
 9  9  9  9  9  9  9  9  9  9
 9  9  9  9  9  9  9  9  9  9
 9  9  9  9  9  9  9  9  9  9
 9  9  9  9  9  9  9  9  9  9
 9  9  9  9  9  9  9  9  9  9
 9  9  9  9  9  9  9  9  9  9
 9  9  9  9  9  9  9  9  9  9
 9  9  9  9  9  9  9  9  9  9
 Satiri giriniz : 2
 Sutunu griniz  : 0

Kaynak kod: 
class Mines {
   public static void main(String args[]) throws Exception
   {
      java.util.Random generator = new
            java.util.Random(System.currentTimeMillis());
 
      int pcBoard[][] = new int[10][10];
 
      int plBoard[][] = new int[10][10];
 
      int i, j, row, col, count, isGameOver, r, c;
 
      row = 10;
      col = 10;
 
      //Mayınlar yerleştiriliyor.
      count = 0;
      while (count != 25) {
         r = generator.nextInt(10);
         c = generator.nextInt(10);
         if (pcBoard[r][c] != -1) {
            pcBoard[r][c] = -1;
            count = count + 1;
         }
      }
 
      for (i = 0; i < row; i = i + 1) {
         for (j = 0; j < col; j = j + 1) {
            if (pcBoard[i][j] != -1)
               System.out.print(" ");
            System.out.print(pcBoard[i][j] + " ");
         }
         System.out.println();
      }
 
      //Mayın olmayan hücrelerin etrafındaki mayınlar sayılıyor.
      for (i = 0; i < row; i = i + 1)
         for (j = 0; j < col; j = j + 1)
            if (pcBoard[i][j] == 9) {
               count = 0;
               for (r = i - 1; r <= i + 1; r = r + 1)
                  for (c = j - 1; c <= j + 1; c = c + 1)
                     if (r >= 0)
                        if (r < row)
                           if (c >= 0)
                              if (c < col)
                                 if (pcBoard[r][c] == -1)
                                    count =count + 1;
 
               pcBoard[i][j] = count;
            }
 
      //Oyun oynanıyor.
      count = 0;
      isGameOver = 0;
      while (isGameOver == 0) {
         count = count + 1;
         System.out.print("Satiri giriniz : ");
         r = Keyboard.readInt();
         System.out.print("Sutunu giriniz : ");
         c = Keyboard.readInt();
 
         plBoard[r][c] = pcBoard[r][c];
 
         if (pcBoard[r][c] == -1) {
            isGameOver = 1;
            System.out.println("Mayina bastiniz...");
         }
         else if (count == 75) {
            isGameOver = 1;
            System.out.println("Tebrikler...");
         }
 
         for (i = 0; i < row; i = i + 1) {
            for (j = 0; j < col; j = j + 1) {
               if (pcBoard[i][j] != -1)
                  System.out.print(" ");
               System.out.print(pcBoard[i][j] + " ");
            }
            System.out.println();
         }
         System.out.println();
         for (i = 0; i < row; i = i + 1) {
            for (j = 0; j < col; j = j + 1) {
               if (plBoard[i][j] != -1)
                  System.out.print(" ");
               System.out.print(plBoard[i][j] + " ");
            }
            System.out.println();
         }
      }
   }
}
  • Yazıcı uyumluYazıcı uyumlu
  • Arkadaşa gönderArkadaşa gönder
  • PDFPDF
Etiketler:
  • Java

Adres: 2.Taşocağı Cd. Oğuz Sk. Barbaros Apt. No: 11/4 PK: 34387  Mecidiyeköy / İSTANBUL Tel: (212) 274 63 60  (212) 274 99 89  (212) 275 88 97  (212) 288 35 20 Fax: (212) 275 88 97 E-Posta: csystem@csystem.org

İçerik yayınları
Fervens Drupal theme by Leow Kah Thong. Designed by Design Disease and brought to you by Smashing Magazine.