Come programmare giochi con Java

November 17

Come programmare giochi con Java


Java è un multipiattaforma, linguaggio di programmazione orientato agli oggetti creato da Sun Microsystems. La creazione di giochi in Java può essere molto più semplice rispetto alla creazione di giochi su linguaggi come C ++ a causa dei vantaggi della libreria Swing che si presenta come parte delle API Java. In pochissimo tempo, si può avere un lavoro tic-tac-toe gioco in esecuzione in Java.

istruzione

1 Creare una classe chiamata TicTacToeGame. Se si utilizza un ambiente di sviluppo Java come Netbeans, ci sarà un opzione nel menu File per questo. In caso contrario, è sufficiente creare un file di testo e il nome \ "TicTacToeGame.java. \"

2 Incollare il seguente codice all'interno del file:

importazione java.awt.GridLayout
ANDARE
importazione java.awt.event.ActionEvent
ANDARE
importazione java.awt.event.ActionListener
ANDARE
importazione java.util.ArrayList
ANDARE
importazione javax.swing.JButton
ANDARE
importazione javax.swing.JFrame
ANDARE
importazione javax.swing.JOptionPane
ANDARE

public class TicTacToeGame estende JFrame implementa ActionListener {

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

ANDARE

String player = \"X\"

ANDARE

public TicTacToeGame() { }

public void checkWinner () {}

public void actionPerformed (ActionEvent e) {}

Main (string [] args) {public static void

nuova TicTacToeGame ()
ANDARE
}
}

3 Crea il costruttore. Questo è il metodo con lo stesso nome della classe stessa, in questo caso, \ "TicTacToeGame (). \" Si chiama il costruttore, perché viene utilizzato per generare il programma e prepararla da eseguire. Incollare il codice seguente per costruirlo:

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

ANDARE

// Utilizzare un layout di griglia, con tre colonne e tre righe, poiché questo è TicTacToe,

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

ANDARE

// Riempire ogni spazio sulla griglia con un tasto.

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

ANDARE

squares.add(temp)

ANDARE

temp.addActionListener(this)

ANDARE

this.add(temp)

ANDARE

}

// Ridimensionare la finestra per far tornare i conti,
// E rendere l'interfaccia utente visibile.

this.pack()

ANDARE

this.setVisible(true)

ANDARE

this.setDefaultCloseOperation(this.EXIT_ON_CLOSE)

ANDARE

}

4 Creare il metodo \ "actionPerformed \". Questo metodo viene chiamato ogni volta che l'utente fa qualcosa all'interno dell'applicazione. Esso fornisce un oggetto \ "ActionEvent \", e si può esaminare questo oggetto per scoprire ciò che l'utente ha fatto, e reagire di conseguenza. Incollare in questo codice:

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)

ANDARE

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

ANDARE

else player = \"X\"

ANDARE

}

}

// Controllare per vedere se qualcuno ha vinto.

checkWinner()

ANDARE

}

5 Creare il metodo \ "checkWinner \" incollando il seguente codice:

checkWinner public void () {

// Ottenere il contenuto della scheda.

String[] board = new String[9]

ANDARE

// Imposta il vincitore per lo spazio vuoto, \ "- \".

String winner = \"-\"

ANDARE

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

ANDARE

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

ANDARE

}

// Verifica se la riga superiore è piena della stessa lettera.
// Se lo è, allora quel giocatore ha vinto.
if (scheda [0] .equals (scheda [1]) & amp; & amp; bordo [0] .equals (scheda [2])) {
vincitore = bordo [0]

ANDARE

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

ANDARE

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

ANDARE

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

ANDARE

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

ANDARE

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

ANDARE

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

ANDARE

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

ANDARE

}

// Se il vincitore non è lo spazio vuoto \ "- \"
// Poi qualcuno ha vinto. congratuliamo con loro
// E terminare il gioco.

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

ANDARE

System.exit(0)

ANDARE

}

}

Consigli e avvertenze

  • Se si desidera che il gioco Java di funzionare in un browser, basta eliminare la funzione principale e hanno la classe TicTacToeGame estendere che Java \ class "Applet \" invece di \ "JFrame. \"
  • Ricordarsi di confrontare sempre le stringhe in Java con il ". Equals () \" metodo e non \ con l'operatore \ "== \".