November 17
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.
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
}
}