Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public void buttonClicked (Button buttonObj){
- if (!buttonObj.getLabel().equals("--")) //Cannot override an x or an o (click twice)
- return;
- String symbol;
- if (count%2==0){ // x's turn
- symbol = "X";
- } else { // y's turn
- symbol = "O";
- }
- count++; // getting ready for the next turn
- for(int i=0;i<myButtons.length; i++){
- for(int j=0;j<myButtons[i].length; j++){
- if (buttonObj == myButtons[i][j]){
- if (symbol.equals("X"))
- myButtons[i][j].setBackground(Color.red);
- else
- myButtons[i][j].setBackground(Color.blue);
- myButtons[i][j].setLabel(symbol);
- //return; // get out of method
- }
- }
- }
- if (checkWinner()==-1) // add code to pop-up a messageBox that there was a winner
- messageBox("No one wins");
- else if (checkWinner()==0)
- messageBox("O wins");
- else if (checkWinner () == 1)
- messageBox("X wins");
- // add code to pop-up a messageBox that there was a winner and who it was (X or O)
- // you will need else if / else if to check
- // if there is no winner than there should be no messageBox and the game continues
- // as usual.
- }
- /**
- * Method to check if there is a winner.
- * @return 0 - O wins
- * @return 1 - X wins
- * @return -1 - no win
- */
- public int checkWinner(){
- int blank = 0;
- for (int i=0; i<myButtons.length; i++){
- for(int j=0; j<myButtons[0].length; j++)
- if(!myButtons[i][j].getLabel().equals("--"))
- blank++;
- }
- if (blank != 9){
- for(int i=0;i<myButtons.length; i++){
- for(int j=0;j<myButtons[i].length; j++){
- if (i == 1){
- if (myButtons[i][j].getLabel().equals("X")){
- if (myButtons[i+1][j].getLabel().equals("X")){
- if (myButtons[i+2][j].getLabel().equals("X"))
- return 1;
- }
- else if (myButtons[i][j+1].getLabel().equals("X")){
- if (myButtons[i][j+2].getLabel().equals("X"))
- return 1;}
- else if (myButtons[i+1][j+1].getLabel().equals("X")){
- if (myButtons[i+2][j+2].getLabel().equals("X"))
- return 1;}
- }else if (myButtons[i][j].getLabel().equals("O")){
- if (myButtons[i+1][j].getLabel().equals("O")){
- if (myButtons[i+2][j].getLabel().equals("O"))
- return 0;}
- else if (myButtons[i][j+1].getLabel().equals("O")){
- if (myButtons[i][j+2].getLabel().equals("O"))
- return 0;}
- else if (myButtons[i+1][j+1].getLabel().equals("O")){
- if (myButtons[i+2][j+2].getLabel().equals("O"))
- return 0;}
- }
- } else if (i == 2){
- if (myButtons[i][j].getLabel().equals("X")){
- if (myButtons[i-1][j].getLabel().equals("X")){
- if (myButtons[i+1][j].getLabel().equals("X"))
- return 1;
- }
- else if (myButtons[i][j-1].getLabel().equals("X")){
- if (myButtons[i][j+1].getLabel().equals("X"))
- return 1;}
- else if (myButtons[i+1][j+1].getLabel().equals("X") && (j == 2)){
- if (myButtons[i-1][j-1].getLabel().equals("X"))
- return 1;}
- }else if (myButtons[i][j].getLabel().equals("O")){
- if (myButtons[i-1][j].getLabel().equals("O")){
- if (myButtons[i+1][j].getLabel().equals("O"))
- return 0;}
- else if (myButtons[i][j-1].getLabel().equals("O")){
- if (myButtons[i][j+1].getLabel().equals("O"))
- return 0;}
- else if (myButtons[i+1][j+1].getLabel().equals("O") && (j == 2)){
- if (myButtons[i-1][j-1].getLabel().equals("O"))
- return 0;}
- }
- } else if (i == 3){
- if (myButtons[i][j].getLabel().equals("X")){
- if (myButtons[i-1][j].getLabel().equals("X")){
- if (myButtons[i-2][j].getLabel().equals("X"))
- return 1;
- }
- else if (myButtons[i][j+1].getLabel().equals("X")){
- if (myButtons[i][j+2].getLabel().equals("X"))
- return 1;}
- }else if (myButtons[i][j].getLabel().equals("O")){
- if (myButtons[i-1][j].getLabel().equals("O")){
- if (myButtons[i-2][j].getLabel().equals("O"))
- return 0;}
- else if (myButtons[i][j+1].getLabel().equals("O")){
- if (myButtons[i][j+2].getLabel().equals("O"))
- return 0;}
- }
- }
- }
- }
- }
- if (blank==9)
- return -1; // no winner
- else
- return 2; // game not over yet
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement