|
Hasil Program |
Anda dapat download code-nya pada Github saya, berikut link-nya: simpleGame.c.
Langkah 1:
Disini yang ada perlukan pertama adalah meng-include library dari c atau c++ yaitu :
#include<stdio.h>
#include<conio.h>
Library stdio.h adalah standar
library input dan
output baik menggunakan
keyboard,
printer,
terminal atau dengan jenis file lainnya yang didukung oleh sistem. Kemudian
conio.h disini berfungsi untuk menangkap inputan dari
keyboard dengan menggunakan
getch().
Langkah 2:
int main()
{
int n,pil,baris,kolom,i,j;
printf("N: ");
scanf("%d",&n);
n=n*2;
Pada baris
code diatas berguna untuk deklarasi
variable sebagai berikut:
- n untuk jumlah baris dan kolom.
- pil untuk tombol inputan dari keyboard.
- baris untuk posisi x dari bintang.
- kolom untuk posisi y dari bintang.
- i untuk iterasi dalam perulangan.
- j untuk iterasi dalam perulangan.
Untuk mencetak kata atau kalimat kita bisa gunakan printf("format",variable) dan untuk inputan kita bisa memakai scanf("format",variable) dalam c atau cpp.
Langkah 3:
char kotak[n][n];
// create ways
for(i=0;i<n;i++){
for(j=0;j<n;j++){
if(i%2==0){
kotak[i][j]='#';
}
else{
kotak[i][j]=' ';
}
}
}
Pada tahap ini kita membuat jalannya untuk pagar(#) selalu pada baris bilangan genap bila kita mulai perulangan dari i=0, jika dari i=1 maka selalu pada baris bilangan ganjil. Asumsi kita ambil perulangan dari 0 sehingga untuk spasi pada bilangan ganjil. Kemudian kita simpan mereka dalam array 2 dimensi.
Langkah 4:
// set star
baris=1,kolom=0;
kotak[baris][kolom]='*';
Baris
code diatas untuk meletakkan posisi awal bintang.
Langkah 5:
do{
system("cls");
// print them
for(i=0;i<n;i++){
for(j=0;j<n;j++){
printf("%c",kotak[i][j]);
}
printf("\n");
}
printf("press q to exit game.");
pil= getch();
Pada tahap ini kita membuat perulangan dimana jika user
input "q" maka keluar dari program dan guna system("cls") adalah untuk membersihkan layar ketika bintang bergerak maka bintang sebelumnya akan dihapus, sehingga tidak terjadi pencetakkan 2 bintang atau lebih. Kemudian fungsi pil adalah
variable yang menampung inputan dari keyboard.
Langkah 6:
switch(pil){
case 'a':
kotak[baris][kolom]=' ';
kolom--;
if(kolom<0){
kolom=0;
}
kotak[baris][kolom]='*';
break;
case 's':
kotak[baris][kolom]=' ';
baris+=2;
if(baris>n-1){
baris=n-1;
}
kotak[baris][kolom]='*';
break;
case 'd':
kotak[baris][kolom]=' ';
kolom++;
if(kolom>n-1){
kolom=n-1;
}
kotak[baris][kolom]='*';
break;
case 'w':
kotak[baris][kolom]=' ';
baris-=2;
if(baris<2){
baris=1;
}
kotak[baris][kolom]='*';
break;
default:
break;
}
}while(pil!='q');
return 0;
}
Pada tahap terakhir, kita melakukan pengecekan tombol inputan dari keyboard, sebagai berikut:
- a untuk bergerak ke-kiri, maka kolom dikurang 1. Kemudian dilakukan pengecekkan jika kolom<0 → kolom = 0, agar tidak terjadi kolom bernilai minus.
- d untuk bergerak ke-kanan, maka kolom ditambah 1. Kemudian dilakukan pengecekkan jika kolom>jumlah kolom → kolom = jumlah kolom, agar tidak terjadi bintang keluar dari jalur.
- w untuk bergerak ke-atas, maka kolom dikurang 2 agar melewati pagar. Kemudian dilakukan pengecekkan jika baris<2 → baris= 1, agar tidak terjadi baris bernilai minus.
- s untuk bergerak ke-bawah, maka kolom ditambah 2 agar melewati pagar. Kemudian dilakukan pengecekkan jika baris>jumlah baris → baris= jumlah baris, agar tidak terjadi bintang keluar dari jalur.
- q untuk keluar dari program.
Jika kita menekan tombol selain diatas maka tidak melakukan apa-apa. Cukup sekian penjelasan dari saya, jika ada penjelasan yang tidak mengerti bisa ditanyakan pada kolom komentar. Terima kasih telah membaca artikel saya. :)