1. Escrevendo seu primeiro jogo em um mecanismo de jogo

Ao implementar qualquer jogo de computador, existem três etapas:
- 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.
- 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.
- 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 false
como 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:
- Ele dividirá o campo de jogo em 9 células: 3×3
- Isso desativará a grade (as linhas entre as células)
- A célula central será pintada de azul e a letra
X
será 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.
GO TO FULL VERSION