SWING İLE BULMACA YAPIMI



import java.awt.*;
import java.awt.event.*;
import java.util.Random;
import javax.swing.*;
import javax.swing.event.*;
/**
 *
 * @author Gökhan
 */
public class Bulmaca extends JFrame  implements ActionListener {
   static JTextField[] txtField = new JTextField[28];
   JButton jbtn;
   static  JLabel[] s=new JLabel[7];
   String deger="X";
   Dimension panel=new Dimension(610,610);
   JLabel sorular=new JLabel();
    int kazanc;
    int kayip;
    Random r=new Random();
    int secilen=r.nextInt(10);
    String []a=new String[27];
    JLabel sa;
   public void karala(int[]k)
   {
     
       for(int i=0;i<k.length;i++)
       {
              txtField[k[i]].setBackground(Color.black);
              txtField[k[i]].setEnabled(false);
              txtField[k[i]].setText("X");
       }
   }
   public void sonuc(){     
          kazanc=JOptionPane.showOptionDialog(null,
                        "Devam etmek istiyor musunuz ?",
                        "KAZANDINIZ", JOptionPane.YES_NO_OPTION,
                        JOptionPane.PLAIN_MESSAGE, null, null, null);
   
                   if(kazanc==JOptionPane.YES_OPTION)
           {
               
                new Bulmaca();
           }
            else {
                System.exit(1);
            }
        }
   public JPanel soruEkle(JLabel [] s){
        JPanel soru=new JPanel();
        soru.setPreferredSize(panel);     
       for (JLabel item : s) {
           soru.add(item);
       }
        return soru;
 
   }
   public  void kotuSonuc(){
     kayip = JOptionPane.showOptionDialog(null,
                        "Devam etmek istiyor musunuz ?",
                        "KAYBETTİNİZ", JOptionPane.YES_NO_OPTION,
                        JOptionPane.PLAIN_MESSAGE, null, null, null);
            if(kayip==JOptionPane.YES_OPTION)
           {   
            new Bulmaca();
           }
            else {
                System.exit(1);
            }
   }
   public void kontrolEt(String durum){
         for(int i=0;i<28;i++){
               deger=deger+txtField[i].getText();
           }
   if(deger.equals(durum)){
       sonuc();
           }
   else{
      kotuSonuc();
   }
   }
   public JButton butonEkle(){
        jbtn=new JButton("Cevapları Göster");
        jbtn.addActionListener(this);
        jbtn.setActionCommand("cevapgoster");
        return jbtn;
   }
    public Bulmaca(){   
        Random renk=new Random();
        int renksec=renk.nextInt(3);
        this.setDefaultCloseOperation(3);
        this.setSize(630,375);
        this.setLayout(new FlowLayout());
        Dimension jtSize =new Dimension(40,40);
        JPanel jpn1=new JPanel();
        jpn1.setPreferredSize(new Dimension(320,190));
        if(renksec==0)jpn1.setBackground(Color.yellow);
        if(renksec==1)jpn1.setBackground(Color.red);
        if(renksec==2)jpn1.setBackground(Color.ORANGE);
   for (int i = 0; i < 28; i++) {
     txtField[i] = new JTextField(Integer.toString(i+1));
    txtField[i].setHorizontalAlignment(JTextField.CENTER);
     jpn1.add(txtField[i]);
     txtField[i].setPreferredSize(jtSize);
   }
   if(secilen==0){
        int[] t1={1,6,15,20,21,27};
        karala(t1);
   s[0]=new JLabel("1)PHP'de form metodu (1-15)");
   s[1]=new JLabel("2)PHP'de rastgele sayı seçmek istediğimizde kullanacağımız fonksiyon (3-6)");
   s[2]=new JLabel("3)Bir metni istediğimiz karakterden parçalara ayırabileceğimiz PHP fonksiyonu(8-14)");
   s[3]=new JLabel("4)PHP'de sayfaya yazı basmak için kullanılan komut(17-20)");
   s[4]=new JLabel("5)PHP'de bir değişkenin var olup olmadığını test eden fonksiyon(23-27)");
   s[5]=new JLabel("");
   s[6]=new JLabel("-----");
   this.add(butonEkle());
   this.add(jpn1);
   this.add(soruEkle(s));
 }
   if(secilen==1){
        int [] t2={6,7,12,19,21,22,23};
        karala(t2);
   s[0]=new JLabel("1)HTML'de oluşturulan bir tablonun kalınlığını ayarlayan anahtar kelime(1-6)");
   s[1]=new JLabel("2)HTML'de eklediğimiz JPEG dosyasının yerini belirttiğimiz anahtar kelime (14-28)");
   s[2]=new JLabel("3)HTML'de girdi girmenizi sağlaya tag(8-14)");
   s[3]=new JLabel("4)CSS'te bir list type.                   (25-28)");
   s[4]=new JLabel("5)HTML sayfasını parçalara ayırmamızı sağlayan tag.(15-19)");
   s[5]=new JLabel("6)HTML sayfasındaki bir CSS dosyasının linkini belirten anahtar kelime(9-12)");
   s[6]=new JLabel("-----");
   this.add(butonEkle());
   this.add(jpn1);
   this.add(soruEkle(s));
 }
   if(secilen==2){
        int [] t3={0,13,15,16,17,24};
        karala(t3);
   s[0]=new JLabel("1)T-SQL'de tablo veya veritabanı oluştururken kullandığımız anahtar kelime(2-7)");
   s[1]=new JLabel("2)T-SQL'de kayıtları göstermek için kullandığımız anahtar kelime(14-28)");
   s[2]=new JLabel("3)T-SQL'de 10 değerden en büyüğünü getirmek için kullanılan fonksiyon(19-21)");
   s[3]=new JLabel("4)T-SQL'de 10 değerden en küçüğünü getirmek için kullanılan fonksiyon (22-24)");
   s[4]=new JLabel("5)T-SQL'de 10 değerin ortalamasını döndüren foksiyon(25-27)");
   s[5]=new JLabel("6)T-SQL'de 10 değerin toplamını döndüren fonksiyon (8-22)");
   s[6]=new JLabel("-----");
   this.add(butonEkle());
   this.add(jpn1);
   this.add(soruEkle(s));
 }
      if(secilen==3){
        int [] t4={0,2,13,14,16,20,21,22};
        karala(t4);
   s[0]=new JLabel("1)C#'ta bir sınıftan nesne türetileceği zaman kullanılan anahtar kelime (2-16)");
   s[1]=new JLabel("2)C#'ta geriye herhangi bir değer döndürmeyen fonksiyon tipi (4-7)");
   s[2]=new JLabel("3)C#'ta bir String değişkeninin uzunluğunu bulmaya yarıyan anahtar kelime(8-13)");
   s[3]=new JLabel("4)C#'ta herzaman kullanılan çok önemli bir döngü     (18-20)");
   s[4]=new JLabel("5)C#'ta oluşturduğumuz bir dizinin boyutunu bulmak için kullanılan anahtar kelime(24-28)");
   s[5]=new JLabel("");
   s[6]=new JLabel("-----");
   this.add(butonEkle());
   this.add(jpn1);
   this.add(soruEkle(s));
 }
         if(secilen==4){
        int [] t5={6,7,8,17,18,20,25,27};
        karala(t5);
   s[0]=new JLabel("1)C++'ta çok geniş bir erişim belirleyici (1-6)");
   s[1]=new JLabel("2)C++'ta bir sayıyı alta yuvarlayan math. fonksiyonu(10-14)");
   s[2]=new JLabel("3)C++'ta dışarıdan girilen değeri oluşturduğumuz değişkene atan anahtar kelime(15-17)");
   s[3]=new JLabel("4)C++'ta ekrana yazı basmak için kullanılan anahtar kelime(6-27)");
   s[4]=new JLabel("5)C++'ta girilen bir sayiyi üste yuvarlayan math. fonksiyonu(22-25)");
   s[5]=new JLabel("");
   s[6]=new JLabel("-----");
   this.add(butonEkle());
   this.add(jpn1);
   this.add(soruEkle(s));
 }
     if(secilen==5){
        int [] t5={0,6,12,13,14,26,27};
        karala(t5);
   s[0]=new JLabel("1)CSS'te bir sınıf yazarken sınıfın önüne getirilen işaret (2-6)");
   s[1]=new JLabel("2)CSS'te bir id yazarken önüne getirilen işaret(10-14)");
   s[2]=new JLabel("3)CSS'te tanımlanmış sınırların dışında boşluk oluşturmak için kullanılır.(8-12)");
   s[3]=new JLabel("4)CSS'te bir font'un türünü seçmek için kullanılan alt anahtar kelime style(21-27)");
   s[4]=new JLabel("");
   s[5]=new JLabel("");
   s[6]=new JLabel("");
   this.add(butonEkle());
   this.add(jpn1);
   this.add(soruEkle(s));
 }
 if(secilen==6){
        int [] t5={0,14,15,19,20,25,26,27};
        karala(t5);
   s[0]=new JLabel("1)Çevremizdeki ortam (sıcaklık, basınç,vb) değişikliklerini algılayan cihazlar(2-7)");
   s[1]=new JLabel("2)Çok sayıda devre elemanlarından tek bir devreyi oluşturan yapı(8-14)");
   s[2]=new JLabel("3)Sayısal tasarımda birden çok çıkışı tek çıkışı aktarır(17-19)");
   s[3]=new JLabel("4)Bir bitlik veriyi tutmak için kullanılan flip flop devresi(22-25)");
   s[4]=new JLabel("");
   s[5]=new JLabel("");
   s[6]=new JLabel("-----");
   this.add(butonEkle());
   this.add(jpn1);
   this.add(soruEkle(s));
 }
  if(secilen==7){
        int [] t5={0,7,8,12,14,17,18,19,27};
        karala(t5);
   s[0]=new JLabel("1)Ağ öğelerinin birbirlerine bağlanmasına olanak veren ağ donanımı(2-7)");
   s[1]=new JLabel("2)Ağ öğelerinin birbirlerine bağlanmasına olanak veren ağ donanım aygıtı(7-14)");
   s[2]=new JLabel("3)Bir bilgisayar ağında, bir cihazın ağ donanımını tanımaya yarayan adres(10-12)");
   s[3]=new JLabel("4)Ağ üzerinden birbirleri ile veri alışverişi yapmak için kullanılan adres(16-17)");
   s[4]=new JLabel("5)Aynı ağ iletişim kurallarını kullanan iki bilgisayar ağı arasında veri iletimini sağlar(22-27)");
   s[5]=new JLabel("");
   s[6]=new JLabel("-----");
   this.add(butonEkle());
   this.add(jpn1);
   this.add(soruEkle(s));
 }
   if(secilen==8){
        int [] t5={7,14,19,20,21,22,23};
        karala(t5);
   s[0]=new JLabel("1)Birden fazla işin aynı anda çalışması halinde birbirlerini beklemesini sağlayan bir mekanizma(1-7)");
   s[1]=new JLabel("2)Türkiye'de TÜBİTAK tarafından geliştirilen bir Linux dağıtımı olan işletim sistemi(9-14)");
   s[2]=new JLabel("3)İşletim sistemlerinde bir işlem oluşturmak için kullanılan fonksiyon(16-19)");
   s[3]=new JLabel("4)Process'ler arası iletişim için kullanılan bir fonksiyon(25-28)");
   s[4]=new JLabel("");
   s[5]=new JLabel("");
   s[6]=new JLabel("-----");
   this.add(butonEkle());
   this.add(jpn1);
   this.add(soruEkle(s));
 }
   if(secilen==9){
        int [] t5={14,19,20,27};
        karala(t5);
   s[0]=new JLabel("1)Mobil uygulama geliştirme platformu ....... studio (1-7)");
   s[1]=new JLabel("2)Bir PHP framework'u (8-14)");
   s[2]=new JLabel("3)Basit Nesne Ulaşım Protokolü,dağınık uygulamalarda bilgi taşımaya yarayan protokol.(16-19)");
   s[3]=new JLabel("4)JSP'nin çalıştığı yer uygulama sunucusularından biri (25-28)");
   s[4]=new JLabel("");
   s[5]=new JLabel("");
   s[6]=new JLabel("-----");
   this.add(butonEkle());
   this.add(jpn1);

   this.add(soruEkle(s));
 } 
   this.setVisible(true);
    }   
    public static void main(String[] args) {
       new Bulmaca();
    }
   @Override
    public  void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("cevapgoster")){
       if(secilen==0){
           String cvp="XGXRANDXEXPLODETXECHOXXISSETX";
           String cevaplar="1)GET2)RAND3)EXPLODE4)ECHO5)ISSET";
           s[6].setText(cevaplar);
           kontrolEt(cvp);//php
         
    }
       if(secilen==1){
           String cvp="XBORDERXXHREFXSINPUTXRXXXDISC";
           String cevaplar="1)BORDER 2)SRC 3)INPUT 4)DISC 5)DIV 6)HREF";
           s[6].setText(cevaplar);
            kontrolEt(cvp);       //html
    }
       if(secilen==2){
          String cvp="XXCREATESELECTXUXXXMAXMINXAVG";
          String cevaplar="1)CREATE 2)SELECT 3)MAX 4)MIN 5)AVG 6)SUM";
          s[6].setText(cevaplar);
            kontrolEt(cvp);//SQL
       }
       if(secilen==3){
          String cvp="XXNXVOIDLENGTHXXWXFORXXXCOUNT";
          String cevaplar="1)NEW 2)VOID 3)LENGTH 4)FOR 5)COUNT";
          s[6].setText(cevaplar);
            kontrolEt(cvp);//C#
       }
       if(secilen==4){
           String cvp="XPUBLICXXXLOORCINXXUXCEILXTX";
           String cevaplar="1)PUBLIC 2)FLOOR 3)CIN 4)COUT 5)CEIL";
            s[6].setText(cevaplar);
            kontrolEt(cvp);//C++
       }
       if(secilen==5){
         String cvp="XXSHARPCSTYLEXXXMARGINNOKTAXX";
         String cevaplar="1)NOKTA 2)SHARP 3)MARGIN 4)STYLE";
        s[6].setText(cevaplar);
            kontrolEt(cvp);//CSS
       }
       if(secilen==6){
          String cvp="XXSENSORENTEGREXXMUXXXDATAXXX";
          String cevaplar="1)SENSOR 2)ENTEGRE 3)MUX 4)DATA";
         
         s[6].setText(cevaplar);
            kontrolEt(cvp);//TASARIM
       }
       if(secilen==7){
          String cvp="XXSWITCHXXMACXUXIPXXXBXROUTERX";
          String cevaplar="1)SWITCH 2)HUB 3)MAC 4)IP 5)ROUTER";
          s[6].setText(cevaplar);
            kontrolEt(cvp);//Ağ
       }
       if(secilen==8){
           String cvp="XXSEMAFORXPARDUSXFORKXXXXXPIPE";
           String cevaplar="1)SEMAFOR 2)PARDUS 3)FORK 4)PIPE";
           s[6].setText(cevaplar);
            kontrolEt(cvp);//işletim sistemleri
       }
       if(secilen==9){
         
           String cvp="XANDROIDLARAVELXSOAPXXTOMCATX";
           String cevaplar="1)ANDROID 2)LARAVEL 3)SOAP 4)TOMCAT";
           s[6].setText(cevaplar);
            kontrolEt(cvp);
       }
    }
    }
}







Hiç yorum yok:

Yorum Gönder

Spring Boot Uygulamasını Heroku üzerinde Deploy Etme

Bu yazımızda sizlere spring boot ile yazılmış basit bir Rest api'nin heroku üzerinde nasıl deploy edebileceğimizi göstereceğim. Önce ...