java - tic tac toe game project image icon? -


i making tic tac toe project, , using 9 buttons , images(circle.jpg , cross.jpg). first of all, wanna clear 1 thing guys, first made game using letter ("x"), ("o"), using images game , computer vs player game after running, when clicked on button show's me cross on button, that's right, , computer automatically puts circle in button!

the problem when click next button, shows me cross, correct. computer not put circle block row.

import java.awt.*; import java.awt.event.*; import java.util.random; import javax.swing.*;  public class tictactoe implements actionlistener { /*instance variables*/ static int[][] wincombinations = new int[][] {         {1, 2, 3}, {4, 5, 6}, {7, 8, 9}, //horizontal wins         {1, 4, 7}, {2, 5, 8}, {3, 6, 9}, //vertical wins         {1, 5, 9}, {3, 5, 7}             //diagonal wins     }; static jframe window = new jframe("tic-tac-toe"); static jbutton buttons[] = new jbutton[10]; static int count = 0; static  icon letter; static boolean win = false; static  icon myimage = new imageicon("cross.jpg"); //  static  icon image = new imageicon("circle.jpg");  static string  aa; public tictactoe(){ /*create window*/ window.setpreferredsize(new dimension(300,300)); window.setdefaultcloseoperation(jframe.exit_on_close); window.setlayout(new gridlayout(3,3));  /*add buttons window*/ for(int = 1; i<=9; i++) {     buttons[i] = new jbutton();     window.add(buttons[i]);     buttons[i].setpreferredsize(new dimension(myimage.geticonwidth(), myimage.geticonheight()));     buttons[i].addactionlistener(this); }  /*make window visible*/ window.setvisible(true); window.pack(); }  public void actionperformed(actionevent a)  {     /*write letter button , deactivate it*/     for(int = 1; i<= 9; i++){          if(a.getsource() == buttons[i]){             buttons[i].seticon(myimage);             buttons[i].setenabled(false);         }     }      count++;             ai();  }  public void ai(){     count++;     if(buttons[1].gettext().equals(image) && buttons[2].gettext().equals(image) && buttons[3].gettext().equals("")){         buttons[3].seticon(image);         buttons[3].setenabled(false);     } else if(buttons[4].gettext().equals(image) && buttons[5].gettext().equals(image) && buttons[6].gettext().equals("")){         buttons[6].seticon(image);         buttons[6].setenabled(false);     } else if(buttons[7].gettext().equals(image) && buttons[8].gettext().equals(image) && buttons[9].gettext().equals("")){         buttons[9].seticon(image);         buttons[9].setenabled(false);                     }       else if(buttons[2].gettext().equals(image) && buttons[3].gettext().equals(image) && buttons[1].gettext().equals("")){         buttons[1].seticon(image);         buttons[1].setenabled(false);                     } else if(buttons[5].gettext().equals(image) && buttons[6].gettext().equals(image) && buttons[4].gettext().equals("")){         buttons[4].seticon(image);         buttons[4].setenabled(false);                     } else if(buttons[8].gettext().equals(image) && buttons[9].gettext().equals(image) && buttons[7].gettext().equals("")){         buttons[7].seticon(image);         buttons[7].setenabled(false);                     }      else if(buttons[1].gettext().equals(image) && buttons[3].gettext().equals(image) && buttons[2].gettext().equals("")){         buttons[2].seticon(image);         buttons[2].setenabled(false);                     } else if(buttons[4].gettext().equals(image) && buttons[6].gettext().equals(image) && buttons[5].gettext().equals("")){         buttons[5].seticon(image);         buttons[5].setenabled(false);                     } else if(buttons[7].gettext().equals(image) && buttons[9].gettext().equals(image) && buttons[8].gettext().equals("")){         buttons[8].seticon(image);         buttons[8].setenabled(false);                     }      else if(buttons[1].gettext().equals(image) && buttons[4].gettext().equals(image) && buttons[7].gettext().equals("")){         buttons[7].seticon(image);         buttons[7].setenabled(false);                     } else if(buttons[2].gettext().equals(image) && buttons[5].gettext().equals(image) && buttons[8].gettext().equals("")){         buttons[4].seticon(image);         buttons[4].setenabled(false);                     } else if(buttons[3].gettext().equals(image) && buttons[6].gettext().equals(image) && buttons[9].gettext().equals("")){         buttons[9].seticon(image);         buttons[9].setenabled(false);                     }      else if(buttons[4].gettext().equals(image) && buttons[7].gettext().equals(image) && buttons[1].gettext().equals("")){         buttons[1].seticon(image);         buttons[1].setenabled(false);                     } else if(buttons[5].gettext().equals(image) && buttons[8].gettext().equals(image) && buttons[2].gettext().equals("")){         buttons[2].seticon(image);         buttons[2].setenabled(false);                     } else if(buttons[6].gettext().equals(image) && buttons[9].gettext().equals(image) && buttons[3].gettext().equals("")){         buttons[3].seticon(image);         buttons[3].setenabled(false);                     }      else if(buttons[1].gettext().equals(image) && buttons[7].gettext().equals(image) && buttons[4].gettext().equals("")){         buttons[4].seticon(image);         buttons[4].setenabled(false);                     } else if(buttons[2].gettext().equals(image) && buttons[8].gettext().equals(image) && buttons[5].gettext().equals("")){         buttons[5].seticon(image);         buttons[5].setenabled(false);                     } else if(buttons[3].gettext().equals(image) && buttons[9].gettext().equals(image) && buttons[6].gettext().equals("")){         buttons[6].seticon(image);         buttons[6].setenabled(false);                     }      else if(buttons[1].gettext().equals(image)&& buttons[5].gettext().equals(image)&& buttons[9].gettext().equals("")){         buttons[9].seticon(image);         buttons[9].setenabled(false);                     } else if(buttons[5].gettext().equals(image)&& buttons[9].gettext().equals(image)&& buttons[1].gettext().equals("")){         buttons[1].seticon(image);         buttons[1].setenabled(false);                     } else if(buttons[1].gettext().equals(image)&& buttons[9].gettext().equals(image)&& buttons[5].gettext().equals("")){         buttons[5].seticon(image);         buttons[5].setenabled(false);                     }      else if(buttons[3].gettext().equals(image)&& buttons[5].gettext().equals(image)&& buttons[7].gettext().equals("")){         buttons[7].seticon(image);         buttons[7].setenabled(false);                     } else if(buttons[7].gettext().equals(image)&& buttons[5].gettext().equals(image)&& buttons[3].gettext().equals("")){         buttons[3].seticon(image);         buttons[3].setenabled(false);                     } else if(buttons[7].gettext().equals(image)&& buttons[3].gettext().equals(image)&& buttons[5].gettext().equals("")){         buttons[5].seticon(image);         buttons[5].setenabled(false);                     }       else if(buttons[1].gettext().equals(myimage) && buttons[2].gettext().equals(myimage) && buttons[3].gettext().equals("")){         buttons[3].seticon(image);         buttons[3].setenabled(false);     } else if(buttons[4].gettext().equals(myimage) && buttons[5].gettext().equals(myimage) && buttons[6].gettext().equals("")){         buttons[6].seticon(image);         buttons[6].setenabled(false);                     } else if(buttons[7].gettext().equals(myimage) && buttons[8].gettext().equals(myimage) && buttons[9].gettext().equals("")){         buttons[9].seticon(image);         buttons[9].setenabled(false);                     }       else if(buttons[2].gettext().equals(myimage) && buttons[3].gettext().equals(myimage) && buttons[1].gettext().equals("")){         buttons[1].seticon(image);         buttons[1].setenabled(false);                     } else if(buttons[5].gettext().equals(myimage) && buttons[6].gettext().equals(myimage) && buttons[4].gettext().equals("")){         buttons[4].seticon(image);         buttons[4].setenabled(false);                     } else if(buttons[8].gettext().equals(myimage) && buttons[9].gettext().equals(myimage) && buttons[7].gettext().equals("")){         buttons[7].seticon(image);         buttons[7].setenabled(false);                     }      else if(buttons[1].gettext().equals(myimage) && buttons[3].gettext().equals(myimage) && buttons[2].gettext().equals("")){         buttons[2].seticon(image);         buttons[2].setenabled(false);                     } else if(buttons[4].gettext().equals(myimage) && buttons[6].gettext().equals(myimage) && buttons[5].gettext().equals("")){         buttons[5].seticon(image);         buttons[5].setenabled(false);                     } else if(buttons[7].gettext().equals(myimage) && buttons[9].gettext().equals(myimage) && buttons[8].gettext().equals("")){         buttons[8].seticon(image);         buttons[8].setenabled(false);                     }      else if(buttons[1].gettext().equals(myimage) && buttons[4].gettext().equals(myimage) && buttons[7].gettext().equals("")){         buttons[7].seticon(image);         buttons[7].setenabled(false);                     } else if(buttons[2].gettext().equals(myimage) && buttons[5].gettext().equals(myimage) && buttons[8].gettext().equals("")){         buttons[8].seticon(image);         buttons[8].setenabled(false);                     } else if(buttons[3].gettext().equals(myimage) && buttons[6].gettext().equals(myimage) && buttons[9].gettext().equals("")){         buttons[9].seticon(image);         buttons[9].setenabled(false);                     }      else if(buttons[4].gettext().equals(myimage) && buttons[7].gettext().equals(myimage) && buttons[1].gettext().equals("")){         buttons[1].seticon(image);         buttons[1].setenabled(false);                     } else if(buttons[5].gettext().equals(myimage) && buttons[8].gettext().equals(myimage) && buttons[2].gettext().equals("")){         buttons[2].seticon(image);         buttons[2].setenabled(false);                     } else if(buttons[6].gettext().equals(myimage) && buttons[9].gettext().equals(myimage) && buttons[3].gettext().equals("")){         buttons[3].seticon(image);         buttons[3].setenabled(false);                     }      else if(buttons[1].gettext().equals(myimage) && buttons[7].gettext().equals(myimage) && buttons[4].gettext().equals("")){         buttons[4].seticon(image);         buttons[4].setenabled(false);                     } else if(buttons[2].gettext().equals(myimage) && buttons[8].gettext().equals(myimage) && buttons[5].gettext().equals("")){         buttons[5].seticon(image);         buttons[5].setenabled(false);                     } else if(buttons[3].gettext().equals(myimage) && buttons[9].gettext().equals(myimage) && buttons[6].gettext().equals("")){         buttons[6].seticon(image);         buttons[6].setenabled(false);                     }      else if(buttons[1].gettext().equals(myimage) && buttons[5].gettext().equals(myimage) && buttons[9].gettext().equals("")){         buttons[9].seticon(image);         buttons[9].setenabled(false);                     } else if(buttons[5].gettext().equals(myimage) && buttons[9].gettext().equals(myimage) && buttons[1].gettext().equals("")){         buttons[1].seticon(image);         buttons[1].setenabled(false);                     } else if(buttons[1].gettext().equals(myimage) && buttons[9].gettext().equals(myimage) && buttons[5].gettext().equals("")){         buttons[5].seticon(image);         buttons[5].setenabled(false);                     }      else if(buttons[3].gettext().equals(myimage) && buttons[5].gettext().equals(myimage) && buttons[7].gettext().equals("")){         buttons[7].seticon(image);         buttons[7].setenabled(false);                     } else if(buttons[7].gettext().equals(myimage) && buttons[5].gettext().equals(myimage) && buttons[3].gettext().equals("")){         buttons[3].seticon(image);         buttons[3].setenabled(false);                     } else if(buttons[7].gettext().equals(myimage) && buttons[3].gettext().equals(myimage) && buttons[5].gettext().equals("")){         buttons[5].seticon(image);         buttons[5].setenabled(false);                     }      else if(buttons[1].gettext().equals(myimage) && buttons[5].gettext().equals(image) && buttons[9].gettext().equals(myimage)) {         buttons[6].seticon(image);         buttons[6].setenabled(false);                 }          else if(buttons[3].gettext().equals(myimage) && buttons[5].gettext().equals(image) && buttons[7].gettext().equals(myimage)) {         buttons[4].seticon(image);         buttons[4].setenabled(false);                 }      else if(buttons[5].gettext().equals("")){         buttons[5].seticon(image);         buttons[5].setenabled(false);                     }      else if(buttons[1].gettext().equals("")){         buttons[1].seticon(image);         buttons[1].setenabled(false);                     }     else {         if(count >= 9)             checkwin();         else             randommove();     }      checkwin();  }  public void randommove(){     random x = new random();     int y = 1 + x.nextint(9);     if(buttons[y].gettext().equals(image) || buttons[y].gettext().equals(myimage) ){         randommove();     } else {         buttons[y].seticon(image);         buttons[y].setenabled(false);     } }  public void checkwin(){       /*determine won*/     for(int i=0; i<=7; i++){         if( buttons[wincombinations[i][0]].gettext().equals(buttons[wincombinations[i][5]].gettext()) &&              buttons[wincombinations[i][6]].gettext().equals(buttons[wincombinations[i][7]].gettext()) &&              !buttons[wincombinations[i][0]].gettext().equals("")) {             win = true;         }     }      if(count % 2 == 0)         letter = image;     else         letter = myimage;      /*show dialog when game over*/     if(win == true){         joptionpane.showmessagedialog(null, letter + " wins!");         system.exit(0);     } else if(count >= 9 && win == false){         joptionpane.showmessagedialog(null, "the game tie!");         system.exit(0);     } } public static void main(string[] args) {     new tictactoe(); } 

}

this looks wrong me

 buttons[1].gettext().equals(image) 

you comparing text image, doubt can ever true.

it should be

 buttons[1].geticon() == image 

that work if load image once , use everywhere comparing object reference.


Comments

Popular posts from this blog

ios - iPhone/iPad different view orientations in different views , and apple approval process -

java Extracting Zip file -

C# WinForm - loading screen -