Sunteți pe pagina 1din 15

#include <iostream> #include <string.h> #include <stdlib.

h> using namespace std; class cpokemon { private : char name[30]; int hp; int hpcurrent; int dmg; int level; char skill[4][20]; int dmgskill[4]; public : cpokemon() { } void setname(char nametangkap[]) { strcpy(name, nametangkap); } void sethp(int hptangkap) { hp = hptangkap; } void sethpcurrent(int hptangkap) { hpcurrent = hptangkap; } void setdmg(int dmgtangkap) { dmg = dmgtangkap; } void setskill(char skilltangkap1[], char skilltangkap2[], char skilltang kap3[]) { strcpy(skill[1], skilltangkap1); strcpy(skill[2], skilltangkap2); strcpy(skill[3], skilltangkap3); } void setdmgskill(int a, int b, int c) { dmgskill[1] = a; dmgskill[2] = b; dmgskill[3] = c; } void setlevel(int leveltangkap) { level = leveltangkap; } char* getname() { return name; }

int gethp() { return hp; } int gethpcurrent() { return hpcurrent; } int getdmg() { return dmg; } char* getskill(int i) { return skill[i]; } int getdmgskill(int i) { return dmgskill[i]; } int getlevel() { return level; } ~cpokemon() {} }; class cplayer : public cpokemon { private : char namaplayer[30]; int exp; int money; int potion[6]; public : cplayer() {} void setnamaplayer(char namatangkap[]) { strcpy(namaplayer,namatangkap); } void setexp(int exptangkap) { exp = exptangkap; } void setmoney(int moneytangkap) { money = moneytangkap; }

void setpotion(int keberapa, int banyak) { potion[keberapa] = banyak; } char* getnamaplayer() { return namaplayer; } int getexp() { return exp; } int getmoney() { return money; } int getpotion(int keberapa) { return potion[keberapa]; } ~cplayer() {} }; class cpotion { private : char nama[6][15]; int harga[6]; int hp[6]; public : cpotion() {} void setnama(char nama1[], char nama2[], char nama3[], char nama 4[], char nama5[]) { strcpy(nama[1], nama1); strcpy(nama[2], nama2); strcpy(nama[3], nama3); strcpy(nama[4], nama4); strcpy(nama[5], nama5); } void setharga(int hrg1, int hrg2, int hrg3, int hrg4, int hrg5) { harga[1] = hrg1; harga[2] = hrg2; harga[3] = hrg3; harga[4] = hrg4; harga[5] = hrg5; } void sethp(int hrg1, int hrg2, int hrg3, int hrg4, int h rg5) { hp[1] = hrg1;

hp[2] hp[3] hp[4] hp[5] }

= = = =

hrg2; hrg3; hrg4; hrg5;

char* getnama(int i) { return nama[i]; } int getharga(int i) { return harga[i]; } int gethp(int i) { return hp[i]; } ~cpotion(){} }; void cleaner() { for(int i = 0; i<=25;i++) { cout<<endl; } } void tgh() { for(int i = 0; i <= 20; i++) { cout<<" "; } } void header() { cout<<endl; tgh(); cout<<"==========================="<<endl; tgh(); cout<<"Welcome to BlueJack Pokemon"<<endl; tgh(); cout<<"==========================="<<endl; for(int i = 0; i<=10; i++) { cout<<endl; } tgh(); cout<<"Press Enter To Continue..."; cin.get(); }

void inputname() { cout<<"Input your name [3..30] : "; } void tmplpokemon() { cout<<"1. Charmander"<<endl; cout<<"2. Squirtle"<<endl; cout<<"3. Bulbasaur"<<endl; } void chooseyou() { cout<<"Choose your Pokemon : "; } void menumain() { cout<<"1. cout<<"2. cout<<"3. cout<<"4. cout<<"5. } void menufight() { cout<<"1. cout<<"2. cout<<"3. cout<<"4. } void end() { cleaner(); cout<<endl<<endl; tgh(); cout <<"==============================================="<<endl; tgh(); cout <<"==--Open Our Vision and Encourage Oursalves--=="<<endl; tgh(); cout <<"==----------Thank You for Playing------------=="<<endl; tgh(); cout <<"==============================================="<<endl; for(int i = 0; i<=10; i++) { cout<<endl; } cin.get(); } void main() {

View Pokemon"<<endl; Fight Wild Pokemon"<<endl; Visit Clinic"<<endl; Visit Shop"<<endl; Quit"<<endl;

Fight"<<endl; Skills"<<endl; Items"<<endl; Run"<<endl;

cpokemon Charmander; Charmander.setname("Charmander"); Charmander.sethp(75); Charmander.sethpcurrent(75); Charmander.setdmg(15); Charmander.setskill("Fire Kick", "Fire Punch", "Fire Blast"); Charmander.setlevel(1); Charmander.setdmgskill(2,3,4); cpokemon Squirtle; Squirtle.setname("Squirtle"); Squirtle.sethp(100); Squirtle.sethpcurrent(100); Squirtle.setdmg(10); Squirtle.setskill("Water Shoot", "Water Wave", "Water Beam"); Squirtle.setlevel(1); Squirtle.setdmgskill(2,3,4); cpokemon Bulbasaur; Bulbasaur.setname("Bulbasaur"); Bulbasaur.sethp(125); Squirtle.sethpcurrent(100); Bulbasaur.setdmg(5); Bulbasaur.setskill("Leech Seed", "Vine Whip", "Earthquake"); Bulbasaur.setlevel(1); Bulbasaur.setdmgskill(2,3,4); cplayer User; cpotion potion; potion.setnama("Small Potion", "Potion", "High Potion", "Ultra Potion", "Mega Potion"); potion.setharga(250, 500, 1000, 2500, 10000); potion.sethp(50, 100, 200, 500, 1500); char name[30]; int choose = 0; int choose2 = 0; int random; int levelrandom; int level; char randomname[10]; int enemyhp; int enemyhpcurrent; int enemydmg; int enemyskill[4]; int dmg; int hpcurrent; int skillsyarat; int exp; int money; int p; int backpack = 0; char enemyskillname[4][20]; int run = 0; header(); cleaner();

do { inputname(); cin.getline(name,30); } while(strlen(name) < 3 || strlen(name) > 30); User.setnamaplayer(name); User.setmoney(1000); cout<<"Welcome "<<User.getnamaplayer()<<endl; cout<<"Your start the game with "<<User.getmoney()<<" money!!!"; cin.get(); cleaner(); tmplpokemon(); do { chooseyou(); cin>>choose; } while (choose<1 || choose>3); switch (choose) { case 1 : User.setname("Charmander"); User.sethp(75); User.sethpcurrent(75); User.setdmg(15); User.setskill("Fire Kick", "Fire Punch", "Fire Blast"); User.setdmgskill(2,3,4); User.setlevel(1); User.setexp(0); cout<<"Your Pokemon is "<<User.getname(); cin.get(); break; case 2 : User.setname("Squirtle"); User.sethp(100); User.sethpcurrent(100); User.setdmg(10); User.setskill("Water Shoot", "Water Wave", "Water Beam") User.setdmgskill(2,3,4); User.setlevel(1); User.setexp(0); cout<<"Your Pokemon is "<<User.getname(); cin.get(); break; case 3 : User.setname("Bulbasaur"); User.sethp(125); User.sethpcurrent(125); User.setdmg(5); User.setskill("Leech Seed", "Vine Whip", "Earthquake"); User.setdmgskill(2,3,4); User.setlevel(1);

User.setexp(0); cout<<"Your Pokemon is "<<User.getname(); cin.get(); break; } cin.get(); cleaner(); cout<<"Welcome "<<User.getnamaplayer()<<endl; menumain(); do { do{ cout<<"Menu : "; cin>>choose; } while(choose<1 || choose>5); switch(choose) { case 1 : cleaner(); cout<<"Your Pokemon is "<<User.getname()<<endl; cout<<"Level : "<<User.getlevel()<<endl; cout<<"HP : "<<User.gethpcurrent()<<"/"<<U ser.gethp()<<endl; cout<<"Exp : "<<User.getexp()<<endl; cout<<"Exp to Level Up : "<<User.getexp()+(50 * User.g etlevel())<<endl; cin.get(); break;

case 2 : random = rand() % 3 + 1; levelrandom = rand() % User.getlevel() + 1; if(random==1) { strcpy(randomname, Charmander.getname()); enemyhp = (levelrandom - 1)* Charmander.gethp() + Charmander.get hp(); enemyhpcurrent = (levelrandom - 1)* Charmander.gethp() + Charman der.gethp(); enemydmg = (levelrandom - 1)* Charmander.getdmg() + Charmander.g etdmg(); for(skillsyarat = levelrandom/2; skillsyarat<=3; skillsyarat++) { enemyskill[skillsyarat] = Charmander.getdmgskill (skillsyarat); strcpy(enemyskillname[skillsyarat], Charmander.g etskill(skillsyarat) ); } } else if(random==2)

{ strcpy(randomname, Bulbasaur.getname()); enemyhp = (levelrandom - 1)* Bulbasaur.gethp() + Bulbasaur.gethp (); enemyhpcurrent = (levelrandom - 1)* Bulbasaur.gethp() + Bulbasau r.gethp(); enemydmg = (levelrandom - 1)* Bulbasaur.getdmg() + Bulbasaur.get dmg(); for(skillsyarat = levelrandom/2; skillsyarat<=3; skillsyarat++) { enemyskill[skillsyarat] = Bulbasaur.getdmgskill( skillsyarat); strcpy(enemyskillname[skillsyarat], Bulbasaur.ge tskill(skillsyarat) ); } } else { strcpy(randomname, Squirtle.getname()); enemyhp = (levelrandom - 1)* Squirtle.gethp() + Squirtle.gethp() ; enemyhpcurrent = (levelrandom - 1)* Squirtle.gethp() + Squirtle. gethp(); enemydmg = (levelrandom - 1)* Squirtle.getdmg() + Squirtle.getdm g(); for(skillsyarat = levelrandom/2; skillsyarat<=3; skillsyarat++) { enemyskill[skillsyarat] = Squirtle.getdmgskill(s killsyarat); strcpy(enemyskillname[skillsyarat], Squirtle.get skill(skillsyarat) ); } } do{ cleaner(); cout <<"Enemy : "<<randomname<<endl; cout <<"Level : "<<levelrandom<<endl; cout <<"HP : "<<enemyhpcurrent<<"/"<<enemyhp<<endl; cout <<endl<<endl<<endl; hpcurrent = User.gethpcurrent(); cout <<"You : "<<User.getname()<<endl; cout <<"Level : "<<User.getlevel()<<endl; cout <<"HP : "<<hpcurrent<<"/"<<User.gethp()<<endl<<endl; menufight(); do { cout<<"Action : "; cin>>choose; } while(choose < 1 || choose > 4); switch (choose) { case 1 : dmg = rand() % User.getdmg() + 1; enemyhpcurrent = enemyhpcurrent - dmg; cout<<"You hit the enemy for "<<dmg<<" demage.."<<endl; if(rand()%1+1 ==1)

{ dmg = rand() % enemydmg + 1; hpcurrent = hpcurrent - dmg; User.sethpcurrent(hpcurrent); cout<<"The enemy hit you for "<<dmg<<" d emage.."<<endl; cout<<"Jempol buat gudang galau yee"<<en dl; cin.get(); } else if(levelrandom>=2) { dmg = rand()%skillsyarat +1; dmg = enemyskill[dmg]*enemydmg; hpcurrent = hpcurrent - dmg; User.sethpcurrent(hpcurrent); cout<<"The enemy hit you with "<<enemysk illname[skillsyarat] <<"for "<<dmg<<" demage.."<<endl; cin.get(); } else { dmg = rand() % enemydmg + 1; hpcurrent = hpcurrent - dmg; User.sethpcurrent(hpcurrent); cout<<"You get hit by enemy for "<<dmg<< " demage.."<<endl; cin.get(); } break; case 2 : cleaner(); if(User.getlevel()<2) { cout<<"You don't have any skill yet.."<<endl; cin.get(); } else { level = User.getlevel()/2; for (p = 1; p <= level; p++) { cout<<p<<". "<<User.getskill(p)<<endl; } do { cout<<"Skill [0 to go back] : "; cin >> choose; } while(choose < 0 || choose > p);

if(choose>=1) { dmg = (rand() % User.getdmg() + 1) * Use r.getdmgskill(choose); enemyhpcurrent = enemyhpcurrent - dmg; cout<<"You hit the enemy with "<<User.ge tskill(choose)<<" for "<<dmg<<" demage.."<<endl; if(rand()%1+1 ==1) { dmg = rand() % enemydmg + 1; hpcurrent = hpcurrent dmg; User.sethpcurrent(hpcurr ent); cout<<"The enemy hit you for "<<dmg<<" demage.."<<endl; cin.get(); } else if(levelrandom>=2) { dmg = rand()%skillsyarat +1; dmg = enemyskill[dmg]*en emydmg; hpcurrent = hpcurrent dmg; User.sethpcurrent(hpcurr ent); cout<<"The enemy hit you with "<<enemyskillname[skillsyarat] <<"for "<<dmg<<" demage.."<<endl; cin.get(); } else { dmg = rand() % enemydmg + 1; hpcurrent = hpcurrent dmg; User.sethpcurrent(hpcurr ent); cout<<"You get hit by en emy for "<<dmg<<" demage.."<<endl; cin.get(); } } } break;

case 3 :

cleaner(); if(backpack == 0) {

cout<<"You dont have any Potion"<<endl; cin.get(); } else { cout<<"Choose item : "<<endl; cout<<"1.Small Potion : "<<User.getpot ion(1)<<endl; cout<<"2.Potion ion(2)<<endl; cout<<"3.High Potion ion(3)<<endl; cout<<"4.Ultra Potion ion(4)<<endl; cout<<"5.Mega Potion ion(5)<<endl; do { cout<<"Item [0..go to back] : "; cin>>choose; } while(choose<0 || choose>5); if (choose == 0) { } else if(User.getpotion(choose) > 0) { if(User.getpotion(choose )>0) { hpcurren t + potion.gethp(choose); User.set potion(choose, (User.getpotion(choose)-1)); if(hpcur rent >= User.gethp()) { hpcurrent = User.gethp(); } cout<<"Y our pokemon HP : "<<hpcurrent<<endl; cin.get( ); } else { cout<<"No Potion yet"<<endl; cin.get(); } } : "<<User.getpot : "<<User.getpot : "<<User.getpot : "<<User.getpot

break; case 4 : run = 1; cout<<"You get escape!!"<<endl; cin.get(); break; } cin.get(); } while(hpcurrent>=0 && enemyhpcurrent>=0 && run == 0); User.sethpcurrent(hpcurrent); cleaner(); if(enemyhpcurrent <= 0) { cout <<"You won!!"<<endl; exp = levelrandom*50; cout<<"You got "<<exp<<" Experiencent!!"<<endl; exp = exp + User.getexp(); if(exp >= User.getexp()+(50 * User.getlevel()) ) { cout<<"The enemy is dead"<<endl; cin.get(); cout<<"Level Up!!"<<endl; User.setexp(exp); User.setlevel(User.getlevel()+1); User.sethp(User.gethp()+50); User.setdmg(User.getdmg()+20); User.sethpcurrent(User.gethp()); money = levelrandom*levelrandom*300; cout<<"You got "<<money<<" money!!"<<endl; User.setmoney(money); if(User.getlevel () >= 2) { levelrandom = User.getlevel()/2; cout<<"Skill Unlocked :"; for(int k = 1; k<=levelrandom; k++) { cout<<endl<<User.getskill(k); } } } else { User.setexp(exp); money = levelrandom*levelrandom*300; cout<<"You got "<<money<<" money!!"<<endl; } } else if (User.gethpcurrent()<=0) { cout<<"Your Pokemon is dead.."<<endl; cin.get();

cout<<"Game Over"<<endl<<endl; }; break; case 3 : cleaner(); if(User.getmoney()<500) { cout<<"You don't have enough money"<<endl; cout<<"Hospital visit cost 500..."<<endl; cin.get(); } else { User.sethpcurrent(User.gethp()); User.setmoney(User.getmoney()-500); cout<<"Your Pokemon has been healed."<<endl; cout<<"You have 500 money left."<<endl; cin.get(); } break; cleaner(); cout<<"Your money : "<<User.getmoney()<<endl; for(p = 1; p<=5; p++) { cout<<p<<". "<<potion.getnama(p)<<" : @ = "<<potion.getharga(p)<<endl; } cin.get(); case 4 : do { cout<<"Choose [0 to exit] : "; cin>>choose; } while(choose<0 || choose >5); if (choose == 0) {} else { if (User.getmoney()>=potion.getharga(choose)) { User.setpotion(choose, User.getp otion(choose)+1); cout<<"You have bought 1 Potion" ; cin.get(); } else { cout<<"Not Enough Money... Try Again..." ; cin.get(); } } break; case 5 :

break; cin.get(); } } while(hpcurrent>=0 && choose==5); end(); }

S-ar putea să vă placă și