Şimdi Ara

SoS Oyununda anlamadığım bazı kodlar yardım(Eclipse)

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
1
Favori
953
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • public class SoS {
    public static int row, col;
    public static Scanner scan = new Scanner(System.in);
    public static char[][] board = new char [3][3];
    public static char turn = 'X';

    public static void main(String[] args){
    //Burada iç içe döngü kurularak '_' 9 tane bu karakterden elde ediyoruz anlamadığım olay ise nasıl alt satıra geçip devam ediyor bu kod'da alt satıra geçme gibi bir şey göremedim, benim bakış açımla yan yana yazılması gerekir karakterlerin..
    for (int i = 0; i < 3; i++){
    for(int j = 0; j < 3; j++){
    board[j] = '_';
    }
    }

    Play();
    }

    public static void Play (){

    boolean playing = true;
    PrintBoard();
    while (playing){
    System.out.println("Please enter a row and column: ");
    row = scan.nextInt() - 1; // anladım :)
    col = scan.nextInt() - 1;
    board[row][col] = turn;

    if(GameOver(row, col)){

    playing = false;
    System.out.println("Game Over! Player " + turn + " wins!");
    }

    PrintBoard();

    if(turn == 'X')
    turn = '0';
    else
    turn = 'X';
    }

    }

    public static void PrintBoard(){

    for(int i = 0; i < 3; i++){
    System.out.println();
    for (int j = 0; j < 3; j++){
    if(j == 0)
    {
    System.out.print("| ");
    }
    System.out.print(board[j] + " | "); // Burada program nasıl oluyorda yan yana yazması gerektiğini biliyor yani şöyle anlatıyım [0][0] dizisi [0][1] dizisinin solunda kalıyor karakterler şekillenirken.

    }

    }
    System.out.println();
    }

    public static boolean GameOver(int rMove, int cMove){

    //Açıkcası buranın mantıgını hiç anlamadım gibi, tahminimce eğer şu şu diziye eşit ise değer döndür gibi birşey mi.

    if(board[0][cMove]==board[1][cMove]
    && board[0][cMove] == board[2][cMove])
    return true;
    if(board[rMove][0]==board[rMove][1]
    && board[rMove][0] == board[rMove][2])
    return true;
    if(board[0][0] == board[1][1] && board[0][0]==board[2][2]
    && board[1][1] !='_')
    return true;
    if(board[0][2] == board[1][1] && board[0][2]==board[2][0]
    && board[1][1] != '_')
    return true;
    return false;

    }


    Programda hata yok sadece anlamak için sizlere danışıyorum.
    Ekran çıktısı şöyle:
    | _ | _ | _ |
    | _ | _ | _ |
    | _ | _ | _ |
    Please enter a row and column:

    Şimdi yukarda anlamadıgım yerleri sizlerle paylaşcam kodların arasında yorum satırları aracılığı ile.
    Aslında çoğu yeri anladım birde '_' , "_" bunun arasında nasıl bir fark var " " bunun string için kullanıldıgını biliyorum ' ' bununda charlar için kullanıldığını biliyorum ama burada farklı kullanılmış sanki.



    < Bu mesaj bu kişi tarafından değiştirildi Valanis -- 5 Eylül 2014; 14:11:39 >







  • public static void PrintBoard(){

    for(int i = 0; i < 3; i++){
    System.out.println();
    for (int j = 0; j < 3; j++){
    if(j == 0)
    {
    System.out.print("| ");
    }
    System.out.print(board[j] + " | "); // burada program nasıl oluyorda yan yana yazması gerektiğini biliyor yani şöyle anlatıyım [0][0] dizisi [0][1] dizisinin solunda kalıyor karakterler şekillenirken.

    }

    }
    System.out.println();
    }

    Öncelikle şu kısmı anlatayım. Bu kısım boardun çizildiği bölüm.
    print() metodu yan yana ekleyerek yazar, println() yazdıktan sonra alt satıra geçer.
    J=0 iken önce | yazılır sonra __| yazılır.
    J=1 iken __| yazılır.
    j=2 iken __| yazılır.
    Sonra i=1 olur println() ile alt saıra geçilir.Aynı işlem tekrarlanır.
  • Evet hocam sonradan çaktım onu zaten, kodlar basit aslında ama şu diziler biraz kafa karıştırıcı eyvallah ilginiz için



    < Bu mesaj bu kişi tarafından değiştirildi Valanis -- 5 Eylül 2014; 18:52:22 >
  • Ayrıca her yerde her zaman söylüyoruz. Eclipse bir IDE'dir (Integrated Development Environment) yani sorulan soru ile Eclipse'in alakası bile yoktur. X marka defter alıp, o defterin içindeki matematik problemini buraya yazdığınızda aynı zamanda defterin markasını yazmazsınız. Burda Eclipse yazarak defterin markasını da yazmış oluyorsunuz.
  • Evet Eclipse'nin bir IDE oldugunu biliyorum bu JavaScript komutlarını farklı bir IDE kullanarak da yazabilirdim, haklısınız bunu (eclipse) diye belirtmem sadece ona özel birşey miş gibi bir algı oluşturmak gibi oldu ve saçma oldu biraz ama ben zaten java sekmesinde açıyorum bu konuyu ve bunu (eclipse) diye belirtmem ve de parantez içinde size ne gibi bir çağrışım yaptıracak yani bunu sadece eclipse'nin javascript kodları olmaksızın gerçekleştiridiğim mi anlaşılacak heralde herkez bunun bir IDE olduğunu anlamıycak mı ?,ama ben burada başlığ'ı yalnış kullanmış olsam da sadece sorunumu dile getirmiştim, benim burada IDE'nin ne olduğunu bilip bilmem ayrıca başkalarının yardım etmeyeciği anlamına gelmiyor çünkü asıl olan içeriğidir konunun belirtmek istediğim herşey orada mevcut ve böyle küstahca konusmanızı gerektirecek bir durum da değil (nerede küstahlık yaptım diyecek olursanız yazdıklarınızda ki bana verdiğiniz örneklere bakın, ben sadece kodları anlamak isteyen biri olarak olayı ele alıyorum oysa sen daha benim yazdıgım ECLİPSE başlıgından hareketle saçma sapan örneklerle bana ders vermeye çalışıyorsun), ayrıca kendinize ne tür bir misyon yüklediniz bilmiyorum ama şu lafınızı da kendini programcı zanneden herkezde görüyorum ve bunu bıkkın bir edayla dile getirmeniz size ne kazandırıyor anlamış değilim-- "Ayrıca her yerde her zaman söylüyoruz." Siz kimsiniz ? ..



    < Bu mesaj bu kişi tarafından değiştirildi Valanis -- 10 Eylül 2014; 14:03:47 >




  • Valanis kullanıcısına yanıt
    Uygun yerlere noktalama işaretleri ekleyerek cevaplarsanız bir dahakine yazdığınızı okuyabilirim. Sağlıcakla kalın.
  • Yazdıklarımı okuduğunuz nasıl da belli yazdıklarım dan dolayı morardığınız gayet normal sizde sağlıcakla kalın yardım sever böcek.



    < Bu mesaj bu kişi tarafından değiştirildi Valanis -- 10 Eylül 2014; 14:41:20 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.