ubiquitour.com

Cómo programar juegos con Java

Cómo programar juegos con Java

Java es un lenguaje de programación multiplataforma, orientado a objetos creado por Sun Microsystems. Crear juegos en Java puede ser mucho más simple que crear juegos en lenguajes como C++ debido a las ventajas de la biblioteca Swing que viene como parte de la API de Java. En muy poco tiempo, tendrás un trabajo TIC-TAC-Toe juego se ejecuta en Java.

Instrucciones

1 Crear una clase llamada TicTacToeGame. Si está utilizando un entorno de desarrollo Java como Netbeans, habrá una opción en el menú Archivo para esto. De lo contrario, simplemente cree un archivo de texto y asígnele el nombre \"TicTacToeGame.java.\"

2 Pegue el código siguiente dentro del archivo:

Import java.awt.GridLayoutIRimportación java.awt.event.ActionEventIRImport java.awt.event.ActionListenerIRimportar java.util.ArrayListIRimportación javax.swing.JButtonIRImport javax.swing.JFrameIRimportar el javax.swing.JOptionPaneIR

pública clase que tictactoegame extiende JFrame implementa ActionListener {}

ArrayList<JButton> squares = new ArrayList<JButton>()

IR

String player = \"X\"

IR

public TicTacToeGame() { }

public void checkWinner() { }

public void actionPerformed(ActionEvent e) { }

public static void main(String[] args) {

TicTacToeGame() nuevoIR}}

3 Construir el constructor. Este es el método con el mismo nombre que la clase sí mismo, en este caso, (\"TicTacToeGame). \" se llama el constructor, ya que se utiliza para construir el programa y prepararse para ejecutar. Pegue el código siguiente para construirlo:

public TicTacToeGame() { // Setup a JFrame window. super()

IR

Utilizar un diseño de cuadrícula, con tres columnas y tres filas, ya que se trata de TicTacToe,

this.setLayout(new GridLayout(3,3))

IR

Llene cada espacio de la cuadrícula con un botón.

for (int x = 0; x < 9; x++) { JButton temp = new JButton(\"-\")

IR

squares.add(temp)

IR

temp.addActionListener(this)

IR

this.add(temp)

IR

}

Cambiar el tamaño de la ventana para hacer todo lo que cabe,y la interfaz de usuario visible.

this.pack()

IR

this.setVisible(true)

IR

this.setDefaultCloseOperation(this.EXIT_ON_CLOSE)

IR

}4

Crear el \"actionPerformed\" método. Este método se llama cuando el usuario hace nada dentro de su aplicación. Le proporciona un \"ActionEvent\" objeto y usted puede examinar este objeto para saber lo que hizo el usuario y reaccionar en consecuencia. Pegue este código:

public void actionPerformed(ActionEvent e) { // For all the buttons in the game grid. for (JButton square : squares) { // If the button clicked was the source of the event. if (square.equals(e.getSource())) { // Set the button to the player's letter, X or O. square.setText(player)

IR

// Change to the next player's turn. if (player.equals(\"X\")) player = \"O\"

IR

else player = \"X\"

IR

}

}

Compruebe para ver si alguien ha ganado.

checkWinner()

IR

}5

Crear el \"checkWinner\" método pegando el siguiente código:

público void checkWinner() {}

Obtiene el contenido del directorio.

String[] board = new String[9]

IR

Establecer el ganador en el espacio en blanco, \ "-. \"

String winner = \"-\"

IR

for (int x = 0; x < 9; x++) { board[x] = squares.get(x).getText()

IR

System.out.println(x + \": \" + board[x])

IR

}

// Check if the top row is full of the same letter. // If it is, then that player has won. if (board[0].equals(board[1]) && board[0].equals(board[2])) { winner = board[0]

IR

} else // Middle Row if (board[3].equals(board[4]) && board[3].equals(board[5])) { winner = board[3]

IR

} else // Bottom row if (board[6].equals(board[7]) && board[6].equals(board[8])) { winner = board[6]

IR

} else // Left column if (board[0].equals(board[3]) && board[0].equals(board[6])) { winner = board[0]

IR

} else // Middle column if (board[1].equals(board[4]) && board[1].equals(board[7])) { winner = board[1]

IR

} else // Right column if (board[2].equals(board[5]) && board[6].equals(board[8])) { winner = board[2]

IR

} else // Top-Left, Middle, Bottom Right Diagonal if (board[0].equals(board[4]) && board[0].equals(board[8])) { winner = board[0]

IR

} else // Top-Right, Middle, Bottom Left Diagonal if (board[2].equals(board[4]) && board[2].equals(board[6])) { winner = board[2]

IR

}

Si el ganador no es el espacio en blanco \ "-, \"entonces alguien ha ganado. Felicitarlosy al final del juego.

if (!winner.equals(\"-\")) { JOptionPane.showMessageDialog(rootPane, \"The winner is \" + winner)

IR

System.exit(0)

IR

}

}

Consejos y advertencias

  • Si quieres tu juego de Java para ejecutarse en un navegador, simplemente borrar la función principal y tiene la clase TicTacToeGame extiende ese Java \"Applet\" clase en lugar de \"JFrame.\"
  • Recuerde siempre comparar cadenas en Java con el (\".equals) \" método y no con la \ operador "== \".