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
Post a Comment