Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import java.awt.event.*;//.ActionListener;
- import java.awt.event.AdjustmentListener;
- import java.util.Vector;
- import javax.swing.*;
- class GameBeta extends JFrame{
- static int field[][]=new int[3][3];
- static Vector<JButton> bf=new Vector<JButton>();
- static boolean turn;
- static int gameStatus; //0 - on game, 1 - 1st player win, 2- 2nd player win, 3d- draw
- private void makeTurn(int x, int y){
- if (gameStatus==0){
- if (field[y][x]==0){
- if (turn==true){
- field[y][x]=1;
- }else{
- field[y][x]=2;
- }
- }
- }
- }
- public GameBeta(){
- getContentPane().setLayout(new GridLayout(4,3, 10, 10));
- for(int k=0; k<9; k++) {
- bf.add(new JButton(""));
- getContentPane().add(bf.get(k));
- }
- bf.add(new JButton("restart"));
- getContentPane().add(bf.get(9));
- setBounds(100,100,300,300);
- for (int i=0; i<3; i++){
- for (int j=0; j<3; j++)
- field[j][i]=0;
- }
- gameStatus=0;
- turn=true;
- final JLabel gs=new JLabel("");
- getContentPane().add(gs);
- bf.get(9).addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e){
- for (int i=0; i<3; i++){
- for (int j=0; j<3; j++)
- field[j][i]=0;
- }
- for (int i=0; i<9; i++)
- bf.get(i).setText("");
- gs.setText("");
- gameStatus=0;
- turn=true;
- }
- });
- for (int i=0; i<9; i++){
- final int k=i;
- bf.get(i).addActionListener(new ActionListener(){
- public void actionPerformed(ActionEvent e){
- if (gameStatus==0){
- if (turn){
- field[k/3][k%3]=1;
- bf.get(k).setText("x");
- }else{
- field[k/3][k%3]=2;
- bf.get(k).setText("0");
- }
- boolean temp=!turn;
- turn=temp;
- calcGameStatus();
- if (gameStatus==1)
- gs.setText("1st player win");
- if (gameStatus==2)
- gs.setText("2st player win");
- if (gameStatus==3)
- gs.setText("draw");
- }
- }
- });
- }
- }
- private static int calcGameStatus(){
- boolean b=false;
- for (int i=0; i<3; i++){
- if ( (field[i][1]!=0)&&(field[i][0]==field[i][1])&&(field[i][1]==field[i][2]) ){
- gameStatus=field[i][1];
- return gameStatus;
- }
- if ( (field[1][i]!=0)&&(field[0][i]==field[1][i])&&(field[1][i]==field[2][i]) ){
- gameStatus=field[1][i];
- return gameStatus;
- }
- }
- if ( (field[1][1]!=0) ){
- if ( ((field[0][0]==field[1][1])&&(field[1][1]==field[2][2])) || ((field[2][0]==field[1][1])&&(field[0][2]==field[1][1])) ){
- gameStatus=field[1][1];
- return gameStatus;
- }
- }
- return 0;
- }
- public static void main(String[] args){
- GameBeta flt = new GameBeta();
- flt.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- flt.setVisible(true);
- }
- }
Add Comment
Please, Sign In to add comment