Dator > hur man skapar tur - baserade spel

  • hur man skapar tur - baserade spel


  • Spelutveckling kan vara kul och spännande . Men det är också en enorm utmaning med en brant inlärningskurva. Medan de gamla två spelare Tic Tac Toe kanske inte lika spännande som Quake eller Advance War införs några grunderna i att arbeta tur-baserade spel design . Ingång måste tas i från spelaren , behandlas i enlighet med spelets regler , och produktionen igen i en form spelaren kan förstå

    Du behöver : .
    Computer
    Java Development Kit .
    Java Runtime Environment .
    Java IDE .


    1 .
    Skapa en ny klass som kallas TicTacToeGame . Om du använder en Java IDE som NetBeans eller Eclipse , kommer detta hanteras automatiskt åt dig. Om du använder en text editor och kommandoraden kompilator , då behöver du skapa en fil med namnet TicTacToeGame. java och infoga följande klass skelettet in i det:

    /**
    * Denna klass representerar en 2 större omgång tictactoe .
    * /
    klass TicTacToeGame {
    //Alla andra nummer i handledningen kommer att gå i detta utrymme !
    }

    2 .
    Definiera dina variabler . Det finns några sätt du kan göra detta , men hur denna tutorial väljer är en enkel 2D array av enstaka tecken för att representera styrelsen , med den nuvarande spelaren , antingen X eller O , lagras som ett tecken . Dessutom , för att säkerställa enhetlighet och förbättra läsbarheten i din kod senare , definiera några konstanter för de tecken som används för X , O , och tom. Infoga följande :

    /**
    * Styrelsen . Rödingen är antingen " X " , " O " eller " " . Dessa definieras i konstanter .
    * /
    privat char [] [ ] ombord=new char [ 3 ] [ 3 ] ,
    röding currentPlayer ;
    public static final röding X="X" ,
    public static final röding O="O" ;
    public static final röding NONE=' '

    När ett värde lagras på kortet, jämfört med ett annat värde på bordet , eller lagras i currentPlayer , bör du använda din deklarerade konstanter X, Y , och Ingen. Som nämnts ovan , ökar detta läsbarhet och robusthet kod .
    3 .
    Initiera spelet . Endast en konstruktor behövs för vår tictactoe styrelse .

    /**
    * Initierar styrelsen.
    * /
    offentliga TicTacToeBoard () {
    //Du kan också använda en dubbel-kapslad för slinga för att fylla styrelsen
    kartong [ 0] [0]=NONE .
    ombord [0 ] [ 1 ]=NONE ,
    ombord [ 0 ] [ 2]=NONE ,
    styrelse [1 ] [0]=NONE ,
    styrelse [ 1 ] [ 1 ]=NONE ,
    styrelse [ 1 ] [ 2 ]=NONE ,
    styrelse [2 ] [ 0 ]=NONE ,
    styrelse [ 2 ] [ 1]=NONE ,
    kartong [ 2 ] [ 2 ]=NONE ,

    //Ställ in aktuell spelare är lika med X konstant som du definierade tidigare .
    currentPlayer=X ;
    }
    4
    Lägg till " makeMove "metoden . Denna metod bör ta tre argument: xCoord , yCoord och currentPlayer .

    /**
    * Gör en röra .
    * @ param xCoord x Coord att markera
    * @ param yCoord y Coord att markera
    * @ param spelare spelaren att använda . Detta bör vara en av de konstanter : X , O
    * @ return true om flytta inträffade . Falskt om flytten är förbjudet eftersom torget är fullt .
    * /
    boolean makeMove ( int xCoord , int yCoord , röding spelare ) {
    if ( kartong [ xCoord ] [ yCoord ] == NONE ) {
    kartong [ xCoord ] [ yCoord ]=spelare ,
    return true ;
    } else {
    return false ; }

    }

    Kom ihåg att alltid definiera ditt JavaDoc kommentarer .
    5 .
    skapa en metod för att rita linjen. Det finns ett antal olika sätt att göra detta , men det mest eleganta sättet är en enkel , dubbel-kapslad slinga.

    /**
    * Ritar nuvarande styrelsen till konsolen med hjälp System. out
    * /void
    drawBoard () {
    for (int x=0 , x for (int y=0 ; y //Rita X och OS på styrelsen hittills ( samt tomma utrymmen ) .
    System . out. print ( " " + kartong [ x ] [ y ] + " " ) ;
    //Rita lodräta linjer mellan kolumnerna
    if ( y <2 ) {
    System . out. print ("|");
    } }

    System. out. println ( ) ;
    //Rita horisontella linjer mellan raderna
    System. out . println ("---+---+---");
    }

    }
    6 .
    Skriv ditt spel slinga . Alla spel innehåller någon typ av spel slinga som definierar början av spelet , kör spelets regler och tester för ett spel vinnare eller avsluta skick . Här är spelet slingan för tictactoe spelet :

    void spela () { boolean
    spelar=true ;
    BufferedReader in=ny BufferedReader ( ny InputStreamReader ( System. in ) ) , medan
    (spela ) {

    try {
    boolean validMove=false ;
    //fortsätta be spelaren för koordinaterna tills hon ger ett giltigt svar medan ( validMove ! ) {
    drawBoard () ;
    System . out. println ("aktuell spelare är : " + currentPlayer ) ,
    System. out. println (" Vad x-koordinaten " ) ;
    //Läs KOORDINATER
    int xCoord=new Integer ( in. readLine ());
    System. out. println ( " Vad y-koordinat ? ");
    int yCoord=new Integer ( in. readLine ());

    validMove=makeMove ( xCoord , yCoord , currentPlayer ) ,
    om ( validMove ! ) System. out. println (" FEL : Ogiltig flytta !");
    }

    //Ändra den aktuella spelaren .
    om ( currentPlayer == X ) {
    currentPlayer=O ;
    } else {
    currentPlayer=X ;
    }

    //Om vi har en vinnare , då gratulera dem och avsluta spelet
    om ( this. testWinner ()=INGEN ! ) {
    drawBoard () ; !
    System. out. println ( " Vinnare är : " + this. testWinner ());
    återvända ,
    }
    //Test för inmatningsfel från tangentbordet och skriva ut felsökningsinformation om man påträffas . Detta är inte bara en bra idé, det krävs av in. ReadLine () -funktionen .
    } catch ( IOException e) {
    e. printStackTrace () ; }

    }

    (se referenser 1 )
    7.
    Det finns en funktion nämns i play () loop som ännu inte har skrivit : Testvinnare () . Det är den svåraste funktion av alla , och det finns många vägar att gå om testning för att tictactoe vinnaren . Följande är den mest uppenbara , men inte det mest effektiva , lösningen på problemet :

    /**
    * Denna funktion kommer att testa styrelsen att se om det finns en vinnare .
    återvända INGEN ,
    }

    Det är helt enkelt vinning genom styrelsen , provning alla möjliga vinnande kombination av torg och se om en av spelarna har det
    . 8 .

Previous:Vilka är fördelarna med Java uppgradera ? Next:vad är filändelsen . res ?





Relaterade artiklar


  • hur man tömmer förbrukad på en Ricoh 240W
  • hur man återställer en Canon ip 3330 skrivare
  • hur du installerar en kabel väljer IDE-kabeln
  • specifikationer för HP a6750
  • emachine w3503 moderkort specifikationer
  • hur du vill visa powerpoint på en Mac luft bok med en LCD-projektor
  • de typer av grafikkort i en HP Pavilion dv9620us
  • gateway GM 5424 specifikationer
  • hur man bygger en Toshiba hårddisk för en bärbar dator
  • hur man uppgraderar en form moderkort faktor BTX