Hallo zusammen, ich habe ein Tic Tac Toe Spiel programmiert, das mit dem Maus gespielt wird. Ich möchte aber neben der Maus auch über die Tastatureingabe die Spielfelder ansteuern, z.B bei Eingabe von '7' wird die linke obere Ecke vom Spielfeld gekreuzt.
Das ist mein Buttonplacement Klasse:
GUI Klasse:
Actionhandler Klasse:
Vielen Dank!
Das ist mein Buttonplacement Klasse:
Java:
package tic_tac_toe;
public class buttonplacement {
public static void place()
{
GUI.btn[0].setBounds(175,50,150,150);
GUI.btn[1].setBounds(325,50,150,150);
GUI.btn[2].setBounds(475,50,150,150);
GUI.btn[3].setBounds(175,200,150,150);
GUI.btn[4].setBounds(325,200,150,150);
GUI.btn[5].setBounds(475,200,150,150);;
GUI.btn[6].setBounds(175,350,150,150);
GUI.btn[7].setBounds(325,350,150,150);
GUI.btn[8].setBounds(475,350,150,150);
}
}
GUI Klasse:
Java:
package tic_tac_toe;
import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
public class GUI {
JFrame jf ;
Draw draw ;
JButton btnreset ;
static JButton btn[] = new JButton[9];
static int state[]= new int[9];
static int player = 0 ;
static int gwinner = 0 ;
public GUI()
{
jf = new JFrame();
jf.setSize(800, 600);
jf.setLocationRelativeTo(null);
jf.setResizable(false);
jf.setTitle("tic tac toe");
for (int i=0; i<btn.length; i++)
{
btn[i]= new JButton();
btn[i].setVisible(true);
btn[i].addActionListener(new actionshandler());
btn[i].setFocusPainted(false);
btn[i].setContentAreaFilled(false);
btn[i].setBorder(null);
jf.add(btn[i]);
}
buttonplacement.place();
btnreset = new JButton("Play again");
btnreset.setBounds(675,300,100,40);
btnreset.setVisible(true);
btnreset.setBackground(new Color(51,102,153));
btnreset.setForeground(Color.white);
btnreset.setFocusPainted(false);
btnreset.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent ae) {
funktion.reset();
}
});
jf.add(btnreset);
draw = new Draw () ;
draw.setBounds(0, 0, 800, 600);
draw.setVisible(true);
jf.add(draw);
jf.setVisible(true);
}
}
Actionhandler Klasse:
Java:
package tic_tac_toe;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
public class actionshandler implements ActionListener {
@Override
public void actionPerformed(ActionEvent ae) {
int mode = Tic_tac_toe.mode;
if (mode == 1)
{
if(GUI.gwinner == 0){
if(ae.getSource() == GUI.btn[0])
{
if(GUI.state[0]==0 && GUI.player==0){
GUI.state[0]=1;
GUI.player=1;
}else if(GUI.state[0]==0 && GUI.player==1){
GUI.state[0]=2;
GUI.player=0;
}
}else if (ae.getSource() == GUI.btn[1])
{
if(GUI.state[1]==0 && GUI.player==0){
GUI.state[1]=1;
GUI.player=1;
}else if(GUI.state[1]==0 && GUI.player==1){
GUI.state[1]=2;
GUI.player=0;
}
}
else if (ae.getSource() == GUI.btn[2])
{
if(GUI.state[2]==0 && GUI.player==0){
GUI.state[2]=1;
GUI.player=1;
}else if(GUI.state[2]==0 && GUI.player==1){
GUI.state[2]=2;
GUI.player=0;
}
}
else if (ae.getSource() == GUI.btn[3])
{
if(GUI.state[3]==0 && GUI.player==0){
GUI.state[3]=1;
GUI.player=1;
}else if(GUI.state[3]==0 && GUI.player==1){
GUI.state[3]=2;
GUI.player=0;
}
}
else if (ae.getSource() == GUI.btn[4])
{
if(GUI.state[4]==0 && GUI.player==0){
GUI.state[4]=1;
GUI.player=1;
}else if(GUI.state[4]==0 && GUI.player==1){
GUI.state[4]=2;
GUI.player=0;
}
}
else if (ae.getSource() == GUI.btn[5])
{
if(GUI.state[5]==0 && GUI.player==0){
GUI.state[5]=1;
GUI.player=1;
}else if(GUI.state[5]==0 && GUI.player==1){
GUI.state[5]=2;
GUI.player=0;
}
}
else if (ae.getSource() == GUI.btn[6])
{
if(GUI.state[6]==0 && GUI.player==0){
GUI.state[6]=1;
GUI.player=1;
}else if(GUI.state[6]==0 && GUI.player==1){
GUI.state[6]=2;
GUI.player=0;
}
}
else if (ae.getSource() == GUI.btn[7])
{
if(GUI.state[7]==0 && GUI.player==0){
GUI.state[7]=1;
GUI.player=1;
}else if(GUI.state[7]==0 && GUI.player==1){
GUI.state[7]=2;
GUI.player=0;
}
}
else if (ae.getSource() == GUI.btn[8])
{
if(GUI.state[8]==0 && GUI.player==0){
GUI.state[8]=1;
GUI.player=1;
}else if(GUI.state[8]==0 && GUI.player==1){
GUI.state[8]=2;
GUI.player=0;
}
}
}
}
Vielen Dank!