![]() |
Cara Membuat Game Snake dari Bahasa C++ Dan Program Lainnya #15 |
Program cpp untuk program akuntansi
#include <iostream>
using namespace std;
int main()
{
cout << "\t\t\tPT.BRAIN REVOLUTION \n";
cout << "\t\t\t JURNAL UMUM\n";
cout << "\t\t\t JUNI 2018\n\n";
cout << "\t\t\tTIDAK MEMAKAI <SPASI> TAPI (_)\n";
char a[100],m[100],b[50];
int i,n,t;
long d,k,tot=0,total=0;
cout << "\n\nMasukan Jumlah Transaksi : "; cin >> n;
for (i=1;i<=n;i++) {
cout << "Memo \t : "; cin >> m ;
cout << "Tanggal : "; cin >> t;
cout << "Bulan \t : "; cin >> b;
cout << "Account : "; cin >> a;
cout << " (D) Rp "; cin >> d;
cout << "\t\t"; cin >> a;
cout << " (K) Rp "; cin >> k;
tot= tot+d;
total=total+k;
}
cout << "\t\t--------------------------------- (+)\n";
cout << "\t\t\t(D) = Rp " << tot ;
cout << "\n\t\t\t\t\t (K) = Rp " << total ;
if (tot==total)
cout << "\n\n\t\t >>>>>>BALANCE<<<<<<";
else
cout << "\n\n\t\t>>>>>>TIDAK BALANCE<<<<<<\n\n\n";
cout << "\n\n\n\t\t\t PT.BRAIN REVOLUTION \n";
cout << "\t\t\t LAPORAN NERACA\n";
cout << "\t\t\t JUNI 2018\n\n";
cout << "\t\t\tTIDAK MEMAKAI <SPASI> TAPI (_)\n";
char ab[100];
int ii,nn;
long dd,j=0;
cout << "\n\n 1. AKTIVA ";
cout << "\n\nMasukan Jumlah Transaksi : "; cin >> nn;
for (ii=1;ii<=nn;ii++) {
cout << "Account : "; cin >> ab;
cout << " Rp "; cin >> dd;
j= j+dd;
}
cout << "\t\t--------------------------------- (+)\n";
cout << "jumlah\t\t\t\tRp " << j ;
char u[100];
int s,f;
long e,r=0;
cout << "\n\n 2. PASIVA ";
cout << "\n\nMasukan Jumlah Transaksi : "; cin >> f;
for (s=1;s<=f;s++) {
cout << "Account : "; cin >> u;
cout << " Rp "; cin >> e;
r= r+e;
}
cout << "\t\t--------------------------------- (+)\n";
cout << "jumlah\t\t\t\tRp " << r ;
char we[100];
int z,g;
long es,re=0;
cout << "\n\n 3. MODAL ";
cout << "\n\nMasukan Jumlah Transaksi : "; cin >> g;
for (z=1;z<=g;z++) {
cout << "Account : "; cin >> we;
cout << " Rp "; cin >> es;
re= re+es;
}
cout << "\t\t--------------------------------- (+)\n";
cout << "jumlah\t\t\t\tRp " << re ;
}
=======================================================
Membuat Program Kasir dengan C++
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int menu,totalHarga,diskon,jmlhHarga;
int UngPembyaran,Kembalian,hasil;
char jawab;
do
{
cout<<" _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ "<<endl;
cout<<" "<<endl;
cout<<" PT BRAIN REVOLUTION "<<endl;
cout<<" JL.GIRI DHARMA CAMPLIK NO. 9 UNGASAN KUTA SELATAN "<<endl;
cout<<" andiearjawa@yahoo.co.id "<<endl;
cout<<" "<<endl;
cout<<" _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ "<<endl<<endl;
cout<<" . MENU TRANSAKSI BARANG . \n\n";
cout<<" 1.Member \n";
cout<<" 2.Bukan Member \n\n";
cout<<"Silahkan Pilih Menu 1-2 ! :";cin>>menu;
cout<<"________________________________________\n";
cout<<"\n\n";
if (menu==1)
{
cout<<"Selamt Anda Mendapatkan Tambahan diskon 5%\n";
cout<<"Masukan Total Harga :Rp. ";cin>>totalHarga;
if (totalHarga >100000 && totalHarga<=200000)
{
jmlhHarga =totalHarga-totalHarga*15/100;
cout<<"Anda Mendapatkan Total diskon 15% dari tambahan diskon 5%\n";
cout<<"__________________________________\n";
cout<<"\n";
cout<<"Jumlah Pembayaran : Rp."<<jmlhHarga;
}
else if (totalHarga >200000 && totalHarga<=300000)
{
jmlhHarga =totalHarga-totalHarga*20/100;
cout<<"Anda Mendapatkan Total diskon 15% dari tambahan diskon 5%\n";
cout<<"__________________________________\n";
cout<<"\n";
cout<<"Jumlah Pembayaran : Rp."<<jmlhHarga;
}
else if (totalHarga > 300000)
{
jmlhHarga =totalHarga-totalHarga*25/100;
cout<<"Anda Mendapatkan Total diskon 15% dari tambahan diskon 5%\n";
cout<<"__________________________________\n";
cout<<"\n";
cout<<"Jumlah Pembayaran : Rp."<<jmlhHarga;
}
else if(totalHarga<=100000)
{
cout<<"\n";
cout<<"______________________________________________________"<<endl;
cout<<"| Maaf Anda tidak mendapatkan Diskon |\n";
cout<<"| Dikarnakan Total Belanja Tidak Lebih dari Rp.100000|\n";
cout<<"______________________________________________________\n"<<endl;
cout<<"Totalh Harga : Rp."<<totalHarga;
jmlhHarga=totalHarga;
}
}
else if(menu==2)
{
cout<<"Masukan Total Harga : Rp.";cin>>totalHarga;
if (totalHarga >100000 && totalHarga<=200000)
{
jmlhHarga =totalHarga-totalHarga*10/100;
cout<<"Anda Mendapatkan diskon 10%\n";
cout<<"__________________________________\n";
cout<<"\n";
cout<<"Jumlah Pembayaran : Rp."<<jmlhHarga;
}
else if (totalHarga >200000 && totalHarga<=300000)
{
jmlhHarga =totalHarga-totalHarga*15/100;
cout<<"Anda Mendapatkan diskon 15%\n";
cout<<"__________________________________\n";
cout<<"\n";
cout<<"Jumlah Pembayaran : Rp."<<jmlhHarga;
}
else if (totalHarga > 300000)
{
jmlhHarga =totalHarga-totalHarga*20/100;
cout<<"Anda Mendapatkan diskon 20%\n";
cout<<"__________________________________\n";
cout<<"\n";
cout<<"Jumlah Pembayaran : Rp."<<jmlhHarga;
}
else if(totalHarga<=100000)
{
jmlhHarga=totalHarga;
}
}
else if(menu!=1 && menu!=2)
{
cout<<"Maaf Harusnya memilih angka 1&2";
}
cout<<"\n";
cout<<"Uang Pembayaran : Rp.";cin>>UngPembyaran;
Kembalian=UngPembyaran-jmlhHarga;
cout<<"__________________________________ -\n";
cout<<"Uang Kembalian : Rp."<<Kembalian;
cout<<"\n\n";
if (UngPembyaran<jmlhHarga)
{
hasil=(Kembalian)*-1;
cout<<"Pembayaran Anda Kurang: Rp."<<hasil;
}
cout<<"\n\n";
cout<<"Apakah akan memlih menu transaksi lagi? (Y/T)";cin>>jawab;
}
while(jawab=='y' || jawab=='Y');
cout<<" . Terimakasih Atas Kunujungannya! . \n\n"<<endl;
cout<<" by:Mr. Brain Revolution";
getch();
}
=======================================================
Membuat Game RPG Sederhana Dengan C++
1. Sekilas Tentang Game
Ada banyak genre game di dunia ini, tapi kita mengatakannya cuma game tembak-tembakan,game petualangan, game strategi. Tapi sebenarnya ada nama lain dari jenis game yang saya sebutkan di atas. Disini saya bahas sedikit mengenai jenis game yang paling pupuler
#include <iostream>
using namespace std;
int main()
{
cout << "\t\t\tPT.BRAIN REVOLUTION \n";
cout << "\t\t\t JURNAL UMUM\n";
cout << "\t\t\t JUNI 2018\n\n";
cout << "\t\t\tTIDAK MEMAKAI <SPASI> TAPI (_)\n";
char a[100],m[100],b[50];
int i,n,t;
long d,k,tot=0,total=0;
cout << "\n\nMasukan Jumlah Transaksi : "; cin >> n;
for (i=1;i<=n;i++) {
cout << "Memo \t : "; cin >> m ;
cout << "Tanggal : "; cin >> t;
cout << "Bulan \t : "; cin >> b;
cout << "Account : "; cin >> a;
cout << " (D) Rp "; cin >> d;
cout << "\t\t"; cin >> a;
cout << " (K) Rp "; cin >> k;
tot= tot+d;
total=total+k;
}
cout << "\t\t--------------------------------- (+)\n";
cout << "\t\t\t(D) = Rp " << tot ;
cout << "\n\t\t\t\t\t (K) = Rp " << total ;
if (tot==total)
cout << "\n\n\t\t >>>>>>BALANCE<<<<<<";
else
cout << "\n\n\t\t>>>>>>TIDAK BALANCE<<<<<<\n\n\n";
cout << "\n\n\n\t\t\t PT.BRAIN REVOLUTION \n";
cout << "\t\t\t LAPORAN NERACA\n";
cout << "\t\t\t JUNI 2018\n\n";
cout << "\t\t\tTIDAK MEMAKAI <SPASI> TAPI (_)\n";
char ab[100];
int ii,nn;
long dd,j=0;
cout << "\n\n 1. AKTIVA ";
cout << "\n\nMasukan Jumlah Transaksi : "; cin >> nn;
for (ii=1;ii<=nn;ii++) {
cout << "Account : "; cin >> ab;
cout << " Rp "; cin >> dd;
j= j+dd;
}
cout << "\t\t--------------------------------- (+)\n";
cout << "jumlah\t\t\t\tRp " << j ;
char u[100];
int s,f;
long e,r=0;
cout << "\n\n 2. PASIVA ";
cout << "\n\nMasukan Jumlah Transaksi : "; cin >> f;
for (s=1;s<=f;s++) {
cout << "Account : "; cin >> u;
cout << " Rp "; cin >> e;
r= r+e;
}
cout << "\t\t--------------------------------- (+)\n";
cout << "jumlah\t\t\t\tRp " << r ;
char we[100];
int z,g;
long es,re=0;
cout << "\n\n 3. MODAL ";
cout << "\n\nMasukan Jumlah Transaksi : "; cin >> g;
for (z=1;z<=g;z++) {
cout << "Account : "; cin >> we;
cout << " Rp "; cin >> es;
re= re+es;
}
cout << "\t\t--------------------------------- (+)\n";
cout << "jumlah\t\t\t\tRp " << re ;
}
=======================================================
Membuat Program Kasir dengan C++
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int menu,totalHarga,diskon,jmlhHarga;
int UngPembyaran,Kembalian,hasil;
char jawab;
do
{
cout<<" _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ "<<endl;
cout<<" "<<endl;
cout<<" PT BRAIN REVOLUTION "<<endl;
cout<<" JL.GIRI DHARMA CAMPLIK NO. 9 UNGASAN KUTA SELATAN "<<endl;
cout<<" andiearjawa@yahoo.co.id "<<endl;
cout<<" "<<endl;
cout<<" _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ "<<endl<<endl;
cout<<" . MENU TRANSAKSI BARANG . \n\n";
cout<<" 1.Member \n";
cout<<" 2.Bukan Member \n\n";
cout<<"Silahkan Pilih Menu 1-2 ! :";cin>>menu;
cout<<"________________________________________\n";
cout<<"\n\n";
if (menu==1)
{
cout<<"Selamt Anda Mendapatkan Tambahan diskon 5%\n";
cout<<"Masukan Total Harga :Rp. ";cin>>totalHarga;
if (totalHarga >100000 && totalHarga<=200000)
{
jmlhHarga =totalHarga-totalHarga*15/100;
cout<<"Anda Mendapatkan Total diskon 15% dari tambahan diskon 5%\n";
cout<<"__________________________________\n";
cout<<"\n";
cout<<"Jumlah Pembayaran : Rp."<<jmlhHarga;
}
else if (totalHarga >200000 && totalHarga<=300000)
{
jmlhHarga =totalHarga-totalHarga*20/100;
cout<<"Anda Mendapatkan Total diskon 15% dari tambahan diskon 5%\n";
cout<<"__________________________________\n";
cout<<"\n";
cout<<"Jumlah Pembayaran : Rp."<<jmlhHarga;
}
else if (totalHarga > 300000)
{
jmlhHarga =totalHarga-totalHarga*25/100;
cout<<"Anda Mendapatkan Total diskon 15% dari tambahan diskon 5%\n";
cout<<"__________________________________\n";
cout<<"\n";
cout<<"Jumlah Pembayaran : Rp."<<jmlhHarga;
}
else if(totalHarga<=100000)
{
cout<<"\n";
cout<<"______________________________________________________"<<endl;
cout<<"| Maaf Anda tidak mendapatkan Diskon |\n";
cout<<"| Dikarnakan Total Belanja Tidak Lebih dari Rp.100000|\n";
cout<<"______________________________________________________\n"<<endl;
cout<<"Totalh Harga : Rp."<<totalHarga;
jmlhHarga=totalHarga;
}
}
else if(menu==2)
{
cout<<"Masukan Total Harga : Rp.";cin>>totalHarga;
if (totalHarga >100000 && totalHarga<=200000)
{
jmlhHarga =totalHarga-totalHarga*10/100;
cout<<"Anda Mendapatkan diskon 10%\n";
cout<<"__________________________________\n";
cout<<"\n";
cout<<"Jumlah Pembayaran : Rp."<<jmlhHarga;
}
else if (totalHarga >200000 && totalHarga<=300000)
{
jmlhHarga =totalHarga-totalHarga*15/100;
cout<<"Anda Mendapatkan diskon 15%\n";
cout<<"__________________________________\n";
cout<<"\n";
cout<<"Jumlah Pembayaran : Rp."<<jmlhHarga;
}
else if (totalHarga > 300000)
{
jmlhHarga =totalHarga-totalHarga*20/100;
cout<<"Anda Mendapatkan diskon 20%\n";
cout<<"__________________________________\n";
cout<<"\n";
cout<<"Jumlah Pembayaran : Rp."<<jmlhHarga;
}
else if(totalHarga<=100000)
{
jmlhHarga=totalHarga;
}
}
else if(menu!=1 && menu!=2)
{
cout<<"Maaf Harusnya memilih angka 1&2";
}
cout<<"\n";
cout<<"Uang Pembayaran : Rp.";cin>>UngPembyaran;
Kembalian=UngPembyaran-jmlhHarga;
cout<<"__________________________________ -\n";
cout<<"Uang Kembalian : Rp."<<Kembalian;
cout<<"\n\n";
if (UngPembyaran<jmlhHarga)
{
hasil=(Kembalian)*-1;
cout<<"Pembayaran Anda Kurang: Rp."<<hasil;
}
cout<<"\n\n";
cout<<"Apakah akan memlih menu transaksi lagi? (Y/T)";cin>>jawab;
}
while(jawab=='y' || jawab=='Y');
cout<<" . Terimakasih Atas Kunujungannya! . \n\n"<<endl;
cout<<" by:Mr. Brain Revolution";
getch();
}
=======================================================
Membuat Game RPG Sederhana Dengan C++
1. Sekilas Tentang Game
Ada banyak genre game di dunia ini, tapi kita mengatakannya cuma game tembak-tembakan,game petualangan, game strategi. Tapi sebenarnya ada nama lain dari jenis game yang saya sebutkan di atas. Disini saya bahas sedikit mengenai jenis game yang paling pupuler
RTS (Real Time Strategi)
Game ini biasanya bersifat turn based ataupun bisa dimainkan secara bersamaan, identik dengan bermain melawan human intelegent (manusia vs manusia) yang biasanya menggunakan LAN ataupun Internet. Game ini bisa dikatakan game perang-perangan. Contoh game RTS adalah (DOTA, StarCraft, Civilization)
RPG (Role Playing Game)
Keunikan dari game ini yaitu tidak pernah tamat. Meskipun tamat paling hanya cerita nya saja atau leveling yang bias sesuka hati. Kita diperkenankan untuk mengelola sebuah karakter, mengatur keungan ataupun membangun koneksi. Contoh dari game ini yaitu (KOA, Skyrim, The Witcher)
FPS (First Person Shooter)
Ini sebenarnya nama genre dari game tembakan-tembakan. Kita menjalankan orang/person dengan sudut pandang orang pertama. Contoh dari game ini yaitu (call of duty, counter strike, far cry 3)
Sand Box
Game ini berlatar di suatu daerah yang kita dituntut untuk menjalankan sebuah misi yang telah ditentukan.Game ini memiliki banyak peminat karena kebebasan yang disuguhkan di dalamnya. Contoh dir game ini yaitu (GTA, Saint Row, Sleeping Dogs)
2. Membuat Game Sederhana
Dari sekian banyak genre game yang ada saya akan membagikan cara membuat game sederhana menggunakan c++ untukgenre RPG (Role Playing Game)
============================================================
#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;
char Map[10][10] = {"#########",
"# # !#",
"##### ###",
"## # #",
"## #### #",
"# # #",
"# # #",
"#@# #",
"#########"};
int Gamespeed = 100;
int Level = 0;
bool stopgame = false;
int main ()
{
while (stopgame == false && Level==0)
{
system("cls");
for (int y= 0;y<10;y++)
{
cout << Map[y] << endl;
}
for (int y= 0;y<10;y++)
{
for (int x = 0; x<10; x++)
{
switch (Map[y][x])
{
case '#':
{
Map[y][x] = 219;
}break;
case '@':
{
if (GetAsyncKeyState(VK_UP) !=0)
{
int y2 = (y-1);
switch(Map[y2][x])
{
case ' ' :
{
Map[y][x] = ' ';
y-=1;
Map[y2][x]='@';
} break;
case '!' :
{
Level = 1;
} break;
}
}
if (GetAsyncKeyState(VK_DOWN) !=0)
{
int y2 = (y+1);
switch(Map[y2][x])
{
case ' ' :
{
Map[y][x] = ' ';
y+=1;
Map[y2][x]='@';
} break;
case '!' :
{
Level = 1;
} break;
}
}
if (GetAsyncKeyState(VK_RIGHT) !=0)
{
int x2 = (x+1);
switch(Map[y][x2])
{
case ' ' :
{
Map[y][x] = ' ';
x+=1;
Map[y][x2]='@';
} break;
case '!' :
{
Level = 1;
} break;
}
}
if (GetAsyncKeyState(VK_LEFT) !=0)
{
int x2 = (x-1);
switch(Map[y][x2])
{
case ' ' :
{
Map[y][x] = ' ';
x-=1;
Map[y][x2]='@';
} break;
case '!' :
{
Level = 1;
} break;
}
}
}break;
}
}
}
Sleep(Gamespeed);
}
while (stopgame == false && Level==1)
{
system ("cls");
cout << "Level 2 Goes Here" << endl;
system("pause");
return EXIT_SUCCESS;
}
exit (1);
getch ();
}
============================================================
Cara Membuat Game Snake dari Bahasa C++
Disaat kesibukan yang melelahkan, tidak salah juga kalau kita merefresh otak dan juga menambah pengetahuan nih gan. Di sini saya membuat game snake berbasis C++ console. Tidak panjang lebar Source Code beserta contoh aplikasinya. Untuk Pertanyaan dan Saran silahkan tinggalkan komentar di bawah ini. Thanks for Visit.
#include <iostream>
#include <windows.h> //menggunakan gotoxy, GetAsyncKeyState,
//dan beberapa fungsi lainnya
//Awal pendeklarasian beberapa konstanta
#define batas_atas 2 //batas_atas game
#define batas_bawah 23 //batas_bawah_game
#define batas_samping 2 // batas samping kiri game
#define batas_samping_k 78 //batas samping kanan game
//Akhir pendeklarasian konstanta
using namespace std;
//pendeklarasian variabel
int iX(5), iY(5), x1 (4), y1 (4), xHapus(3), yHapus(3), veloX(1), veloY(0)
,ekorsX[200], ekorsY[200], nEkor = 5, start = 0, makX, makY;
void gotoxy(int x, int y) //Void untuk gotoxy, memindahkan kursor pada console
{
COORD pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
void naik() //untuk gerak Snake ke atas
{
veloY = -1; //Kecepatan Y menjadi ke atas
veloX = 0; //kecepatan X dinolkan
}
void turun()
{
veloY = 1; //sda
veloX = 0; //sda
}
void samping()
{
veloX = -1; //sda
veloY = 0; //sda
}
void samping_k()
{
veloX = 1; //sda
veloY = 0; //sda
}
void hapus()
{
gotoxy(xHapus, yHapus); //untuk menghapus bagian yang sudah dilewati
cout << " ";
}
void ekor()
{
for(int j = 0; j <= 2; j++)
{
gotoxy(ekorsX[j], ekorsY[j]);
cout << "+";
}
}
void tampil()
{
gotoxy(iX, iY); //iX dan iY adalah posisi gambar kepala
cout << char(2); //untuk menggambar gambar kepala
//karena ascii dari smiley tsb adalh 2
gotoxy(makX, makY);
//nilai makX dan makY adalah random
//digunakan untuk posisi makanan, jadi posisi makanan random
cout << "*"; //gambar makanan
}
void ganti_posisi() //mengganti posisi dari ekor ekor snake
{
xHapus = ekorsX[nEkor - 1];
yHapus = ekorsY[nEkor - 1];
for(int j = nEkor - 1; j >= 1; j--)
{
ekorsX[j] = ekorsX[j-1];
ekorsY[j] = ekorsY[j-1];
}
ekorsX[0] = iX;
ekorsY[0] = iY;
}
void velo() //fungsi untuk melakukan update posisi snake sesuai tombol
//yang ditekan
{
ganti_posisi();
hapus();
iX += veloX;
iY += veloY;
tampil();
ekor();
}
/*void trace()
{
for(int j = 0; j <= nEkor -1; j++)
{
cout << "x" << j << " y"<< j<< " = " << ekorsX[j] << "," << ekorsY[j];
cout << " // " << iX << "," << iY << endl;
}
system("pause");
system("cls");
}*/
bool isDestroy()
{
//selain untuk mencek apakah snake sudah kalah
//fungsi ini juga menghapus kepala snake yang tersisa jika membentur dinding
if(iX == batas_samping_k) { iX = 3; gotoxy(78, iY); cout << " "; }
if(iX == batas_samping) { iX = 77; gotoxy(2, iY); cout << " "; }
if(iY == batas_atas) { iY = 22; gotoxy(iX, 2); cout << " "; }
if(iY == batas_bawah) { iY = 3; gotoxy(iX, 23); cout << " "; }
//trace();
for(int j = 0; j <= nEkor - 1; j++)
if(ekorsX[j] == iX && ekorsY[j] == iY) return true;
return false;
}
char getkey()//fungsi untuk mendapatkan tombol yang ditekan
{
for(int i = 8; i <= 222; i++)
{
if(GetAsyncKeyState(i) == -32767)
{
switch(i)
{
case 38 : if(veloY != 1)naik();
break;//jika tombol yang ditekan adalah atas
case 40 : if(veloY != -1)turun();
break; //jika tombol yang ditekan adalah bawah
case 37 : if(veloX != 1)samping();
break; //jika tombol yang ditekan adalah kiri
case 39 : if(veloX != -1)samping_k();
break; //jika tombol yang ditekan adalah kanan
}
}
}
}
void random_makanan()
{
makX = rand()%(batas_samping_k - 1);
if(makX < 4) makX += 3 + (4-makX); //mencegah agar makanan tidak diluar batas
makY = rand()%(batas_bawah - 1);
if(makY < 4) makY += 3 + (4-makY);
gotoxy(makX, makY);
cout << "*";
}
bool isEaten()
{
if(iX == makX && iY == makY) return true; else return false;
}
void cBorder() //Fungsi untuk membuat garis tepi game
{
for(int i = 1; i <= 78; i++)
{
for(int j = 1; j <= 24; j += 23)
{
if(j > 1 || i >= 32)
{
gotoxy(i, j);cout << char(219);
}
}
}
for(int i = 1; i <= 24; i++)
{
for(int k = 1; k <= 80; k += 78)
{
gotoxy(k, i); cout << char(219);
}
}
}
//akhir pembuatan garis tepi
//Penulisan Skor
void skor()
{
gotoxy(3,1); cout << "Skor : ";
gotoxy(18,1); cout << "Panjang : ";
}
//Untuk menulis skor terbaru dan panjang dari snake
void tulis_skor()
{
gotoxy(11,1); cout << (nEkor - 5) * 10;
gotoxy(28,1); cout << nEkor;
}
//Fungsi yang menjalankan beberapa fungsi yang berjalan
//pada awal program, hanya sekali
void inisialisasi()
{
cBorder(); //buat pinggiran game
random_makanan(); //letakkan makanan secara random
skor(); //tulis tulisan skor di tepi atas
tulis_skor(); //menulis skor
}
int main() //fungsi Utama
{
system("cls"); //membersihkan layar
inisialisasi(); //menjalankan fungsi inisialisasi
while(!(isDestroy())) //selama snake belum rusak atau kalah
{
velo(); //merubah posisi snake berdasarkan kecepatan X atau Y
getkey(); //untuk mendapatkan tombol apa yang ditekan user dan
//menjalankan beberapa fungsi yang diperlukan
if(isEaten())//mencek apakah makanan telah dilalap oleh snake
{
nEkor += 2; //panjang ekor ditambah 2
random_makanan(); //makanan diletakkan lagi
tulis_skor();//skor di update
}
Sleep(40 - (nEkor / 10)); //delay yang semakin cepat dengan penambahan ekor
}
system("cls"); //layar dibersihkan
gotoxy(32,12); cout << "Skor : " << (nEkor - 5) * 10; //ditampilkan skor
gotoxy(25,13);
system("pause"); //selesai
}
Semoga Bermanfaat (y). Bila kurang paham step-stepnya tanyakan saja. Terima kasih.
============================================================
Dre@ming Media______________
Mr. Brain Revolution
Game ini biasanya bersifat turn based ataupun bisa dimainkan secara bersamaan, identik dengan bermain melawan human intelegent (manusia vs manusia) yang biasanya menggunakan LAN ataupun Internet. Game ini bisa dikatakan game perang-perangan. Contoh game RTS adalah (DOTA, StarCraft, Civilization)
RPG (Role Playing Game)
Keunikan dari game ini yaitu tidak pernah tamat. Meskipun tamat paling hanya cerita nya saja atau leveling yang bias sesuka hati. Kita diperkenankan untuk mengelola sebuah karakter, mengatur keungan ataupun membangun koneksi. Contoh dari game ini yaitu (KOA, Skyrim, The Witcher)
FPS (First Person Shooter)
Ini sebenarnya nama genre dari game tembakan-tembakan. Kita menjalankan orang/person dengan sudut pandang orang pertama. Contoh dari game ini yaitu (call of duty, counter strike, far cry 3)
Sand Box
Game ini berlatar di suatu daerah yang kita dituntut untuk menjalankan sebuah misi yang telah ditentukan.Game ini memiliki banyak peminat karena kebebasan yang disuguhkan di dalamnya. Contoh dir game ini yaitu (GTA, Saint Row, Sleeping Dogs)
2. Membuat Game Sederhana
Dari sekian banyak genre game yang ada saya akan membagikan cara membuat game sederhana menggunakan c++ untukgenre RPG (Role Playing Game)
============================================================
#include <iostream>
#include <windows.h>
#include <conio.h>
using namespace std;
char Map[10][10] = {"#########",
"# # !#",
"##### ###",
"## # #",
"## #### #",
"# # #",
"# # #",
"#@# #",
"#########"};
int Gamespeed = 100;
int Level = 0;
bool stopgame = false;
int main ()
{
while (stopgame == false && Level==0)
{
system("cls");
for (int y= 0;y<10;y++)
{
cout << Map[y] << endl;
}
for (int y= 0;y<10;y++)
{
for (int x = 0; x<10; x++)
{
switch (Map[y][x])
{
case '#':
{
Map[y][x] = 219;
}break;
case '@':
{
if (GetAsyncKeyState(VK_UP) !=0)
{
int y2 = (y-1);
switch(Map[y2][x])
{
case ' ' :
{
Map[y][x] = ' ';
y-=1;
Map[y2][x]='@';
} break;
case '!' :
{
Level = 1;
} break;
}
}
if (GetAsyncKeyState(VK_DOWN) !=0)
{
int y2 = (y+1);
switch(Map[y2][x])
{
case ' ' :
{
Map[y][x] = ' ';
y+=1;
Map[y2][x]='@';
} break;
case '!' :
{
Level = 1;
} break;
}
}
if (GetAsyncKeyState(VK_RIGHT) !=0)
{
int x2 = (x+1);
switch(Map[y][x2])
{
case ' ' :
{
Map[y][x] = ' ';
x+=1;
Map[y][x2]='@';
} break;
case '!' :
{
Level = 1;
} break;
}
}
if (GetAsyncKeyState(VK_LEFT) !=0)
{
int x2 = (x-1);
switch(Map[y][x2])
{
case ' ' :
{
Map[y][x] = ' ';
x-=1;
Map[y][x2]='@';
} break;
case '!' :
{
Level = 1;
} break;
}
}
}break;
}
}
}
Sleep(Gamespeed);
}
while (stopgame == false && Level==1)
{
system ("cls");
cout << "Level 2 Goes Here" << endl;
system("pause");
return EXIT_SUCCESS;
}
exit (1);
getch ();
}
============================================================
Cara Membuat Game Snake dari Bahasa C++
Disaat kesibukan yang melelahkan, tidak salah juga kalau kita merefresh otak dan juga menambah pengetahuan nih gan. Di sini saya membuat game snake berbasis C++ console. Tidak panjang lebar Source Code beserta contoh aplikasinya. Untuk Pertanyaan dan Saran silahkan tinggalkan komentar di bawah ini. Thanks for Visit.
#include <iostream>
#include <windows.h> //menggunakan gotoxy, GetAsyncKeyState,
//dan beberapa fungsi lainnya
//Awal pendeklarasian beberapa konstanta
#define batas_atas 2 //batas_atas game
#define batas_bawah 23 //batas_bawah_game
#define batas_samping 2 // batas samping kiri game
#define batas_samping_k 78 //batas samping kanan game
//Akhir pendeklarasian konstanta
using namespace std;
//pendeklarasian variabel
int iX(5), iY(5), x1 (4), y1 (4), xHapus(3), yHapus(3), veloX(1), veloY(0)
,ekorsX[200], ekorsY[200], nEkor = 5, start = 0, makX, makY;
void gotoxy(int x, int y) //Void untuk gotoxy, memindahkan kursor pada console
{
COORD pos = {x, y};
SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), pos);
}
void naik() //untuk gerak Snake ke atas
{
veloY = -1; //Kecepatan Y menjadi ke atas
veloX = 0; //kecepatan X dinolkan
}
void turun()
{
veloY = 1; //sda
veloX = 0; //sda
}
void samping()
{
veloX = -1; //sda
veloY = 0; //sda
}
void samping_k()
{
veloX = 1; //sda
veloY = 0; //sda
}
void hapus()
{
gotoxy(xHapus, yHapus); //untuk menghapus bagian yang sudah dilewati
cout << " ";
}
void ekor()
{
for(int j = 0; j <= 2; j++)
{
gotoxy(ekorsX[j], ekorsY[j]);
cout << "+";
}
}
void tampil()
{
gotoxy(iX, iY); //iX dan iY adalah posisi gambar kepala
cout << char(2); //untuk menggambar gambar kepala
//karena ascii dari smiley tsb adalh 2
gotoxy(makX, makY);
//nilai makX dan makY adalah random
//digunakan untuk posisi makanan, jadi posisi makanan random
cout << "*"; //gambar makanan
}
void ganti_posisi() //mengganti posisi dari ekor ekor snake
{
xHapus = ekorsX[nEkor - 1];
yHapus = ekorsY[nEkor - 1];
for(int j = nEkor - 1; j >= 1; j--)
{
ekorsX[j] = ekorsX[j-1];
ekorsY[j] = ekorsY[j-1];
}
ekorsX[0] = iX;
ekorsY[0] = iY;
}
void velo() //fungsi untuk melakukan update posisi snake sesuai tombol
//yang ditekan
{
ganti_posisi();
hapus();
iX += veloX;
iY += veloY;
tampil();
ekor();
}
/*void trace()
{
for(int j = 0; j <= nEkor -1; j++)
{
cout << "x" << j << " y"<< j<< " = " << ekorsX[j] << "," << ekorsY[j];
cout << " // " << iX << "," << iY << endl;
}
system("pause");
system("cls");
}*/
bool isDestroy()
{
//selain untuk mencek apakah snake sudah kalah
//fungsi ini juga menghapus kepala snake yang tersisa jika membentur dinding
if(iX == batas_samping_k) { iX = 3; gotoxy(78, iY); cout << " "; }
if(iX == batas_samping) { iX = 77; gotoxy(2, iY); cout << " "; }
if(iY == batas_atas) { iY = 22; gotoxy(iX, 2); cout << " "; }
if(iY == batas_bawah) { iY = 3; gotoxy(iX, 23); cout << " "; }
//trace();
for(int j = 0; j <= nEkor - 1; j++)
if(ekorsX[j] == iX && ekorsY[j] == iY) return true;
return false;
}
char getkey()//fungsi untuk mendapatkan tombol yang ditekan
{
for(int i = 8; i <= 222; i++)
{
if(GetAsyncKeyState(i) == -32767)
{
switch(i)
{
case 38 : if(veloY != 1)naik();
break;//jika tombol yang ditekan adalah atas
case 40 : if(veloY != -1)turun();
break; //jika tombol yang ditekan adalah bawah
case 37 : if(veloX != 1)samping();
break; //jika tombol yang ditekan adalah kiri
case 39 : if(veloX != -1)samping_k();
break; //jika tombol yang ditekan adalah kanan
}
}
}
}
void random_makanan()
{
makX = rand()%(batas_samping_k - 1);
if(makX < 4) makX += 3 + (4-makX); //mencegah agar makanan tidak diluar batas
makY = rand()%(batas_bawah - 1);
if(makY < 4) makY += 3 + (4-makY);
gotoxy(makX, makY);
cout << "*";
}
bool isEaten()
{
if(iX == makX && iY == makY) return true; else return false;
}
void cBorder() //Fungsi untuk membuat garis tepi game
{
for(int i = 1; i <= 78; i++)
{
for(int j = 1; j <= 24; j += 23)
{
if(j > 1 || i >= 32)
{
gotoxy(i, j);cout << char(219);
}
}
}
for(int i = 1; i <= 24; i++)
{
for(int k = 1; k <= 80; k += 78)
{
gotoxy(k, i); cout << char(219);
}
}
}
//akhir pembuatan garis tepi
//Penulisan Skor
void skor()
{
gotoxy(3,1); cout << "Skor : ";
gotoxy(18,1); cout << "Panjang : ";
}
//Untuk menulis skor terbaru dan panjang dari snake
void tulis_skor()
{
gotoxy(11,1); cout << (nEkor - 5) * 10;
gotoxy(28,1); cout << nEkor;
}
//Fungsi yang menjalankan beberapa fungsi yang berjalan
//pada awal program, hanya sekali
void inisialisasi()
{
cBorder(); //buat pinggiran game
random_makanan(); //letakkan makanan secara random
skor(); //tulis tulisan skor di tepi atas
tulis_skor(); //menulis skor
}
int main() //fungsi Utama
{
system("cls"); //membersihkan layar
inisialisasi(); //menjalankan fungsi inisialisasi
while(!(isDestroy())) //selama snake belum rusak atau kalah
{
velo(); //merubah posisi snake berdasarkan kecepatan X atau Y
getkey(); //untuk mendapatkan tombol apa yang ditekan user dan
//menjalankan beberapa fungsi yang diperlukan
if(isEaten())//mencek apakah makanan telah dilalap oleh snake
{
nEkor += 2; //panjang ekor ditambah 2
random_makanan(); //makanan diletakkan lagi
tulis_skor();//skor di update
}
Sleep(40 - (nEkor / 10)); //delay yang semakin cepat dengan penambahan ekor
}
system("cls"); //layar dibersihkan
gotoxy(32,12); cout << "Skor : " << (nEkor - 5) * 10; //ditampilkan skor
gotoxy(25,13);
system("pause"); //selesai
}
Semoga Bermanfaat (y). Bila kurang paham step-stepnya tanyakan saja. Terima kasih.
============================================================
Dre@ming Media______________
Mr. Brain Revolution