0

JAVAFX ile Satranç Tahtası Çizimi

Merhaba arkadaşlar 

Bugun javafx ile bir satranç tahtasının nasıl çizileceğini anlatmaya çalışacağım. Satranç tahtasının üzerinde 8 * 8 şeklide kareler var bu “Rectange” nesnesini kullanarak ekrana bastıracağız. hemen başlayalım. Mantık olarak şöyle düşünelim. Her satırda 8 adet kare olduğuna göre 8 kere 8 kare basılacak yani içte 8 kere dönen bir for döndügüsü ve dışta 8 kere dönen bir for döndügüsü bu arada ekrana bastığı karelerin birisi açık gri diğeri koyu gri olacak. İçte 8 kere dönerken iç döngü değişkeni tek olduğunda koyu ( yada açık) çift olduğunda açık olsun. Satır değiştiğinde de bu mantık tersine çalışsın. Böyle düşünürsek herhalde mantıksız olmaz. Belki daha pratik düşünen arkadaşlar olabilir ama ben böyle düşündüm . Programcılık bu bir çözümü olmaz… 🙂 

Haydi bakalım kodlar…..

 @Override
    public void start(Stage primaryStage) throws Exception {

        Group satrancTahtasi = new Group();

        int satir=0;
        int kareBoyutu = 100;

        for(int i=0; i<8;i++){

            for (int j=0;j<8;j++){


                Rectangle r=new Rectangle();
                r.setWidth(kareBoyutu);
                r.setHeight(kareBoyutu);

                r.setX(j*kareBoyutu);
                r.setY(i*kareBoyutu);

                if(satir%2==0) {
                    if (j % 2 == 0) {

                        r.setFill(Color.GRAY);

                    } else {

                        r.setFill(Color.DARKGRAY);
                    }

                }
                else {

                    if (j % 2 == 0) {

                        r.setFill(Color.DARKGRAY);

                    } else {

                        r.setFill(Color.GRAY);
                    }
                }

                satrancTahtasi.getChildren().add(r);

            }
            satir++;


        }

        primaryStage.setTitle("JAVA FX Satranç Tahtası");
        primaryStage.setScene(new Scene(satrancTahtasi,800,800));
        primaryStage.show();
    }

Sonuçta böyle bir ekran görüntüsü elde edeceğiz. Kolay gelsin…

admin

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir