Motor do jogo

Disponível

1. Escrevendo seu primeiro jogo em um mecanismo de jogo

Ao implementar qualquer jogo de computador, existem três etapas:

  1. Inicializando o jogo. Isso inclui várias ações preparatórias: definir o tamanho do campo de jogo e desenhá-lo, criar e configurar objetos do jogo em sua posição inicial, bem como quaisquer outras ações que precisem ser executadas no início do jogo.
  2. Jogando o jogo. Isso pode incluir mover objetos do jogo, ações do jogador, contagem de pontos ganhos, bem como quaisquer outras ações que devem ser executadas em intervalos regulares ou em resposta a cliques de botões e pressionamentos de teclas.
  3. Terminando o jogo. Isso pode incluir parar animações, uma mensagem de vitória/perda e quaisquer outras ações que precisem ser executadas no final do jogo.

Vamos agora percorrer todos os três estágios em ordem e ver como o mecanismo de jogo CodeGym pode ajudar a tornar esse processo mais fácil.


2. Inicializando o jogo

Quando você usa o mecanismo de jogo CodeGym, a inicialização do jogo consiste em apenas duas etapas:

Passo 1: Crie a classe principal do jogo

Para criar seu próprio jogo baseado no mecanismo de jogo CodeGym, você precisa criar uma classe e fazer com que ela estenda a classe Game (com.codegym.engine.cell.Game). Isso dará à sua classe a capacidade de chamar métodos no mecanismo do jogo , e o mecanismo poderá chamar métodos de sua classe . Exemplo:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
  ...
}

Etapa 2: substituir o initialize()método

No initialize()método, você executa todas as ações necessárias para iniciar o jogo: criar o campo de jogo, criar todos os objetos do jogo, etc. Você só precisa declarar este método na classe que herda a classe Game. Exemplo:

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
  }
}

O initialize()método é análogo ao main()método. É o ponto de entrada a partir do qual todo o código do seu jogo começa a ser executado.



3. Criando o campo de jogo

Criar o campo de jogo também é um processo de duas etapas:

Passo 1: Divida o campo de jogo em células

O mecanismo do jogo divide todo o campo de jogo em células. O tamanho mínimo é 3×3 e o máximo é 100×100.

O tamanho do campo de jogo é constante uma vez criado. As dimensões horizontal e vertical não precisam ser as mesmas. Por exemplo, uma largura de 7 e uma altura de 9:

Observe que a numeração das células começa no canto superior esquerdo.

Para definir o tamanho do campo de jogo, use o void setScreenSize(int width, int height)método. Ele define o tamanho do campo de jogo. Seus parâmetros são o número de células nas dimensões horizontal ( width) e vertical ( height). Geralmente é chamado uma vez quando o jogo começa. Exemplo:

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);
      ...
   }
}

Ao escrever um jogo, pode ser necessário obter a largura e a altura atuais do campo de jogo. Os métodos correspondentes são int getScreenWidth()e int getScreenHeight().

Etapa 2: ativar/desativar a grade (opcional)

Se você não gosta de ter uma grade preta separando as células do seu campo de jogo, pode desativá-la.

O void showGrid(boolean isShow)método habilita/desabilita a grade que separa as células. A grade é exibida por padrão. Para desativá-lo, chame este método e passe falsecomo argumento:

showGrid(false);

Resultado:

Para ativar a grade novamente, chame o método assim:

showGrid(true);

Resultado:



4. Programa primitivo

Vamos escrever um jogo muito primitivo que usa o mecanismo de jogo CodeGym. Ele fará 3 coisas:

  1. Ele dividirá o campo de jogo em 9 células: 3×3
  2. Isso desativará a grade (as linhas entre as células)
  3. A célula central será pintada de azul e a letra Xserá escrita nela.

O código final fica assim:

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);
   }
}

Neste exemplo, o campo de jogo é definido como 3x3, a grade é desativada e uma letra laranjaX na metade da altura da célula é colocada na célula central com fundo azul . Esta será a primeira coisa que o jogador verá quando o jogo começar.


Comentários
  • Populares
  • Novas
  • Antigas
Você precisa acessar para deixar um comentário
Esta página ainda não tem nenhum comentário