Hi ich bin ein Anfänger in Java und wollte nun mal mein erstes Tic tac toe spiel programmieren zuerst einmal für 2 Spieler.
Nun würde ich das Spiel nachdem man gewonnen hat gerne neustarten.Wie mache ich das?
Game
Window mit aktueller Spielmechanik
Nun würde ich das Spiel nachdem man gewonnen hat gerne neustarten.Wie mache ich das?
Game
Java:
public class Game {
/**
* @param args
*/
public static void main(String[] args) {
new Window("Tic tac to",600,480);
}
}
Window mit aktueller Spielmechanik
Java:
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JOptionPane;
public class Window extends JFrame{
private String title;
private final int breite,hoehe;
private Dimension dim;
private FlowLayout layout=new FlowLayout();
private JButton[] b= new JButton[9];
private boolean player=true;
private int []feld ={0,0,0,0,0,0,0,0,0};
public Window(String title,int breite,int hoehe)
{
super(title);
this.breite=breite;
this.hoehe=hoehe;
this.title=title;
dim=new Dimension(breite,hoehe);
setMaximumSize(dim);
setMinimumSize(dim);
setPreferredSize(dim);
setLayout(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setResizable(false);
setVisible(true);
setLocationRelativeTo(null);
for(int i=0;i<9;i++)
{
if(i<3)
{
b[i] = new JButton();
b[i].setLocation(200+i*50,100);
}
else if(i<6)
{
b[i] = new JButton();
b[i].setLocation(i*50+50,150);
}
else if (i<9)
{
b[i] = new JButton();
b[i].setLocation(i*50-100,200);
}
b[i].setSize(50,50);
add(b[i]);
b[i].addActionListener(new Actionhandler());
}
}
private class Actionhandler implements ActionListener{
public void actionPerformed(ActionEvent e) {
if(e.getSource()==b[0])
{
if(player)
{
b[0].setText("X");
player=false;
feld[0]=1;
}
else
{b[0].setText("O");
player=true;
feld[0]=2;
}
b[0].setEnabled(false);
}
else if(e.getSource()==b[1])
{
if(player)
{
b[1].setText("X");
player=false;
feld[1]=1;
}
else
{b[1].setText("O");
player=true;
feld[1]=2;
}
b[1].setEnabled(false);
}
else if(e.getSource()==b[2])
{
if(player)
{
b[2].setText("X");
player=false;
feld[2]=1;
}
else
{b[2].setText("O");
player=true;
feld[2]=2;
}
b[2].setEnabled(false);
}
else if(e.getSource()==b[3])
{
if(player)
{
b[3].setText("X");
player=false;
feld[3]=1;
}
else
{b[3].setText("O");
player=true;
feld[3]=2;
}
b[3].setEnabled(false);
}
else if(e.getSource()==b[4])
{
if(player)
{
b[4].setText("X");
player=false;
feld[4]=1;
}
else
{b[4].setText("O");
player=true;
feld[4]=2;
}
b[4].setEnabled(false);
}
else if(e.getSource()==b[5])
{
if(player)
{
b[5].setText("X");
player=false;
feld[5]=1;
}
else
{b[5].setText("O");
player=true;
feld[5]=2;
}
b[5].setEnabled(false);
}
else if(e.getSource()==b[6])
{
if(player)
{
b[6].setText("X");
player=false;
feld[6]=1;
}
else
{b[6].setText("O");
player=true;
feld[6]=2;
}
b[6].setEnabled(false);
}
else if(e.getSource()==b[7])
{
if(player)
{
b[7].setText("X");
player=false;
feld[7]=1;
}
else
{b[7].setText("O");
player=true;
feld[7]=2;
}
b[7].setEnabled(false);
}
else if(e.getSource()==b[8])
{
if(player)
{
b[8].setText("X");
player=false;
feld[8]=1;
}
else
{b[8].setText("O");
player=true;
feld[8]=2;
}
b[8].setEnabled(false);
}
//Gewinnen für Spieler 1
if(feld[0]==1&&feld[1]==1&&feld[2]==1)
{ JOptionPane.showMessageDialog(null,"Spieler 1 hat gewonnen");
}
else if(feld[3]==1&&feld[4]==1&&feld[5]==1)
{ JOptionPane.showMessageDialog(null,"Spieler 1 hat gewonnen");
}
else if(feld[6]==1&&feld[7]==1&&feld[8]==1)
{ JOptionPane.showMessageDialog(null,"Spieler 1 hat gewonnen");
}
else if(feld[0]==1&&feld[3]==1&&feld[6]==1)
{ JOptionPane.showMessageDialog(null,"Spieler 1 hat gewonnen");
}
else if(feld[1]==1&&feld[4]==1&&feld[7]==1)
{ JOptionPane.showMessageDialog(null,"Spieler 1 hat gewonnen");
}
else if(feld[2]==1&&feld[5]==1&&feld[8]==1)
{ JOptionPane.showMessageDialog(null,"Spieler 1 hat gewonnen");
}
else if(feld[0]==1&&feld[4]==1&&feld[8]==1)
{ JOptionPane.showMessageDialog(null,"Spieler 1 hat gewonnen");
}
else if(feld[6]==1&&feld[4]==1&&feld[2]==1)
{ JOptionPane.showMessageDialog(null,"Spieler 1 hat gewonnen");
}
//Gewinnen für Spieler 2
if(feld[0]==2&&feld[1]==2&&feld[2]==2)
{ JOptionPane.showMessageDialog(null,"Spieler 2 hat gewonnen");
}
else if(feld[3]==2&&feld[4]==2&&feld[5]==2)
{ JOptionPane.showMessageDialog(null,"Spieler 2 hat gewonnen");
}
else if(feld[6]==2&&feld[7]==2&&feld[8]==2)
{ JOptionPane.showMessageDialog(null,"Spieler 2 hat gewonnen");
}
else if(feld[0]==2&&feld[3]==2&&feld[6]==2)
{ JOptionPane.showMessageDialog(null,"Spieler 2 hat gewonnen");
}
else if(feld[1]==2&&feld[4]==2&&feld[7]==2)
{ JOptionPane.showMessageDialog(null,"Spieler 2 hat gewonnen");
}
else if(feld[2]==2&&feld[5]==2&&feld[8]==2)
{ JOptionPane.showMessageDialog(null,"Spieler 2 hat gewonnen");
}
else if(feld[0]==2&&feld[4]==2&&feld[8]==2)
{ JOptionPane.showMessageDialog(null,"Spieler 2 hat gewonnen");
}
else if(feld[6]==2&&feld[4]==2&&feld[2]==2)
{ JOptionPane.showMessageDialog(null,"Spieler 2 hat gewonnen");
}
}
}
}