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);
}
}
}
}
Kaydol:
Kayıt Yorumları (Atom)
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 ...
-
Bu yazımda hobi olarak ilgilendiğim bug bounty'i anlatmaya çalışacağım. Daha sonra bu konu üzerinde kendimizi geliştirmek için neler yap...
-
Flip-Flop doğruluk tabloları girişlerin durumuna bağlı olarak çıkışların ne olması gerektiğini anlatan tablolardır. Kısaca bir doğruluk tabl...
Hiç yorum yok:
Yorum Gönder