Çalışan dosyaya ulaşmak için indir butonuna tıklayınız.
Bu projemiz 2 sınıftan oluşmaktadır. İlk sınıfımız Cizim sınıfı;
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.ArrayList;
import java.util.Random;
import javax.swing.BorderFactory;
import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JRadioButton;
import javax.swing.JTextField;
public class Cizim extends JFrame{
private Cizim ben = this;
ArrayList<String> kelime = new ArrayList<String>();
StringBuffer s1= new StringBuffer();
StringBuffer s2= new StringBuffer();
String s3= new String();
JLabel Oyun = new JLabel();
JLabel Oyun2 = new JLabel();
JLabel sayi = new JLabel();
private OPanel kok = new OPanel();
Random r = new Random();
int y,x=0,con=0;
String kac;
JTextField metin= new JTextField();
public Cizim(String pencereAdi){
super(pencereAdi);
kelime.add("İSTANBUL");
kelime.add("BRÜKSEL");
kelime.add("LİZBON");
kelime.add("LONDRA");
kelime.add("MADRİD");
kelime.add("MOSKOVA");
kelime.add("SİNGAPUR");
kelime.add("WASHİNGTON");
kelime.add("ZAGREB");
kelime.add("VATİKAN");
y=r.nextInt(10);
s1.append(kelime.get(y));
for(int i =0; i<s1.length() ;i++){
s2.append("_");
}
Oyun = new JLabel(s2.toString());
kac="Keilme "+s2.length()+" harflidir ";
Oyun2 = new JLabel(kac);
JPanel buyukPanel = new JPanel();
this.setContentPane(buyukPanel);
buyukPanel.setLayout(new BorderLayout());
// Kök Panel alanı....................
kok.setPreferredSize(new Dimension(200,300));
buyukPanel.add(kok, BorderLayout.CENTER);
kok.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEmptyBorder(10, 10, 10, 10),
BorderFactory.createTitledBorder("Adam")));
JPanel yanPanel = new JPanel();
JButton yeni=new JButton("Yeniden Oyna");
JButton dene=new JButton("Dene");
yanPanel.setLayout(new GridLayout(5,1,10,25));
yanPanel.setBorder(BorderFactory.createEmptyBorder(40,25 , 25, 40));
yeni.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
s1.setLength(0);
s2.setLength(0);
y=r.nextInt(10);
s1.append(kelime.get(y));
kac="Keilme "+s1.length()+" harflidir ";
Oyun2.setText(kac);
x=0;
con=0;
kok.setSekil(x);
kok.repaint();
for(int i =0; i<s1.length() ;i++){
s2.append("_");
}
Oyun.setText(s2.toString());
System.out.println(Oyun.getText()+y+" = "+kelime.get(y));
}
});
dene.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
s3= metin.getText();
s3=s3.toUpperCase();
System.out.println(s3);
for(int j =0; j<s1.length();j++){
char[] d1= new char[1];
d1[0]= s3.charAt(0);
char[] d2= new char[1];
System.out.println(j);
System.out.println(d2[0]+" "+d1[0]);
if(s1.charAt(j)==d1[0] && s2.charAt(j)=='_'){
s2.setCharAt(j,s1.charAt(j));
Oyun.setText(s2.toString());
System.out.println(s1.charAt(j)+" "+j+" "+d1[0]);
con++;
metin.setText("");
break;
}
if(j==(s2.length()-1)){
if(s1.charAt(j)!=d1[0]){
x++;
System.out.println(x);
}
kok.setSekil(x);
}
kok.repaint();
metin.setText("");
}
kok.setBorder(BorderFactory.createCompoundBorder(
BorderFactory.createEmptyBorder(10, 10, 10, 10),
BorderFactory.createTitledBorder("Adam")));
kok.paint(getGraphics());
if(x==7){
JOptionPane.showMessageDialog(ben,
"Bilemediğiniz Kelime "+s1,
"Yenilgi",
JOptionPane.ERROR_MESSAGE);
}else if(con==s1.length()){
JOptionPane.showMessageDialog(ben,
"Kelimeyi Bildiniz",
"Kazandınız",
JOptionPane.INFORMATION_MESSAGE);
}
}
});
yanPanel.add(Oyun2);
yanPanel.add(Oyun);
yanPanel.add(metin);
yanPanel.add(dene);
yanPanel.add(yeni);
buyukPanel.add(yanPanel, BorderLayout.EAST);
buyukPanel.setPreferredSize(new Dimension(400,300));
this.pack();
this.setVisible(true);
this.setResizable(false);
}
public static void main(String[] args){
new Cizim("Adam Asmaca");
}
}
2. Sınıfımız OPanel;
import java.awt.Graphics2D;
import java.util.Random;
import javax.swing.JPanel;
public class OPanel extends JPanel{
private int degisken;
public OPanel(){
super();
degisken = 0;
}
public void setSekil(int x){
this.degisken = x;
}
public void paintComponent(Graphics g){
Graphics2D g2 = (Graphics2D)g;
super.paintComponent(g2);
g2.fillRect(15, 240, 80, 10);
g2.fillRect(50, 50, 10, 200);
g2.fillRect(50, 50, 100, 10);
if(degisken==1){
g2.drawLine(140, 80, 140, 50);
}else if(degisken==2){
g2.drawLine(140, 80, 140, 50);
g2.drawOval(120, 80, 40, 40);
}else if(degisken==3){
g2.drawLine(140, 80, 140, 50);
g2.drawOval(120, 80, 40, 40);
g2.drawLine(140, 120, 140, 180);
}else if(degisken==4){
g2.drawLine(140, 80, 140, 50);
g2.drawOval(120, 80, 40, 40);
g2.drawLine(140, 120, 140, 180);
g2.drawLine(140, 120, 180, 140);
}else if(degisken==5){
g2.drawLine(140, 80, 140, 50);
g2.drawOval(120, 80, 40, 40);
g2.drawLine(140, 120, 140, 180);
g2.drawLine(140, 120, 180, 140);
g2.drawLine(140, 120, 100, 140);
}else if(degisken==6){
g2.drawLine(140, 80, 140, 50);
g2.drawOval(120, 80, 40, 40);
g2.drawLine(140, 120, 140, 180);
g2.drawLine(140, 120, 180, 140);
g2.drawLine(140, 120, 100, 140);
g2.drawLine(140, 180, 160, 220);
}else if(degisken==7){
g2.drawLine(140, 80, 140, 50);
g2.drawOval(120, 80, 40, 40);
g2.drawLine(140, 120, 140, 180);
g2.drawLine(140, 120, 180, 140);
g2.drawLine(140, 120, 100, 140);
g2.drawLine(140, 180, 160, 220);
g2.drawLine(140, 180, 120, 220);
}
}
}








0 yorum:
Yorum Gönder