Senin, 15 Juni 2015

GunGhost

GunGhost










Genre : Action,Strategy Games
Logika :
                Dalam game 2D, koordinat yang digunakan adalah koordinat x dan koordinat y (x,y). Kita sepakati saja bahwa koordinat (0,0) terletak di sudut kiri atas untuk memudahkan pemahaman. Untuk x, ke arah kanan x bernilai positif, dan ke arah kiri x bernilai negatif. Sedangkan untuk y, ke arah bawah y bernilai positif, sedangkan ke arah atas y bernilai negatif.
Setelah kita sepakati tentang masalah koordinat, selanjutnya kita masuk ke logika berpikir. Karakter kita berdiri pada suatu platform di titik (x,y). Kemudian yang disebut melompat adalah menggeser koordinat y ke arah atas (-y) sampai pada titik tertentu, kemudian setelah mencapai titik tersebut kemudian kita menggeser koordinat y tadi ke arah bawah (y) dan mengembalikan karakter ke titik semula.
Ketika karakter kita ingin melompat ke arah kiri / kanan, koordinat x karakter akan kita geser ke arah positif ataupun negatif tergantung keinginan user.Kemudian untuk membuat agar pergerakan karakter tidak kaku ketika bergerak kita akan menambahkan gaya gesek sederhana yaitu mengkalikan kecepatan bergerak dengan nilai 0.9, dengan begitu kecepatan karakter akan perlahan lahan menjadi kecil.
Logika untuk menembak sebenarnya sama dengan logika melompat hanya saja kita akan lebih banyak memanipulasi koordinat x dan jika peluru yang kita tembakkan besar / granat kita akan memanipulasi kecepatan geraknya.









Code sederhana dalam Bahasa C

#include <iostream>
using namespace std;
int main()
{
int yAwal            = 10; //posisi awal karakter
int yAkhir           = 0; //puncak tertinggi lompatan
int yVelocity        = -1; //percepatan besaran perpindahan tiap satuan waktu
int posisiY          = yAwal; //digunakan untuk mengambil posisi y karakter
bool lompat          = true;

while(lompat)
{
//posisi y akan ditambahkan dengan nilai yVelocity
posisiY += yVelocity;
cout<<"\nPosisiY = "<<posisiY;

if(posisiY == yAkhir)
{
//jika posisiY sama dengan yAkhir, nilai yVelocity diubah menjadi positif
yVelocity = 1;
cout<<"\nUbah yVelocity";
}
if(posisiY == yAwal)
{
lompat = false;
}
}
return 0;

}

1 komentar:

  1. keren game-nya. terus berkarya yaa..

    Salam kenal :-)
    Jasa Konsultan dan Sertifikasi ISO
    www.globalkonsultan.com

    BalasHapus