Spill utvikling kan være morsomt og spennende. Men det er også en enorm utfordring med en bratt læringskurve . Mens den gamle to -spiller spill Tic Tac Toe ikke kan være like spennende som Quake eller Advance War , introduserer det noen grunnleggende arbeidsmåter turbasert spill design . Innspill må tas fra spilleren , behandlet i henhold til reglene i spillet , og produksjonen igjen i en form spilleren kan forstå. Du trenger
Computer
Java Development Kit
Java Runtime Environment
Java IDE
Vis flere instruksjoner
en
Opprett en ny klasse kalt TicTacToeGame . Hvis du bruker en Java IDE som NetBeans eller Eclipse , vil dette håndteres automatisk for deg . Hvis du bruker en teksteditor og kommandolinjen kompilator, så du må opprette en fil med navnet TicTacToeGame.java og sett inn følgende klasse skjelettet til det : en
/*** Denne klassen representerer en 2 player spill av TicTacToe . * /class TicTacToeGame { //All annen kode i opplæringen vil gå i dette rommet ! }
2
Definer dine variabler . Det er noen måter du kan gjøre dette , men måten denne opplæringen velger er en enkel 2D rekke enkle tegn for å representere styret , med dagens spiller, enten X eller O, lagret som et tegn. Også , for å sikre konsistens og øke lesbarheten av koden din senere , definere noen konstanter for tegn som brukes for X , O, og tom. Sett følgende : en
/*** Styret . Røye er enten 'X' , ' O' , eller '' . Disse er definert i konstanter * /private char [ ] [ ] board = new char [ 3 ] [ 3 ]; . Røye currentPlayer ; public static final røye X = ' X '; public static final røye O = ' O' ; offentlig static final røye NONE = ' ';
Når en verdi er lagret på brettet , sammenlignet med en annen verdi på brettet , eller lagres i currentPlayer , bør du bruke dine erklært konstanter X , Y og NONE . Som nevnt ovenfor , øker dette lesbarheten og robusthet av kode .
3
Initialiser spillet. Bare én konstruktør er nødvendig for vår TicTacToe bord.
/*** Initialiserer styret. * /Public TicTacToeBoard ( ) { //Du kan også bruke en dobbel - nestet for loop å fylle board.board [ ,"0 ] [ 0 ] = NONE , hovedkort [ 0 ] [ 1 ] = NONE , hovedkort [ 0 ] [ 2 ] = NONE , hovedkort [ 1 ] [ 0 ] = NONE , hovedkort [ 1 ] [ 1 ] = NONE , hovedkort [ ,"1 ] [ 2 ] = NONE , hovedkort [ 2 ] [ 0 ] = NONE , hovedkort [ 2 ] [ 1 ] = NONE , hovedkort [ 2 ] [ 2 ] = NONE ;
//Sett den aktuelle spilleren lik X konstant du definerte earlier.currentPlayer = X; }
4
Legg til " makeMove " metoden. Denne metoden bør ta tre argumenter: . Det xCoord , yCoord , og currentPlayer
/*** Gjør et trekk * @ param xCoord x koord å markere * @ param yCoord y koord å markere * @ param . spiller spilleren å bruke. Dette bør være en av de konstanter : X , O * @ return true hvis forflytningen skjedde . Usann hvis farten er forbudt fordi plassen er full * /boolean makeMove ( int xCoord , int yCoord , røye spiller ) {if (styret [ xCoord ] [ yCoord ] == NONE ) { styret [ xCoord ] [ yCoord ] = spiller; . Retur true; } else {return false; } }
Husk å alltid definere javadoc kommentarer
5
Lag en metode for å trekke styret. . Det finnes en rekke måter å gjøre dette på , men den mest elegante måten er en enkel, dobbel - nestet løkke.
/*** Tegner det sittende styret til konsollen ved hjelp System.out * /void drawBoard ( ) { for ( int x = 0 ; x < board.length ; x + + ) { for ( int y = 0; y < board [ x ] lengde; . y + + ) { //Tegn x og Os i styret så langt ( samt mellomrom ) . System.out.print (" " + board [ x ] [y ] + "") ;//Tegn de loddrette linjene mellom columns.if ( y < 2 ) { System. out.print ( "