/*
* Jexxor.java
*
* Created on 26. Mai 2006
*/
/**
*
* @author daniel baier alias duddits
*/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class jexxor extends JFrame implements ActionListener{
String activity = "spieler1a.jpg";
String filename = "null.jpg";
String filename1 = "null.jpg";
String filename2 = "null.jpg";
String filename3 = "null.jpg";
String filename4 = "null.jpg";
String filename5 = "null.jpg";
String filename6 = "null.jpg";
String filename7 = "null.jpg";
String filename8 = "null.jpg";
int timer = 1;
JButton jb,jb1,jb2,jb3,jb4,jb5,jb6,jb7,jb8;
JLabel jl,jl1,jlv;
int spielfeld[][] = new int[3][3];
boolean spieler1 = false;
boolean spieler2 = false;
static jexxor t;
private Image icon;
public jexxor(){
super("J3XXO");
setSize(400,400);
getContentPane().setLayout(null);
setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setMenuBar(new MenuJexxo(this));
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
setLocation(screenSize.width / 2 - 400 / 2,
screenSize.height / 2 - 400 / 2);
icon = Toolkit.getDefaultToolkit().getImage("logo.jpg");
setIconImage(icon);// setzt das Bild als Icon des Frames
int i, j;
for (i = 0, j = 0; i < 3 && j < 3; i++, j++) {
spielfeld[i][j] = 0;
}
jl = new JLabel(new ImageIcon(activity));
jl.setBounds(50,20,100,35);
getContentPane().add(jl);
jlv = new JLabel("vs.");
jlv.setBounds(185,20,50,35);
getContentPane().add(jlv);
jl1 = new JLabel(new ImageIcon("spieler2.jpg"));
jl1.setBounds(230,20,100,35);
getContentPane().add(jl1);
//erste Reihe
jb = new JButton(new ImageIcon(filename));
jb.setBounds(70,70,75,75);
jb.addActionListener(this);
jb.setActionCommand("00");
getContentPane().add(jb);
jb1 = new JButton(new ImageIcon(filename1));
jb1.setBounds(70,150,75,75);
jb1.addActionListener(this);
jb1.setActionCommand("10");
getContentPane().add(jb1);
jb2 = new JButton(new ImageIcon(filename2));
jb2.setBounds(70,230,75,75);
jb2.addActionListener(this);
jb2.setActionCommand("20");
getContentPane().add(jb2);
//zweite Reihe
jb3 = new JButton(new ImageIcon(filename3));
jb3.setBounds(150,70,75,75);
jb3.addActionListener(this);
jb3.setActionCommand("01");
getContentPane().add(jb3);
jb4 = new JButton(new ImageIcon(filename4));
jb4.setBounds(150,150,75,75);
jb4.addActionListener(this);
jb4.setActionCommand("11");
getContentPane().add(jb4);
jb5 = new JButton(new ImageIcon(filename5));
jb5.setBounds(150,230,75,75);
jb5.addActionListener(this);
jb5.setActionCommand("21");
getContentPane().add(jb5);
//dritte Reihe
jb6 = new JButton(new ImageIcon(filename6));
jb6.setBounds(230,70,75,75);
jb6.addActionListener(this);
jb6.setActionCommand("02");
getContentPane().add(jb6);
jb7 = new JButton(new ImageIcon(filename7));
jb7.setBounds(230,150,75,75);
jb7.addActionListener(this);
jb7.setActionCommand("12");
getContentPane().add(jb7);
jb8 = new JButton(new ImageIcon(filename8));
jb8.setBounds(230,230,75,75);
jb8.addActionListener(this);
jb8.setActionCommand("22");
getContentPane().add(jb8);
}
public void actionPerformed(ActionEvent e){
String getaction = e.getActionCommand();
jl1.validate();
jl1.setIcon(new ImageIcon("spieler2a.jpg"));
if(timer == 1){
jl.setIcon(new ImageIcon("spieler1a.jpg"));
jl1.setIcon(new ImageIcon("spieler2.jpg"));
}else if (timer==2){
jl1.setIcon(new ImageIcon("spieler2a.jpg"));
jl.setIcon(new ImageIcon("spieler1.jpg"));
}
if(timer ==1 && getaction.equals("11")){
if(filename4.equals("null.jpg")){
filename4 ="x.jpg";
spielfeld[1][1] = 1;
timer = 2;
jb4.setIcon(new ImageIcon(filename4));
}
}else if(timer ==2 && getaction.equals("11")){
if(filename4.equals("null.jpg")){
filename4 ="kreis.jpg";
spielfeld[1][1] = 2;
timer =1;
jb4.setIcon(new ImageIcon(filename4));
}
}
if(timer ==1 && getaction.equals("21")){
if(filename5.equals("null.jpg")){
filename5 ="x.jpg";
spielfeld[2][1] = 1;
timer = 2;
jb5.setIcon(new ImageIcon(filename5));
}
}else if(timer ==2 && getaction.equals("21")){
if(filename5.equals("null.jpg")){
filename5 ="kreis.jpg";
spielfeld[2][1] = 2;
timer =1;
jb5.setIcon(new ImageIcon(filename5));
}
}if(timer ==1 && getaction.equals("10")){
if(filename1.equals("null.jpg")){
filename1 ="x.jpg";
spielfeld[1][0] = 1;
timer = 2;
jb1.setIcon(new ImageIcon(filename1));
}
}else if(timer ==2 && getaction.equals("10")){
if(filename1.equals("null.jpg")){
filename1 ="kreis.jpg";
spielfeld[1][0] = 2;
timer =1;
jb1.setIcon(new ImageIcon(filename1));
}
}
if(timer ==1 && getaction.equals("01")){
if(filename3.equals("null.jpg")){
filename3 ="x.jpg";
spielfeld[0][1] = 1;
timer = 2;
jb3.setIcon(new ImageIcon(filename3));
}
}else if(timer ==2 && getaction.equals("01")){
if(filename3.equals("null.jpg")){
filename3 ="kreis.jpg";
spielfeld[0][1] = 2;
timer =1;
jb3.setIcon(new ImageIcon(filename3));
}
}
if(timer ==1 && getaction.equals("20")){
if(filename2.equals("null.jpg")){
filename2 ="x.jpg";
spielfeld[2][0] = 1;
timer = 2;
jb2.setIcon(new ImageIcon(filename2));
}
}else if(timer ==2 && getaction.equals("20")){
if(filename2.equals("null.jpg")){
filename2 ="kreis.jpg";
spielfeld[2][0] = 2;
timer =1;
jb2.setIcon(new ImageIcon(filename2));
}
}
if(timer ==1 && getaction.equals("02")){
if(filename6.equals("null.jpg")){
filename6 ="x.jpg";
spielfeld[0][2] = 1;
timer = 2;
jb6.setIcon(new ImageIcon(filename6));
}
}else if(timer ==2 && getaction.equals("02")){
if(filename6.equals("null.jpg")){
filename6 ="kreis.jpg";
spielfeld[0][2] = 2;
timer =1;
jb6.setIcon(new ImageIcon(filename6));
}
}
if(timer ==1 && getaction.equals("00")){
spielfeld[0][0] = 1;
timer = 2;
if(filename.equals("null.jpg")){
filename ="x.jpg";
jb.setIcon(new ImageIcon(filename));
}
}else if(timer ==2 && getaction.equals("00")){
if(filename.equals("null.jpg")){
filename ="kreis.jpg";
spielfeld[0][0] = 2;
timer =1;
jb.setIcon(new ImageIcon(filename));
}
}
if(timer ==1 && getaction.equals("22")){
if(filename8.equals("null.jpg")){
filename8 ="x.jpg";
spielfeld[2][2] = 1;
timer = 2;
jb8.setIcon(new ImageIcon(filename8));
}
}else if(timer ==2 && getaction.equals("22")){
if(filename8.equals("null.jpg")){
filename8 ="kreis.jpg";
timer =1;
spielfeld[2][2] = 2;
jb8.setIcon(new ImageIcon(filename8));
}
}
if(timer ==1 && getaction.equals("12")){
jb7.setActionCommand("player1-12");
if(filename7.equals("null.jpg")){
filename7 ="x.jpg";
timer = 2;
spielfeld[1][2] = 1;
jb7.setIcon(new ImageIcon(filename7));
}
}else if(timer ==2 && getaction.equals("12")){
if(filename7.equals("null.jpg")){
filename7 ="kreis.jpg";
spielfeld[1][2] = 2;
timer =1;
jb7.setIcon(new ImageIcon(filename7));
}
}
int i, j;
for (i = 0, j = 0; j < spielfeld.length && i < spielfeld.length; j++, i++) {
// Überprüfung Spieler 1
if ((spielfeld[0][j] == 1 && spielfeld[1][j] == 1 && spielfeld[2][j] == 1)
|| (spielfeld[j][0] == 1 && spielfeld[j][1] == 1 && spielfeld[j][2] == 1)
|| (spielfeld[0][0] == 1 && spielfeld[1][1] == 1 && spielfeld[2][2] == 1)
|| (spielfeld[2][0] == 1 && spielfeld[1][1] == 1 && spielfeld[0][2] == 1)) {
spieler1 = true;
}
// Überprüfung Spieler 2
if ((spielfeld[0][j] == 2 && spielfeld[1][j] == 2 && spielfeld[2][j] == 2)
|| (spielfeld[j][0] == 2 && spielfeld[j][1] == 2 && spielfeld[j][2] == 2)
|| (spielfeld[0][0] == 2 && spielfeld[1][1] == 2 && spielfeld[2][2] == 2)
|| (spielfeld[2][0] == 2 && spielfeld[1][1] == 2 && spielfeld[0][2] == 2)) {
spieler2 = true;
}
}
if (spieler1 == true) {
String optionen[] = { "Ja", "Nein" };
int n = JOptionPane
.showOptionDialog(
null,
"Spieler 1 hat gewonnen. Wollen Sie ein neues Spiel starten?", // Fragetext
"J3XXO", // Titel
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, // Icon
null, optionen, optionen[0]);
if (n == JOptionPane.YES_OPTION) {
jexxor t1 = new jexxor();
t.setVisible(false);
t1.setResizable(false);
t1.setVisible(true);
}else{
System.exit(0);
}
}
if (spieler2 == true) {
String optionen[] = { "Ja", "Nein" };
int n = JOptionPane
.showOptionDialog(
null,
"Spieler 2 hat gewonnen. Wollen Sie ein neues Spiel starten?", // Fragetext
"J3XXO", // Titel
JOptionPane.YES_NO_CANCEL_OPTION,
JOptionPane.QUESTION_MESSAGE, // Icon
null, optionen, optionen[0]);
if (n == JOptionPane.YES_OPTION) {
jexxor t1 = new jexxor();
t.setVisible(false);
t1.setResizable(false);
t1.setVisible(true);
}else{
System.exit(0);
}
}
if (getaction.equals("Ãœber den Autor")) {
JLabel link = new JLabel("Enwickelt für Duddits Laboratory von Daniel Baier
(c) Copyright Jaditor contributors and others 2005, 2006. All rights reserved.
This product includes software developed by the
Duddits Laboratory Team http://www.remoteshell-security.com");
link.setCursor( new Cursor(Cursor.HAND_CURSOR) ); //Ich hoffe ich hab das jetzt mal auf anhieb richtig eingetippt
link.addMouseListener( new MouseAdapter() {
public void mouseReleased( MouseEvent me ) {
if(me.getButton()==me.BUTTON1) {
try {
Runtime.getRuntime().exec("C:\\Programme\\Internet Explorer\\IEXPLORE.EXE http://www.remoteshell-security.com");
}
catch(Exception e)
{
try{
Runtime.getRuntime().exec("firefox http://www.remoteshell-security.com");
}catch(Exception ee){
}
}
}
}
});
JOptionPane.showMessageDialog(null,link,"J3XXO - Über den Autor", 1);
}
if (getaction.equals("Beenden")) {
System.exit(0);
}
if (getaction.equals("Hilfe")) {
Help h = new Help();
h.setVisible(true);
}if (getaction.equals("Verbinden")) {
try {
jexxor t1 = new jexxor();
t.setVisible(false);
t1.setResizable(false);
t1.setVisible(true);
} catch (Exception eis) {System.out.println("Jexxor: Unbekannter Fehler");}
}
}
public static void main(String[] args) {
Splash sp = new Splash("deckblatt.jpg", t);
try {
Thread.sleep(6000);
sp.setVisible(false);
} catch (Exception e) {
}
t = new jexxor();
t.setResizable(false);
t.setVisible(true);
}
}