Cara Membuat Game Snake dari Bahasa C++ Dan Program Lainnya #15 - Dre@ming Media
Lembaga Pendidikan Computer Profesi
Home » , » Cara Membuat Game Snake dari Bahasa C++ Dan Program Lainnya #15

Cara Membuat Game Snake dari Bahasa C++ Dan Program Lainnya #15

Written By Arjawapost on Senin, 21 Januari 2019 | 08.48

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
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
Share this article :

Total Visitors

Cara Pembayaran

Pembayaran Bisa dilakukan Cash ditempat kursus, atau melalui transfer bank dibawah ini:

1. Bank Mandiri, No. Rekening : 1450004182149, Atas Nama: I Wayan Arjawa, S.T.

2. Bank BNI, No. Rekening : 0055157742, Atas Nama: I Wayan Arjawa, S.T.


Konfirmasi pembayaran menggunakan WA, Line atau SMS. DISARANKAN Konfirmasi via SMS ke 0852 5349 4669 dengan format sbb :

"Transfer (Nama Siswa Client) (JUMLAH TRANSFER) (BANK) (TANGGAL) (NAMA PEMILIK REKENING/PENGIRIM) (KETERANGAN)"

contoh SMS :
"Transfer JHON Rp.750.000 BNI 31/12/16 ICA SURICA utk pembayaran kursus Ms. Word-Excel"


Format SMS diatas BAKU agar tidak diubah urutannya.
Konfirmasi Transfer jam 8 Pagi sampai jam 9 Malam WIB, selain jam ini Bank melakukan updates.
Bila lebih dari 24jam anda belum mendapat balasan konfirmasi SMS, harap segera menghubungi nomor Telpon Billing
 
Support : Dre@ming Post | Dre@aming Group | I Wayan Arjawa, ST
Proudly powered by Blogger
Copyright © 2011. Dre@ming Media - All Rights Reserved
Template Design by Dre@ming Post Published by Sorga 'n Neraka