akevintg

Fish Game

May 21st, 2014
528
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.78 KB | None | 0 0
  1. //Buat class ikan yang akan menyimpan data berat, harga, dan spesies dari ikan, jangan lupa buat setter dan getternya! Dalam class ini akan ada method hitung dimana harga dari ikan akan dihitung berdasarkan rumus berikut
  2. //Harga = 1000 + (Berat ikan)* 200
  3. //Untuk menu program:
  4. //Ada 3 menu yaitu
  5. //1.    Tangkap ikan
  6. //2.    Jual ikan
  7. //3.    Exit
  8. //
  9. //Untuk menu 1, program akan merandom hasil ikan tangkapan user. Berat ikan akan dirandom dari 10-30 sementara spesies akan dirandom dari “mujair”, “lele”, atau “ikan mas”. User boleh terus menerus menangkap ikan, namun jumlah ikan maksimum yang dapat ditangkap adalah 10 ikan.
  10. //
  11. //Untuk menu 2, program akan menambah penghasilan user sesuai dengan harga ikan yang terakhir ditangkap. Perhatikan bahwa user maksimal hanya dapat menjual ikan sebanyak 3 kali, dan setiap kali user menjual ikannya, jumlah kesempatan user untuk menjual ikan akan berukurang. Validasikan user tidak dapat menjual ikan apabila user belum menangkap ikan atau ikan terakhir telah dijual sebelumnya.
  12. //
  13. //Program akan selesai jika user memilih menu exit ataupun sudah menjual ikan sebanyak 3 kali. Saat itu, program akan mencetak total penghasilan user dari penjualan ikan yang telah dilakukan.
  14.  
  15.  
  16. #include<iostream>
  17. #include<string>
  18. #include<conio.h>
  19. #include<time.h>
  20.  
  21.  
  22. using namespace std;
  23.  
  24. void menu();
  25.  
  26. class ikan{
  27. private:
  28.     int berat[10];//semua di bentuk array
  29.     string species[10];
  30.     int harga[10];
  31. public:
  32.     void setData(int b,string s,int x){//semua int x dalam parameter menujukan nomor ikanya
  33.         berat[x]=b;
  34.         species[x]=s;
  35.     }
  36.     int getBerat(int x){//panggil sesuai nomor ikanya (x)
  37.         return berat[x];
  38.     }
  39.     int getHarga(int x){
  40.         return harga[x]=1000+berat[x]*200;
  41.     }
  42.     string getSpecies(int x){
  43.         return species[x];
  44.     }
  45. };
  46.  
  47. int jumlahikan=0;
  48. ikan data;//class dibuat global untuk memudahkan oper2an data
  49.  
  50. int main(){
  51.     menu();
  52. }
  53.  
  54. void tangkap(){
  55.     system("cls");
  56.     srand(time(NULL));
  57.     int spc=rand()%3;//random angka 0-2
  58.     string sp;
  59.     if(spc==0)
  60.         sp="Mujaer";
  61.     else if(spc==1)
  62.         sp="Lele";
  63.     else//kalo dapet 2
  64.         sp="Mas";
  65.     int berat=rand()%21+10;//random dari 10-30
  66.     data.setData(berat,sp,jumlahikan);//masukin ke datanya
  67.     cout<<"Anda Mendapatkan Ikan "<<data.getSpecies(jumlahikan)<<" dengan berat "<<data.getBerat(jumlahikan);
  68.     jumlahikan++;
  69.     cin.get();
  70.     menu();
  71. }
  72.  
  73. int penghasilan=0;
  74. int banyakjual=0;
  75.  
  76. void jual(){
  77.     system("cls");char answer;
  78.     if (banyakjual<3&&jumlahikan!=0){//syarat ada ikan ama belom lebih dari 3
  79.         cout<<"Anda Hanya Bisa menjual 3 kali saja apakah anda akan menjual ikan yg terakhir anda tangkap terakhir "<<data.getSpecies(jumlahikan-1)<<" ,"<<data.getHarga(jumlahikan-1)<<" (y/n)?";
  80.         //jumlahikan-1 karena array dimulai dari 0
  81.         answer=_getch();fflush stdin;
  82.         if(answer=='y'||answer=='Y'){
  83.             penghasilan+=data.getHarga(jumlahikan-1);
  84.             jumlahikan--;//jumlah ikanya dikurang
  85.             banyakjual++;//tambah supaya tar limit 3 ga kelewat
  86.         }
  87.         else
  88.             cout<<"Kembali Ke menu awal"<<endl;
  89.     }
  90.     else
  91.         cout<<"Anda Belum Menangkap Ikan ";
  92.     cin.get();
  93.     menu();
  94. }
  95.  
  96. void menu(){
  97.     system("cls");
  98.     char x;
  99.     if(banyakjual<3){//cek dulu udah lebih dari 3 x jual apa belom
  100.     cout<<"PROGRAM GAME IKAN"<<endl<<"============================================="<<endl<<"Penghasilan Sementara :"<<penghasilan<<", Banyak Penjualan : "<<banyakjual<<endl;
  101.     cout<<"1. Tangkap Ikan"<<endl<<"2. Jual Ikan"<<endl<<"3. Exit"<<endl;
  102.     cout<<"Masukan Pilihan Anda : ";
  103.     x=_getch();fflush stdin;
  104.     switch(x){
  105.         case '1':
  106.             tangkap();
  107.             break;
  108.         case '2':
  109.             jual();
  110.             break;
  111.         case '3':
  112.             break;
  113.         default:
  114.             menu();
  115.             break;
  116.     }
  117.     }
  118.     else{//ending game
  119.         system("cls");
  120.         cout<<"Anda telah menjual 3 x game selesai"<<endl<<"Score akhir anda : "<<penghasilan;
  121.         cin.get();
  122.     }
  123. }
Advertisement
Add Comment
Please, Sign In to add comment