How to Program spill og Java
Java er en multiplattform, objektorientert programmeringsspråk laget av Sun Microsystems. Opprette spill på Java kan være mye enklere enn å lage spill på språk som C ++ på grunn av fordelene med Swing biblioteket som kommer som en del av Java API. I svært liten tid, kan du ha en fungerende tic-tac-toe spillet kjører i Java.
Bruksanvisning
1 Lag en klasse kalt TicTacToeGame. Hvis du bruker en Java utviklingsmiljø som NetBeans, vil det være et alternativ i Fil-menyen for dette. Ellers bare lage en tekstfil og gi den navnet \ "TicTacToeGame.java. \"
2 Lim inn følgende kode i filen:
import java.awt.GridLayout
GÅ
import java.awt.event.ActionEvent
GÅ
import java.awt.event.ActionListener
GÅ
import java.util.ArrayList
GÅ
import javax.swing.JButton
GÅ
import javax.swing.JFrame
GÅ
import javax.swing.JOptionPane
GÅ
public class TicTacToeGame utvider JFrame implements Action {
ArrayList<JButton> squares = new ArrayList<JButton>()
GÅ
String player = \"X\"
GÅ
public TicTacToeGame() { }
public void checkWinner () {}
public void actionPerformed (Actione e) {}
public static void main (String [] args) {
ny TicTacToeGame ()
GÅ
}
}
3 Bygg konstruktøren. Dette er metoden med samme navn som klassen selv, i dette tilfellet, \ "TicTacToeGame (). \" Det kalles konstruktøren, fordi den brukes til å bygge programmet og forberede det som skal kjøres. Lim inn følgende kode for å bygge det:
public TicTacToeGame() {
// Setup a JFrame window.
super()
GÅ
// Bruk et rutenett med tre kolonner og tre rader, siden dette er TicTacToe,
this.setLayout(new GridLayout(3,3))
GÅ
// Fyll hver plass på startstreken med en knapp.
for (int x = 0; x < 9; x++) {
JButton temp = new JButton(\"-\")
GÅ
squares.add(temp)
GÅ
temp.addActionListener(this)
GÅ
this.add(temp)
GÅ
}
// Endre størrelsen på vinduet for å gjøre alt passform,
// Og gjøre brukergrensesnittet synlig.
this.pack()
GÅ
this.setVisible(true)
GÅ
this.setDefaultCloseOperation(this.EXIT_ON_CLOSE)
GÅ
}
4 Lag \ "actionPerformed \" metoden. Denne metoden kalles når brukeren gjør noe i programmet. Den gir deg en \ "Actione \" objekt, og du kan inspisere dette objektet for å finne ut hva brukeren gjorde, og reagerer deretter. Lim inn denne koden:
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)
GÅ
// Change to the next player's turn.
if (player.equals(\"X\")) player = \"O\"
GÅ
else player = \"X\"
GÅ
}
}
// Sjekk for å se om noen har vunnet.
checkWinner()
GÅ
}
5 Lag \ "checkWinner \" metoden ved å lime inn følgende kode:
public void checkWinner () {
// Få innholdet i styret.
String[] board = new String[9]
GÅ
// Sett vinneren til den tomme plassen, \ "-. \"
String winner = \"-\"
GÅ
for (int x = 0; x < 9; x++) {
board[x] = squares.get(x).getText()
GÅ
System.out.println(x + \": \" + board[x])
GÅ
}
// Sjekk om den øverste raden er full av det samme brevet.
// Hvis det er, så det spiller har vunnet.
if (brett [0] .equals (board [1]) & amp; & amp; board [0] .equals (brett [2])) {
Vinneren = board [0]
GÅ
} else
// Middle Row
if (board[3].equals(board[4]) && board[3].equals(board[5])) {
winner = board[3]
GÅ
} else
// Bottom row
if (board[6].equals(board[7]) && board[6].equals(board[8])) {
winner = board[6]
GÅ
} else
// Left column
if (board[0].equals(board[3]) && board[0].equals(board[6])) {
winner = board[0]
GÅ
} else
// Middle column
if (board[1].equals(board[4]) && board[1].equals(board[7])) {
winner = board[1]
GÅ
} else
// Right column
if (board[2].equals(board[5]) && board[6].equals(board[8])) {
winner = board[2]
GÅ
} else
// Top-Left, Middle, Bottom Right Diagonal
if (board[0].equals(board[4]) && board[0].equals(board[8])) {
winner = board[0]
GÅ
} else
// Top-Right, Middle, Bottom Left Diagonal
if (board[2].equals(board[4]) && board[2].equals(board[6])) {
winner = board[2]
GÅ
}
// Hvis vinneren ikke er ledig plass \ "- \"
// Så noen har vunnet. gratulere dem
// Og avslutte spillet.
if (!winner.equals(\"-\")) {
JOptionPane.showMessageDialog(rootPane, \"The winner is \" + winner)
GÅ
System.exit(0)
GÅ
}
}
Hint
- Hvis du vil at Java spillet til å kjøre i en nettleser, bare slette den viktigste funksjonen og har TicTacToeGame klassen utvide at Java \ "Applet \" klasse i stedet for \ "JFrame. \"
- Husk å alltid sammenligne strenger i Java med \ ". Lik () \" metoden og ikke med \ "== \" operatøren.