Seperti judul yang saya buat saya
akan mengenalkan bahasa pemrograman C++ yang dapat membuat game sederhana, dari
sinilah game-game saat ini muncul yaitu mulai dari bahasa sederhana yang
digunakan hingga sekompleks saat ini.....
marilah kita belajar cara pembuatan
game bagian 1 ini, yang pertama kita lakukan adalah men-download compiler
C++ saya sarankan borland C++ agar dapat dengan mudah mengikuti tutorial ini
lalu install pada komputer anda.
Pada bagian 1 ini saya akan
memberitahu bagaimana game sederhana layaknya pencocokan gambar yang sama
dengan menebak gambar pada posisi tertutup yang saya beri judul Permainan
Tebak Angka
- bukalah borland C++
- pilih menu file->New->edit text untuk membuka
halaman
- masukkan kode berikut
- #include <stdio.h>
#include <conio.h>
void check(int b[4][4],int a[4][4]);
void inisial();
void tampil(int b[4][4]);
void play(int b[4][4],int a[4][4]);
void check(int b[4][4],int a[4][4]);
/*=============FUNGSI UTAMA================*/
void main(){
inisial(); //pemanggilan fungsi inisial
getch();
}
/*=============FUNGSI INISIALISASI ARRAY a DAN b================*/
void inisial(){
int a[4][4]={{1,1,2,2},{3,3,4,4},{5,5,6,6},{7,7,8,8}};
int b[4][4]={{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}};
play(b,a);//pemanggilan fungsi play dengan parameter array a dan b
}
/*=============FUNGSI TAMPILAN PERMAINAN================*/
void tampil(int b[4][4]){
printf("==================================== ======================================\n\n");
printf("\t\t\tPermainan Tebak Angka\n");
printf("==================================== ======================================\n\n");
printf("*********************************\n*\t*\t*\t*\t*\n");
printf("* %d * %d * %d * %d *\n*\t*\t*\t*\t*\n",b[0][0],b[0][1],b[0][2],b[0][3]);
printf("*********************************\n*\t*\t*\t*\t*\n");
printf("* %d * %d * %d * %d *\n*\t*\t*\t*\t*\n",b[1][0],b[1][1],b[1][2],b[1][3]);
printf("*********************************\n*\t*\t*\t*\t*\n");
printf("*
%d * %d * %d * %d *\n*\t*\t*\t*\t*\n",b[2][0],b[2][1],b[2][2],b[2][3]);
printf("*********************************\n*\t*\t*\t*\t*\n");
printf("* %d * %d * %d * %d *\n*\t*\t*\t*\t*\n",b[3][0],b[3][1],b[3][2],b[3][3]);
printf("*********************************\n");
}
/*=============FUNGSI PERMAINAN DIMULAI================*/
void play(int b[4][4],int a[4][4]){
int kolom1,baris1,kolom2,baris2;
clrscr();
tampil(b);//pemanggilan fungsi tampil dengan parameter array b
printf("Masukkan baris dan kolom, Tebak Angka 1\n");
printf("baris : ");
scanf("%d",&baris1);
printf("kolom : ");
scanf("%d",&kolom1);
b[baris1-1][kolom1-1]=a[baris1-1][kolom1-1];
tampil(b);
clrscr();
tampil(b);
printf("Masukkan baris dan kolom, Tebak Angka 2\n");
printf("baris : ");
scanf("%d",&baris2);
printf("kolom : ");
scanf("%d",&kolom2);
b[baris2-1][kolom2-1]=a[baris2-1][kolom2-1];
if(b[baris1-1][kolom1-1]==b[baris2-1][kolom2-1]){
clrscr();
tampil(b);
}else{b[baris2-1][kolom2-1]=0;
b[baris1-1][kolom1-1]=0;
clrscr();
tampil(b);
}
check(b,a);//pemanggilan fungsi check
}
/*=============FUNGSI PROSES PENGECEKKAN================*/
void check(int b[4][4],int a[4][4]){
if((b[0][0]==a[0][0])&&(b[0][1]==a[0][1])&&( b[0][2]==a[0][2])&&(b[0][3]==a[0][3])&&(b[1 ][0]==a[1][0])&&(b[1][1]==a[1][1])&&(b[1][2 ]==a[1][2])&&(b[1][3]==a[1][3])&&(b[2][0]== a[2][0])&&(b[2][1]==a[2][1])&&(b[2][2]==a[2 ][2])&&(b[2][3]==a[2][3])&&(b[3][0]==a[3][0 ])&&(b[3][1]==a[3][1])&&(b[3][2]==a[3][2])&&(b[3][3]==a[3][3]))
{
printf("SELAMAT ANDA MENANG!!!\n\n");
printf("Ingin mencoba lagi tekan y");
if(getch()=='y'||getch()=='Y')inisial();//kembali memberikan nilai nol pada array b
else getch();//keluar
}
else play(b,a);
}
printf("*********************************\n*\t*\t*\t*\t*\n");
printf("* %d * %d * %d * %d *\n*\t*\t*\t*\t*\n",b[3][0],b[3][1],b[3][2],b[3][3]);
printf("*********************************\n");
}
/*=============FUNGSI PERMAINAN DIMULAI================*/
void play(int b[4][4],int a[4][4]){
int kolom1,baris1,kolom2,baris2;
clrscr();
tampil(b);//pemanggilan fungsi tampil dengan parameter array b
printf("Masukkan baris dan kolom, Tebak Angka 1\n");
printf("baris : ");
scanf("%d",&baris1);
printf("kolom : ");
scanf("%d",&kolom1);
b[baris1-1][kolom1-1]=a[baris1-1][kolom1-1];
tampil(b);
clrscr();
tampil(b);
printf("Masukkan baris dan kolom, Tebak Angka 2\n");
printf("baris : ");
scanf("%d",&baris2);
printf("kolom : ");
scanf("%d",&kolom2);
b[baris2-1][kolom2-1]=a[baris2-1][kolom2-1];
if(b[baris1-1][kolom1-1]==b[baris2-1][kolom2-1]){
clrscr();
tampil(b);
}else{b[baris2-1][kolom2-1]=0;
b[baris1-1][kolom1-1]=0;
clrscr();
tampil(b);
}
check(b,a);//pemanggilan fungsi check
}
/*=============FUNGSI PROSES PENGECEKKAN================*/
void check(int b[4][4],int a[4][4]){
if((b[0][0]==a[0][0])&&(b[0][1]==a[0][1])&&( b[0][2]==a[0][2])&&(b[0][3]==a[0][3])&&(b[1 ][0]==a[1][0])&&(b[1][1]==a[1][1])&&(b[1][2 ]==a[1][2])&&(b[1][3]==a[1][3])&&(b[2][0]== a[2][0])&&(b[2][1]==a[2][1])&&(b[2][2]==a[2 ][2])&&(b[2][3]==a[2][3])&&(b[3][0]==a[3][0 ])&&(b[3][1]==a[3][1])&&(b[3][2]==a[3][2])&&(b[3][3]==a[3][3]))
{
printf("SELAMAT ANDA MENANG!!!\n\n");
printf("Ingin mencoba lagi tekan y");
if(getch()=='y'||getch()=='Y')inisial();//kembali memberikan nilai nol pada array b
else getch();//keluar
}
else play(b,a);
}
- Setelah menulis kode diatas pilih menu
project->compile
- Setelah itu pilih menu script->run
- mainkan program tersebut dengan memasukkan baris dan
kolom untuk mencari angka yang sama jika salah memilih angka kedua maka
angka pertama ikut berubah menjadi 0 kembali
Sumber: http://id.shvoong.com/how-to/writing/2073641-cara-membuat-game-sederhana-dengan/#ixzz1gzbnQzyx
Pada tulisan kali ini yaitu cara membuat game sederhana
dengan C++ bagian 2 saya akan memberikan beberapa tambahan saja. Sebelumnya
telah saya berikan source code permainan tebak angka pada bagian 1 yang tidak
memiliki skor ataupun rekapitulasi permainan (mencetak nama pemain beserta
nilai skor yang diperoleh), padahal suatu game atau permainan selalu memiliki
nilai berupa skor. Sebenarnya penambahan kali ini hanya beberapa saja, yaitu
bertujuan untuk melengkapi beberapa bagian dari game itu sendiri. Pada saat
permainan dimulai hingga permainan selesai, itulah yang akan menjadi skor untuk
permainan tebak angka ini, dimana pemain berupaya untuk memperoleh waktu
tercepat. Sekarang mari kita lihat source code berikut:
|
#include <stdio.h>
#include <iostream.h> #include <conio.h> #include <dos.h> //header untuk mengatur sleep #include <time.h> //header time /*========STRUCT DECLARATION======*/ struct game{ char name[20]; float total; };typedef struct game game; void check(int b[4][4],int a[4][4]); void information(); void tampil(int b[4][4]); void play(int b[4][4],int a[4][4],time_t c, game gm); void check(int b[4][4],int a[4][4],time_t c, game gm); /*=============FUNGSI UTAMA================*/ void main(){ information(); //pemanggilan fungsi informasi getch(); } /*=============FUNGSI INISIALISASI ARRAY a DAN b================*/ void information(){ game gm; int a[4][4]={{1,1,2,2},{3,3,4,4},{5,5,6,6},{7,7,8,8}}; int b[4][4]={{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}}; time_t c; printf("Informasi permainan:\n"); printf("--------------------\n"); printf("Nama Pemain : "); gets(gm.name); c = time(NULL);//catat waktu saat ini play(b,a,c,gm);//pemanggilan fungsi play dengan parameter array a dan b } /*=============FUNGSI TAMPILAN PERMAINAN================*/ void tampil(int b[4][4]){ printf("==================================== ======================================\n"); printf("\t\t\tPermainan Tebak Angka\n"); printf("==================================== ======================================\n\n"); printf("*********************************\n*\t*\t*\t*\t*\n"); printf("* %d * %d * %d * %d *\n*\t*\t*\t*\t*\n",b[0][0],b[0][1],b[0][2],b[0][3]); printf("*********************************\n*\t*\t*\t*\t*\n"); printf("* %d * %d * %d * %d *\n*\t*\t*\t*\t*\n",b[1][0],b[1][1],b[1][2],b[1][3]); printf("*********************************\n*\t*\t*\t*\t*\n"); printf("* %d * %d * %d * %d *\n*\t*\t*\t*\t*\n",b[2][0],b[2][1],b[2][2],b[2][3]); printf("*********************************\n*\t*\t*\t*\t*\n"); printf("* %d * %d * %d * %d *\n*\t*\t*\t*\t*\n",b[3][0],b[3][1],b[3][2],b[3][3]); printf("*********************************\n"); } /*=============FUNGSI PERMAINAN DIMULAI================*/ void play(int b[4][4],int a[4][4],time_t c,game gm){ int kolom1,baris1,kolom2,baris2; //Tebak angka ke-1 clrscr(); tampil(b);//pemanggilan fungsi tampil dengan parameter array b printf("Masukkan baris dan kolom, Tebak Angka 1\n");
printf("baris : ");
scanf("%d",&baris1); printf("kolom : "); scanf("%d",&kolom1); if(kolom1>4 || baris1>4 ){clrscr(); printf("Maaf angka anda melebihi batas"); sleep(1); play(b,a,c,gm);} if(b[baris1-1][kolom1-1]!=0){ printf("Maaf baris %d kolom %d telah terisi\a",baris1,kolom1); sleep(1); play(b,a,c,gm); } b[baris1-1][kolom1-1]=a[baris1-1][kolom1-1]; tampil(b); //Tebak angka ke-2 clrscr(); tampil(b); printf("Masukkan baris dan kolom, Tebak Angka 2\n"); printf("baris : "); scanf("%d",&baris2); printf("kolom : "); scanf("%d",&kolom2); if(kolom2>4 || baris2>4 ){clrscr(); printf("Maaf angka anda melebihi batas"); sleep(1); }else if(b[baris2-1][kolom2-1]!=0){ printf("Maaf baris %d kolom %d telah terisi\a",baris1,kolom1); sleep(1); b[baris1-1][kolom1-1]=0; play(b,a,c,gm); } b[baris2-1][kolom2-1]=a[baris2-1][kolom2-1]; if(b[baris1-1][kolom1-1]==b[baris2-1][kolom2-1]){ clrscr(); tampil(b); }else{b[baris2-1][kolom2-1]=0; b[baris1-1][kolom1-1]=0; clrscr(); tampil(b); } check(b,a,c,gm);//pemanggilan fungsi check } /*=============FUNGSI PROSES PENGECEKKAN================*/ void check(int b[4][4],int a[4][4],time_t c, game gm){ time_t d; if((b[0][0]==a[0][0])&&(b[0][1]==a[0][1])&&( b[0][2]==a[0][2])&&(b[0][3]==a[0][3])&&(b[1 ][0]==a[1][0])&&(b[1][1]==a[1]1])&&(b[1][2] ==a[1][2])&&(b[1][3]==a[1][3])&&(b[2][0]==a [2][0])&&(b[2][1]==a[2][1])&&(b[2][2]==a[2] [2])&&(b[2][3]==a[2][3])&&(b[3][0]==a[3][0] )&&(b[3][1]==a[3][1])&&(b[3][2]==a[3][2])&&(b[3][3]==a[3][3])) { d = time(NULL);//catat waktu saat ini printf("Permainan selesai .....\n\n"); printf("Apakah anda ingin bermain lagi <Y/N>"); gm.total = difftime(d,c); if(getch()=='y'||getch()=='Y'){information();//kembali memberikan nilai nol pada array b }else if(getch()=='n'){ printf("\nRekapitulasi permainan:\n"); printf("-----------------------\n"); printf("Nama: %s\tWaktu: %f detik",gm.name,gm.total); } } else play(b,a,c,gm); } //end_of_main |
oke.....coba pelajari dan utak-utik dulu aja.......^^.....maav bila kata-kata yang saya buat kurang jelas saya cuma ingin membagi pengalaman.......terima kasih.....oh ya bagian final yang ketiga akan saya buat mungkin cukup lama karena masih banyak tugas yang harus saya kerjakan...hehehehe....(^_^ )
Tidak ada komentar:
Posting Komentar