Motore di gioco

Disponibile

1. Scrivere il tuo primo gioco su un motore di gioco

Quando si implementa qualsiasi gioco per computer, ci sono tre fasi:

  1. Inizializzazione del gioco. Ciò include varie azioni preparatorie: impostare le dimensioni del campo di gioco e disegnarlo, creare e posizionare gli oggetti di gioco nella loro posizione iniziale, nonché qualsiasi altra azione che deve essere eseguita all'inizio del gioco.
  2. Giocare. Ciò può includere lo spostamento di oggetti di gioco, le azioni del giocatore, il conteggio dei punti guadagnati, nonché qualsiasi altra azione che deve essere eseguita a intervalli regolari o in risposta ai clic sui pulsanti e alla pressione dei tasti.
  3. Fine del gioco. Ciò potrebbe includere l'interruzione delle animazioni, un messaggio di vittoria/sconfitta e qualsiasi altra azione che deve essere eseguita alla fine del gioco.

Ora esamineremo tutte e tre le fasi in ordine e vedremo come il motore di gioco CodeGym può aiutare a semplificare questo processo.


2. Inizializzazione del gioco

Quando utilizzi il motore di gioco CodeGym, l'inizializzazione del gioco consiste in due soli passaggi:

Passaggio 1: crea la classe principale del gioco

Per creare il tuo gioco basato sul motore di gioco CodeGym, devi creare una classe e fare in modo che estenda la classe Game (com.codegym.engine.cell.Game). Questo darà alla tua classe la possibilità di chiamare metodi sul motore di gioco , e il motore sarà in grado di chiamare metodi della tua classe . Esempio:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
  ...
}

Passaggio 2: eseguire l'override del initialize()metodo

Nel initialize()metodo esegui tutte le azioni necessarie per avviare il gioco: creare il campo di gioco, creare tutti gli oggetti di gioco, ecc. Devi solo dichiarare questo metodo nella classe che eredita la classe Game. Esempio:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
  @Override
  public void initialize() {
     // Here we perform all the actions to initialize the game and its objects
  }
}

Il initialize()metodo è analogo al main()metodo. È il punto di ingresso da cui inizia l'esecuzione di tutto il codice di gioco.



3. Creazione del campo di gioco

Anche la creazione del campo di gioco è un processo in due fasi:

Passaggio 1: dividere il campo di gioco in celle

Il motore di gioco divide l'intero campo di gioco in celle. La dimensione minima è 3×3 e quella massima è 100×100.

La dimensione del campo di gioco è costante una volta creata. Le dimensioni orizzontali e verticali non devono essere uguali. Ad esempio, una larghezza di 7 e un'altezza di 9:

Si prega di notare che la numerazione delle celle inizia dall'angolo in alto a sinistra.

Per impostare la dimensione del campo di gioco, utilizzare il void setScreenSize(int width, int height)metodo. Imposta la dimensione del campo di gioco. I suoi parametri sono il numero di celle nelle dimensioni orizzontale ( width) e verticale ( height). Di solito viene chiamato una volta all'inizio del gioco. Esempio:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
   @Override    public void initialize()
   {
      // Set the field size to 7x9 cells
      setScreenSize(7, 9);
      ...
   }
}

Quando si scrive un gioco, potrebbe essere necessario ottenere la larghezza e l'altezza attuali del campo di gioco. I metodi corrispondenti sono int getScreenWidth()e int getScreenHeight().

Passaggio 2: attiva/disattiva la griglia (facoltativo)

Se non ti piace avere una griglia nera che separa le celle del tuo campo di gioco, puoi disattivarla.

Il void showGrid(boolean isShow)metodo abilita/disabilita la griglia che separa le celle. La griglia viene visualizzata per impostazione predefinita. Per disattivarlo, chiama questo metodo e passalo falsecome argomento:

showGrid(false);

Risultato:

Per riattivare la griglia, chiama il metodo in questo modo:

showGrid(true);

Risultato:



4. Programma primitivo

Scriviamo un gioco molto primitivo che utilizza il motore di gioco CodeGym. Farà 3 cose:

  1. Dividerà il campo di gioco in 9 celle: 3×3
  2. Disabiliterà la griglia (le linee tra le celle)
  3. La cella centrale sarà dipinta di blu e la lettera Xsarà scritta al suo interno.

Il codice finale è simile a questo:

public class MySuperGame extends Game
{
   @Override
   public void initialize()
   {
      // Create a 3x3 playing field
      setScreenSize(3, 3);
      // Disable displaying the grid
      showGrid(false);
      // Change the background of the central cell to blue and display "X" in it
      setCellValueEx(1, 1, Color.BLUE, "Х", Color.ORANGE, 50);
   }
}

In questo esempio, il campo di gioco è impostato su 3x3, la griglia è disattivata e una lettera arancioneX a metà dell'altezza della cella viene inserita nella cella centrale con uno sfondo blu . Questa sarà la prima cosa che il giocatore vedrà all'inizio del gioco.


Commenti
  • Popolari
  • Nuovi
  • Vecchi
Devi avere effettuato l'accesso per lasciare un commento
Questa pagina non ha ancora commenti