import java.awt.*; import java.awt.event.*; import javax.swing.*; public class WordSearch extends JFrame implements ActionListener { private JMenuBar menuBar; private JButton menuItemNG,menuItemE,menuItemS; private JPanel grid; private JButton[][] b; private JOptionPane scorex; private int counter,p1s = 0,p2s = 0,stopGame = 0; // The Frame public WordSearch(){ super("Word Search"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); b = new JButton[15][15]; this.setJMenuBar(theMenuBar()); drawTheGridPanel(); setTheLetters(); setLocationRelativeTo(null); setSize(800, 800); setVisible(true); //setResizable(false); } // The Menu public JMenuBar theMenuBar() { menuBar = new JMenuBar(); menuItemNG = new JButton("New Game"); menuItemNG.setFont(new Font("Tahoma",Font.BOLD,12)); menuItemNG.setBackground(new Color(225,225,225)); menuBar.add(menuItemNG); menuItemNG.addActionListener(this); menuItemE = new JButton("Quit"); menuItemE.setFont(new Font("Tahoma",Font.BOLD,12)); menuItemE.setBackground(new Color(225,225,225)); menuBar.add(menuItemE); menuItemE.addActionListener(this); return menuBar; } // The Grid public void drawTheGridPanel() { grid = new JPanel(new GridLayout(15,15)); for (int i = 0; i < 15; i++){ for (int j = 0; j < 15; j++){ b[i][j] = new JButton(""); b[i][j].setFont(new Font("Comic Sans MS",Font.BOLD,14)); b[i][j].setForeground(new Color(105,35,97)); b[i][j].setBackground(new Color(255,255,255)); grid.add(b[i][j]); b[i][j].addActionListener(this); } } this.add(grid); } public void setTheLetters(){ b[0][0].setText("G"); b[0][1].setText("N"); b[0][2].setText("I"); b[0][3].setText("W"); b[0][4].setText("S"); b[0][5].setText("C"); b[0][6].setText("L"); b[0][7].setText("A"); b[0][8].setText("S"); b[0][9].setText("S"); b[0][10].setText("T"); b[0][11].setText("R"); b[0][12].setText("I"); b[0][13].setText("N"); b[0][14].setText("G"); b[1][0].setText("A"); b[1][1].setText("J"); b[1][2].setText("E"); b[1][3].setText("V"); b[1][4].setText("A"); b[1][5].setText("V"); b[1][6].setText("N"); b[1][7].setText("T"); b[1][8].setText("U"); b[1][9].setText("C"); b[1][10].setText("F"); b[1][11].setText("I"); b[1][12].setText("N"); b[1][13].setText("A"); b[1][14].setText("L"); b[2][0].setText("P"); b[2][1].setText("V"); b[2][2].setText("R"); b[2][3].setText("U"); b[2][4].setText("O"); b[2][5].setText("O"); b[2][6].setText("I"); b[2][7].setText("O"); b[2][8].setText("W"); b[2][9].setText("T"); b[2][10].setText("H"); b[2][11].setText("R"); b[2][12].setText("E"); b[2][13].setText("A"); b[2][14].setText("D"); b[3][0].setText("A"); b[3][1].setText("T"); b[3][2].setText("A"); b[3][3].setText("I"); b[3][4].setText("N"); b[3][5].setText("B"); b[3][6].setText("E"); b[3][7].setText("M"); b[3][8].setText("I"); b[3][9].setText("O"); b[3][10].setText("G"); b[3][11].setText("G"); b[3][12].setText("C"); b[3][13].setText("T"); b[3][14].setText("L"); b[4][0].setText("C"); b[4][1].setText("C"); b[4][2].setText("D"); b[4][3].setText("J"); b[4][4].setText("J"); b[4][5].setText("I"); b[4][6].setText("A"); b[4][7].setText("L"); b[4][8].setText("Y"); b[4][9].setText("T"); b[4][10].setText("R"); b[4][11].setText("I"); b[4][12].setText("C"); b[4][13].setText("N"); b[4][14].setText("T"); b[5][0].setText("K"); b[5][1].setText("E"); b[5][2].setText("D"); b[5][3].setText("O"); b[5][4].setText("C"); b[5][5].setText("E"); b[5][6].setText("T"); b[5][7].setText("Y"); b[5][8].setText("B"); b[5][9].setText("E"); b[5][10].setText("P"); b[5][11].setText("H"); b[5][12].setText("A"); b[5][13].setText("E"); b[5][14].setText("B"); b[6][0].setText("A"); b[6][1].setText("J"); b[6][2].setText("I"); b[6][3].setText("S"); b[6][4].setText("R"); b[6][5].setText("D"); b[6][6].setText("Q"); b[6][7].setText("N"); b[6][8].setText("C"); b[6][9].setText("A"); b[6][10].setText("L"); b[6][11].setText("E"); b[6][12].setText("T"); b[6][13].setText("V"); b[6][14].setText("O"); b[7][0].setText("G"); b[7][1].setText("B"); b[7][2].setText("U"); b[7][3].setText("T"); b[7][4].setText("Y"); b[7][5].setText("O"); b[7][6].setText("A"); b[7][7].setText("I"); b[7][8].setText("O"); b[7][9].setText("R"); b[7][10].setText("I"); b[7][11].setText("I"); b[7][12].setText("C"); b[7][13].setText("E"); b[7][14].setText("O"); b[8][0].setText("E"); b[8][1].setText("O"); b[8][2].setText("S"); b[8][3].setText("L"); b[8][4].setText("U"); b[8][5].setText("S"); b[8][6].setText("R"); b[8][7].setText("R"); b[8][8].setText("N"); b[8][9].setText("C"); b[8][10].setText("W"); b[8][11].setText("R"); b[8][12].setText("H"); b[8][13].setText("X"); b[8][14].setText("L"); b[9][0].setText("C"); b[9][1].setText("H"); b[9][2].setText("A"); b[9][3].setText("R"); b[9][4].setText("A"); b[9][5].setText("C"); b[9][6].setText("T"); b[9][7].setText("E"); b[9][8].setText("R"); b[9][9].setText("T"); b[9][10].setText("I"); b[9][11].setText("S"); b[9][12].setText("A"); b[9][13].setText("W"); b[9][14].setText("E"); b[10][0].setText("M"); b[10][1].setText("P"); b[10][2].setText("S"); b[10][3].setText("E"); b[10][4].setText("R"); b[10][5].setText("V"); b[10][6].setText("L"); b[10][7].setText("E"); b[10][8].setText("T"); b[10][9].setText("A"); b[10][10].setText("E"); b[10][11].setText("T"); b[10][12].setText("K"); b[10][13].setText("V"); b[10][14].setText("A"); b[11][0].setText("S"); b[11][1].setText("W"); b[11][2].setText("I"); b[11][3].setText("T"); b[11][4].setText("C"); b[11][5].setText("H"); b[11][6].setText("G"); b[11][7].setText("W"); b[11][8].setText("M"); b[11][9].setText("Q"); b[11][10].setText("Y"); b[11][11].setText("G"); b[11][12].setText("A"); b[11][13].setText("F"); b[11][14].setText("N"); b[12][0].setText("A"); b[12][1].setText("P"); b[12][2].setText("P"); b[12][3].setText("L"); b[12][4].setText("E"); b[12][5].setText("T"); b[12][6].setText("D"); b[12][7].setText("O"); b[12][8].setText("H"); b[12][9].setText("T"); b[12][10].setText("E"); b[12][11].setText("M"); b[12][12].setText("E"); b[12][13].setText("T"); b[12][14].setText("U"); b[13][0].setText("A"); b[13][1].setText("W"); b[13][2].setText("T"); b[13][3].setText("B"); b[13][4].setText("E"); b[13][5].setText("A"); b[13][6].setText("N"); b[13][7].setText("S"); b[13][8].setText("R"); b[13][9].setText("O"); b[13][10].setText("F"); b[13][11].setText("E"); b[13][12].setText("R"); b[13][13].setText("R"); b[13][14].setText("S"); b[14][0].setText("O"); b[14][1].setText("V"); b[14][2].setText("E"); b[14][3].setText("R"); b[14][4].setText("L"); b[14][5].setText("O"); b[14][6].setText("A"); b[14][7].setText("D"); b[14][8].setText("I"); b[14][9].setText("N"); b[14][10].setText("G"); b[14][11].setText("G"); b[14][12].setText("B"); b[14][13].setText("T"); b[14][14].setText("L"); } // Checking if button is filled public boolean isX(JButton btt){ return (btt.getText().equalsIgnoreCase("X")); } public boolean isO(JButton btt){ return (btt.getText().equalsIgnoreCase("O")); } public char isWin(){ if ((isX(b[0][0]) && isX(b[0][1]) && isX(b[0][2])) || (isX(b[1][0]) && isX(b[1][1]) && isX(b[1][2])) || (isX(b[2][0]) && isX(b[2][1]) && isX(b[2][2])) || (isX(b[0][0]) && isX(b[1][0]) && isX(b[2][0])) || (isX(b[0][1]) && isX(b[1][1]) && isX(b[2][1])) || (isX(b[0][2]) && isX(b[1][2]) && isX(b[2][2])) || (isX(b[0][0]) && isX(b[1][1]) && isX(b[2][2])) || (isX(b[0][2]) && isX(b[1][1]) && isX(b[2][0]))) return 'x'; if ((isO(b[0][0]) && isO(b[0][1]) && isO(b[0][2])) || (isO(b[1][0]) && isO(b[1][1]) && isO(b[1][2])) || (isO(b[2][0]) && isO(b[2][1]) && isO(b[2][2])) || (isO(b[0][0]) && isO(b[1][0]) && isO(b[2][0])) || (isO(b[0][1]) && isO(b[1][1]) && isO(b[2][1])) || (isO(b[0][2]) && isO(b[1][2]) && isO(b[2][2])) || (isO(b[0][0]) && isO(b[1][1]) && isO(b[2][2])) || (isO(b[0][2]) && isO(b[1][1]) && isO(b[2][0]))) return 'o'; return 'a'; } // Event Handling public void actionPerformed(ActionEvent e) { // Menu Items if (e.getSource() == menuItemNG ) { stopGame = 0; for (int i = 0; i < 15; i++){ for (int j = 0; j < 15; j++){ b[i][j].setBackground(new Color(255,255,255));; } } } if (e.getSource() == menuItemE ) System.exit(0); // Grid Buttons for (int i = 0; i < 15; i++){ for (int j = 0; j < 15; j++){ if (e.getSource().equals(b[i][j]) && (stopGame != 1) && (counter != 2)){ b[i][j].setBackground(new Color(200,150,50)); counter++; } else if (isWord){ } if (isWin() == 'x'){ JOptionPane.showMessageDialog(this,"X wins"); stopGame = 1; p1s++; } else if (isWin() == 'o'){ JOptionPane.showMessageDialog(this,"O wins"); stopGame = 1; p2s++; } } } } }