1. Menulis game pertama Anda di mesin game

Saat menerapkan game komputer apa pun, ada tiga tahap:

  1. Menginisialisasi permainan. Ini termasuk berbagai tindakan persiapan: mengatur ukuran lapangan permainan dan menggambarnya, membuat dan mengatur objek permainan di posisi awalnya, serta tindakan lain yang perlu dilakukan di awal permainan.
  2. Bermain game. Ini mungkin termasuk memindahkan objek permainan, tindakan pemain, poin penghitungan yang diperoleh, serta tindakan lain apa pun yang harus dilakukan secara berkala atau sebagai respons terhadap klik tombol dan penekanan tombol.
  3. Mengakhiri permainan. Ini bisa termasuk menghentikan animasi, pesan menang/kalah, dan tindakan lain apa pun yang perlu dilakukan di akhir permainan.

Sekarang kita akan menelusuri ketiga tahap tersebut secara berurutan dan melihat bagaimana mesin game CodeGym dapat membantu mempermudah proses ini.


2. Menginisialisasi permainan

Saat Anda menggunakan mesin game CodeGym, inisialisasi game hanya terdiri dari dua langkah:

Langkah 1: Buat kelas utama game

Untuk membuat game Anda sendiri berdasarkan mesin game CodeGym, Anda perlu membuat kelas dan membuatnya memperluas kelas Game (com.codegym.engine.cell.Game). Ini akan memberi kelas Anda kemampuan untuk memanggil metode pada mesin game , dan mesin akan dapat memanggil metode kelas Anda . Contoh:

import com.codegym.engine.cell.Game;

public class MySuperGame extends Game {
  ...
}

Langkah 2: Ganti initialize()metode

Dalam initialize()metode ini, Anda melakukan semua tindakan yang diperlukan untuk memulai permainan: membuat lapangan permainan, membuat semua objek permainan, dll. Anda hanya perlu mendeklarasikan metode ini di kelas yang mewarisi kelas Permainan. Contoh:

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

Metode ini initialize()analog dengan main()metode. Ini adalah titik masuk dari mana semua kode permainan Anda mulai dijalankan.



3. Menciptakan lapangan bermain

Menciptakan lapangan bermain juga merupakan proses dua langkah:

Langkah 1: Bagi lapangan bermain menjadi beberapa sel

Mesin game membagi seluruh lapangan bermain menjadi sel. Ukuran minimumnya adalah 3×3, dan maksimumnya adalah 100×100.

Ukuran lapangan bermain konstan setelah dibuat. Dimensi horizontal dan vertikal tidak harus sama. Misalnya, lebar 7 dan tinggi 9:

Harap perhatikan bahwa penomoran sel dimulai dari sudut kiri atas.

Untuk mengatur ukuran lapangan bermain, gunakan void setScreenSize(int width, int height)metode ini. Ini menentukan ukuran lapangan bermain. Parameternya adalah jumlah sel dalam dimensi horizontal ( width) dan vertikal ( height). Biasanya dipanggil sekali saat permainan dimulai. Contoh:

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

Saat menulis game, Anda mungkin perlu mengetahui lebar dan tinggi lapangan bermain saat ini. Metode yang sesuai adalah int getScreenWidth()dan int getScreenHeight().

Langkah 2: Nyalakan/matikan grid (opsional)

Jika Anda tidak suka memiliki kotak hitam yang memisahkan sel-sel lapangan permainan Anda, Anda dapat mematikannya.

Metode ini void showGrid(boolean isShow)mengaktifkan/menonaktifkan kisi yang memisahkan sel. Kisi ditampilkan secara default. Untuk mematikannya, panggil metode ini dan berikan falsesebagai argumen:

showGrid(false);

Hasil:

Untuk menghidupkan kembali grid, panggil metode seperti ini:

showGrid(true);

Hasil:



4. Program primitif

Mari kita menulis game yang sangat primitif yang menggunakan mesin game CodeGym. Ini akan melakukan 3 hal:

  1. Ini akan membagi lapangan bermain menjadi 9 sel: 3×3
  2. Ini akan menonaktifkan kisi (garis antar sel)
  3. Sel tengah akan dicat biru dan Xakan tertulis surat di dalamnya.

Kode terakhir terlihat seperti ini:

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

Dalam contoh ini, lapangan bermain diatur ke 3x3, kisi dimatikan, dan huruf oranyeX dengan setengah tinggi sel diletakkan di tengah sel dengan latar belakang biru . Ini akan menjadi hal pertama yang dilihat pemain saat permainan dimulai.