Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //dodrio, hypno, joleon, victrebel, venusaur, sandslash, articuno, moltres, kingler
- //plays pokemon
- //12-13-12
- #include <iostream>
- #include <string>
- #include <vector>
- #include <cstdlib>
- #include <ctime>
- #include <cmath>
- using namespace std;
- int player_pokemon=0;
- int enemy_pokemon=0;
- int your_choice;
- int enemy_choice;
- int your_switch=0;
- int enemy_switch=0;
- int damage;
- int move_choices;
- float reflect=1.00;
- int reflect_ctr=-1;
- float t_speed=1;
- float t_def=1;
- float t_spc=1;
- float evasion=1.00;
- int confusion=0;
- int confusion_ctr;
- int substitute=0;
- int counter_power=0;
- int mimic_choice=-1;
- int recharge=0;
- int enemy_recharge=0;
- void enemy_r_switch();
- void player_switch();
- void enemy_death();
- void player_death();
- //MOVESET Constants
- void initialize_deck();
- void output_deck();
- void output_moves();
- void move_list();
- void output_party();
- void instructions();
- void teambuilder();
- void create_enemy_team();
- void your_battlecode();
- void enemy_battlecode();
- class Moves
- {
- friend ostream&operator<<(ostream& os, const Moves& pmoves);
- public:
- Moves(string move, string move_type, int power, int acr, int pp, int cat);
- string get_move() const;
- string get_move_type() const;
- int get_power() const;
- int get_acr() const;
- int get_pp() const;
- int get_cat() const;
- string m_move;
- string m_move_type;
- int m_power;
- int m_acr;
- int m_pp;
- int m_cat;
- private:
- };
- class Pokemon_card
- {
- friend ostream&operator<<(ostream& os, const Pokemon_card& pcard);
- public:
- Pokemon_card(string name, string type1, string type2, float max_hp, float hp, float atk, float def, float spc, float speed, float health);
- string get_name() const;
- string get_type1() const;
- string get_type2() const;
- int get_max_hp() const;
- int get_hp() const;
- int get_atk() const;
- int get_def() const;
- int get_spc() const;
- int get_speed() const;
- int get_health() const;
- string m_name;
- string m_type1;
- string m_type2;
- int m_max_hp;
- int m_hp;
- int m_atk;
- int m_def;
- int m_spc;
- int m_speed;
- int m_health;
- vector<Moves> m_moves;
- vector<Moves> m_party_moves;
- private:
- };
- string Pokemon_card::get_name() const
- {
- return m_name;
- }
- string Pokemon_card::get_type1() const
- {
- return m_type1;
- }
- string Pokemon_card::get_type2() const
- {
- return m_type2;
- }
- int Pokemon_card::get_max_hp() const
- {
- return m_max_hp;
- }
- int Pokemon_card::get_hp() const
- {
- return m_hp;
- }
- int Pokemon_card::get_atk() const
- {
- return m_atk;
- }
- int Pokemon_card::get_def() const
- {
- return m_def;
- }
- int Pokemon_card::get_spc() const
- {
- return m_spc;
- }
- int Pokemon_card::get_speed() const
- {
- return m_speed;
- }
- int Pokemon_card::get_health() const
- {
- return m_health;
- }
- //
- string Moves::get_move() const
- {
- return m_move;
- }
- string Moves::get_move_type() const
- {
- return m_move_type;
- }
- int Moves::get_power() const
- {
- return m_power;
- }
- int Moves::get_acr() const
- {
- return m_acr;
- }
- int Moves::get_pp() const
- {
- return m_pp;
- }
- int Moves::get_cat() const
- {
- return m_cat;
- }
- ostream&operator<<(ostream& os, const Pokemon_card& pcard);
- Pokemon_card::Pokemon_card(string name, string type1, string type2, float max_hp, float hp, float atk, float def, float spc, float speed, float health):
- m_name(name), m_type1(type1), m_type2(type2), m_max_hp(max_hp), m_hp(hp), m_atk(atk), m_def(def), m_spc(spc), m_speed(speed), m_health(health)
- {}
- ostream&operator<<(ostream& os, const Moves& pmove);
- Moves::Moves(string move, string move_type, int power, int acr, int pp, int cat):
- m_move(move), m_move_type(move_type), m_power(power), m_acr(acr), m_pp(pp), m_cat(cat)
- {}
- vector<Pokemon_card> deck;
- vector<Moves> list;
- vector<Pokemon_card>::iterator my_interator;
- vector<Pokemon_card>::const_iterator iter;
- vector<Pokemon_card>enemy_team;
- vector<Pokemon_card>party;
- vector<Moves>your_moves;
- vector<Moves>enemy_moves;
- vector<Pokemon_card>temp_team;
- vector<Moves>temp_moves;
- void initialize_deck()
- {
- temp_team.push_back(Pokemon_card("Temp Pokemon", "Psychic", "", 313, 313,198,188,368,338, 1));
- temp_team[temp_team.size()-1].m_moves.push_back(Moves("Temp Move", "Psychic", 90, 100, 16, 3));
- deck.push_back(Pokemon_card("Alakazam ", "Psychic", "", 313, 313,198,188,368,338, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Psychic", "Psychic", 90, 100, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Recover","Normal", 0, 100, 16, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunder Wave","Electric",0, 100, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Seismic Toss","Fighting", 100, 100, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Reflect","Psychic", 0, 100, 32, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Kinesis","Psychic", 0, 80, 24, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Counter","Fighting", 0, 100, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Mimic","Normal", 0, 100, 16, 1));
- deck.push_back(Pokemon_card("Chansey ", "Normal", "",703, 703,108,108,308,198, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Ice Beam", "Ice", 95, 100, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Softboiled","Psychic", 0, 100, 16, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Counter","Fighting", 0, 100, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunderbolt", "Electric", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunder Wave","Electric",0, 100, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Reflect","Psychic", 0, 100, 32, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Sing","Psychic", 0, 55, 24, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Blizzard","Ice",120, 90, 8, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Flash","Normal", 0, 70, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Seismic Toss","Fighting", 100, 100, 32, 1));
- // deck[deck.size()-1].m_moves.push_back(Moves("Defense Curl","Normal", 0, 100, 64, 0));
- deck.push_back(Pokemon_card("Cloyster ", "Water", "Ice",303, 303,288,458,268,238, 1));
- // deck[deck.size()-1].m_moves.push_back(Moves("Clamp","Water",35, 75, 16, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Blizzard","Ice",120, 90, 8, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Hyper Beam","Normal",150, 90, 8, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Explosion","Normal",340, 100, 8, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Double Edge", "Normal", 100, 100, 24, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Rest","Psychic", 0, 100, 16, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Surf", "Water", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Supersonic","Normal", 0, 55, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Mimic","Normal", 0, 100, 16, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Substitute","Normal", 0, 100, 16, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Reflect","Psychic", 0, 100, 32, 0));
- deck.push_back(Pokemon_card("Dragonite", "Dragon", "Flying",385, 385,366,288,298,258, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Agility","Psychic", 0, 100, 48, 0));
- // deck[deck.size()-1].m_moves.push_back(Moves("Wrap","Normal",15, 85, 32, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Hyper Beam","Normal",150, 90, 8, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Surf", "Water", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Blizzard","Ice",120, 90, 8, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunderbolt", "Electric", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunder Wave","Electric",0, 100, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Body Slam", "Normal", 85, 100, 24, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Double Edge", "Normal", 100, 100, 24, 2));
- deck.push_back(Pokemon_card("Exeggutor", "Grass", "Psychic",393, 393,288,268,348,208, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Sleep Powder","Grass", 0, 75, 24, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Psychic", "Psychic", 90, 100, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Explosion","Normal",340, 100, 8, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Mega Drain","Grass",40, 100, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Double Edge", "Normal", 100, 100, 24, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Stun Spore","Grass", 0, 75, 48, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Rest","Psychic", 0, 100, 16, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Hyper Beam","Normal",150, 90, 8, 2));
- // deck[deck.size()-1].m_moves.push_back(Moves("Leech Seed","Grass", 0, 90, 16, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Reflect","Psychic", 0, 100, 32, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Egg Bomb", "Normal", 100, 75, 16, 2));
- deck.push_back(Pokemon_card("Gengar ", "Ghost", "Poison",323, 323,228,218,358,318, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Hypnosis","Psychic", 0, 60, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Explosion","Normal",340, 100, 8, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunderbolt", "Electric", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Mega Drain","Grass",40, 100, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Confuse Ray","Psychic", 0, 100, 16, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Psychic", "Psychic", 90, 100, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Seismic Toss","Fighting", 100, 100, 32, 1));
- deck.push_back(Pokemon_card("Golem ", "Ground", "Rock",363, 363,318,358,208,188, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Body Slam", "Normal", 85, 100, 24, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Earthquake", "Ground", 100, 100, 16, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Rock Slide", "Rock", 75, 90, 16, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Explosion","Normal",340, 100, 8, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Substitute","Normal", 0, 100, 16, 0));
- deck.push_back(Pokemon_card("Jynx ", "Ice", "Psychic",333, 333,198,168,288,288, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Lovely Kiss","Psychic", 0, 75, 16, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Blizzard","Ice",120, 90, 8, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Psychic", "Psychic", 90, 100, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Mimic","Normal", 0, 100, 16, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Body Slam", "Normal", 85, 100, 24, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Counter","Fighting", 0, 100, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Rest","Psychic", 0, 100, 16, 0));
- deck.push_back(Pokemon_card("Lapras ", "Water", "Ice",463, 463,268,258,288,218, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Blizzard","Ice",120, 90, 8, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Ice Beam", "Ice", 95, 100, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunderbolt", "Electric", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Rest","Psychic", 0, 100, 16, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Body Slam", "Normal", 85, 100, 24, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Confuse Ray","Psychic", 0, 100, 16, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Mimic","Normal", 0, 100, 16, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Reflect","Psychic", 0, 100, 32, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Sing","Psychic", 0, 55, 24, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Surf", "Water", 95, 100, 24, 3));
- deck.push_back(Pokemon_card("Persian ", "Normal", "",333, 333,238,218,228,328, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Slash", "Normal",140, 100, 32, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("BubbleBeam", "Water", 65, 100, 32, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Hyper Beam","Normal",150, 90, 8, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunderbolt", "Electric", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Body Slam", "Normal", 85, 100, 24, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Screech","Psychic", 0, 85, 64, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Mimic","Normal", 0, 100, 16, 1));
- deck.push_back(Pokemon_card("Rhydon ", "Ground", "Rock",413, 413,358,338,188,178, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Body Slam", "Normal", 85, 100, 24, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Earthquake", "Ground", 100, 100, 16, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Rock Slide", "Rock", 75, 90, 16, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Substitute","Normal", 0, 100, 16, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Hyper Beam","Normal",150, 90, 8, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Rest","Psychic", 0, 100, 16, 0));
- deck.push_back(Pokemon_card("Slowbro ", "Water", "Psychic",393, 393,248,318,258,158, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Amnesia","Psychic", 0, 100, 32, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Surf", "Water", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunder Wave","Electric",0, 100, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Rest","Psychic", 0, 100, 16, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Psychic", "Psychic", 90, 100, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Ice Beam", "Ice", 95, 100, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Withdraw","Normal", 0, 100, 64, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Reflect","Psychic", 0, 100, 32, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Counter","Fighting", 0, 100, 32, 1));
- deck.push_back(Pokemon_card("Snorlax ", "Normal", "",523, 523,318,228,228,158, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Body Slam", "Normal", 85, 100, 24, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Hyper Beam","Normal",150, 90, 8, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Surf", "Water", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Earthquake", "Ground", 100, 100, 16, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Selfdestruct","Normal",260, 100, 8, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Amnesia","Psychic", 0, 100, 32, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Ice Beam", "Ice", 95, 100, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Blizzard","Ice",120, 90, 8, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunderbolt", "Electric", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Rest","Psychic", 0, 100, 16, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Reflect","Psychic", 0, 100, 32, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Counter","Fighting", 0, 100, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunder", "Electric", 120, 75, 16, 3));
- deck.push_back(Pokemon_card("Starmie ", "Water", "Psychic",323, 323,248,268,298,328, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Blizzard","Ice",120, 90, 8, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Surf", "Water", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunder Wave","Electric",0, 100, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunderbolt", "Electric", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Recover","Normal", 0, 100, 16, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Hydro Pump", "Water", 120, 80, 8, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Reflect","Psychic", 0, 100, 32, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Psychic", "Psychic", 90, 100, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Hyper Beam","Normal",150, 90, 8, 2));
- deck.push_back(Pokemon_card("Tauros ", "Normal", "",353, 353,298,288,238,318, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Body Slam", "Normal", 85, 100, 24, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Hyper Beam","Normal",150, 90, 8, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Earthquake", "Ground", 100, 100, 16, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Blizzard","Ice",120, 90, 8, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunderbolt", "Electric", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunder", "Electric", 120, 75, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Substitute","Normal", 0, 100, 16, 0));
- deck.push_back(Pokemon_card("Zapdos ", "Electric", "Flying",383, 383,278,268,348,298, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunderbolt", "Electric", 95, 100, 24, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Drill Peck", "Flying", 80, 100, 32, 2));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunder Wave","Electric",0, 100, 32, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Agility","Psychic", 0, 100, 48, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Thunder", "Electric", 120, 75, 16, 3));
- deck[deck.size()-1].m_moves.push_back(Moves("Mimic","Normal", 0, 100, 16, 1));
- // deck[deck.size()-1].m_moves.push_back(Moves("Toxic","Poison", 0, 85, 16, 1));
- deck[deck.size()-1].m_moves.push_back(Moves("Rest","Psychic", 0, 100, 16, 0));
- deck[deck.size()-1].m_moves.push_back(Moves("Reflect","Psychic", 0, 100, 32, 0));
- return;
- }
- void create_enemy_team()
- {
- enemy_team.push_back(Pokemon_card("Tauros ", "Normal", "",353, 353,298,288,238,318, 1));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Body Slam", "Normal", 85, 100, 24, 2));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Hyper Beam","Normal",150, 90, 8, 2));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Earthquake", "Ground", 100, 100, 16, 2));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Blizzard","Ice",120, 90, 8, 3));
- enemy_team.push_back(Pokemon_card("Alakazam ", "Psychic", "", 313, 313,198,188,368,338, 1));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Psychic", "Psychic", 90, 100, 16, 3));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Recover","Normal", 0, 100, 16, 0));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Thunder Wave","Electric",0, 100, 32, 1));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Seismic Toss","Fighting", 100, 100, 32, 1));
- enemy_team.push_back(Pokemon_card("Chansey ", "Normal", "",703, 703,108,108,308,198, 1));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Ice Beam", "Ice", 95, 100, 16, 3));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Softboiled","Psychic", 0, 100, 16, 0));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Thunderbolt", "Electric", 95, 100, 24, 3));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Thunder Wave","Electric",0, 100, 32, 1));
- enemy_team.push_back(Pokemon_card("Golem ", "Ground", "Rock",363, 363,318,358,208,188, 1));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Body Slam", "Normal", 85, 100, 24, 2));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Earthquake", "Ground", 100, 100, 16, 2));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Rock Slide", "Rock", 75, 90, 16, 2));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Explosion","Normal",340, 100, 8, 2));
- enemy_team.push_back(Pokemon_card("Exeggutor", "Grass", "Psychic",393, 393,288,268,348,208, 1));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Sleep Powder","Grass", 0, 75, 24, 1));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Psychic", "Psychic", 90, 100, 16, 3));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Explosion","Normal",340, 100, 8, 2));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Mega Drain","Grass",40, 100, 16, 3));
- enemy_team.push_back(Pokemon_card("Starmie ", "Water", "Psychic",323, 323,248,268,298,328, 1));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Blizzard","Ice",120, 90, 8, 3));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Thunder Wave","Electric",0, 100, 32, 1));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Thunderbolt", "Electric", 95, 100, 24, 3));
- enemy_team[enemy_team.size()-1].m_moves.push_back(Moves("Recover","Normal", 0, 100, 16, 0));
- }
- ostream&operator<<(ostream& os, const Pokemon_card& pcard)
- {
- os << pcard.m_name << " | " << pcard.m_type1 << "/"<< pcard.m_type2;
- return os;
- }
- ostream&operator<<(ostream& os, const Moves& pmove)
- {
- os << pmove.m_move;
- return os;
- }
- void output_deck()
- {
- int i=0;
- cout << "# Pokemon | Types" << endl;
- for (iter = deck.begin(); iter != deck.end(); iter++)
- {
- cout << i << " " << *iter << endl;
- i++;
- }
- }
- void output_moves(int input)
- {
- int i=0;
- cout << "# Move" << endl;
- for (vector<Moves>::const_iterator iter = deck[input].m_moves.begin(); iter!=deck[input].m_moves.end(); iter++)
- {
- cout << i << " " << *iter << endl;
- i++;
- }
- move_choices = deck[input].m_moves.size();
- cout << "Choose a move" << endl;
- }
- void instructions()
- {
- cout << "POKEMON GENERATION 1 SIMULATOR" << endl;
- cout << "Welcome to the pokemon battle simulator" << endl;
- cout << "Here you will battle against a fearsome opponent in a pokemon battle" << endl;
- cout << "First choose each member of your 6 man team and all 4 of their Moves" << endl;
- cout << "After that the battle begins" << endl;
- cout << "During each turn of the battle you will select your pokemon's Moves" << endl;
- cout << "The goal is to be the last man standing as pokemon pummel each other" << endl;
- cout << "Good luck!" << endl << endl;
- }
- void output_party()
- {
- cout << "Your final team is" << endl;
- for (int t=0; t<6; t++)
- {
- cout << party[t].get_name() << endl;
- for (int k=0; k<4; k++)
- {
- cout << "-" << party[t].m_moves[k].get_move() << endl;
- }
- }
- }
- void teambuilder()
- {
- int input=0;
- for (int ctr=0; ctr<6; ctr++)
- {
- output_deck();
- cout << endl << "Choose a pokemon" << endl;
- cin >> input;
- while ((input < 0) || (input > deck.size()-1))
- {
- cout << "Error: enter a valid pokemon number" << endl;
- cin >> input;
- }
- party.push_back(deck.at(input));
- string choosen = deck[input].get_name();
- cout << choosen << " has been added" << endl<< endl;
- for (int j=0; j<4; j++)
- {
- output_moves(input);
- int choice;
- string move_choice;
- cin >> choice;
- move_choices--;
- while ((choice < 0) || (choice > move_choices))
- {
- cout << "Error: enter a valid numbered move" << endl;
- cin >> choice;
- }
- party[party.size()-1].m_moves.push_back(Moves(deck[input].m_moves.at(choice)));
- party[ctr].m_moves.at(j) = deck[input].m_moves.at(choice);
- cout << party[ctr].m_moves[j] << " was added." << endl;
- // deck.erase(Alakazam_moves.begin() + choice);
- deck[input].m_moves.erase(deck[input].m_moves.begin()+ choice);
- cout << endl;
- }
- deck.erase(deck.begin() + input );
- }
- cout << endl;
- }
- void enemy_r_switch()
- {
- int temp=0;
- temp = enemy_pokemon;
- while (temp == enemy_pokemon)
- {
- enemy_pokemon=rand() % enemy_team.size();
- }
- cout << "The enemy switch in "<< enemy_team[enemy_pokemon].get_name() << endl;
- confusion=0;
- evasion=1.00;
- t_def=1;
- }
- void enemy_death ()
- {
- enemy_team.erase(enemy_team.begin() + enemy_pokemon);
- enemy_pokemon=rand() % enemy_team.size();
- cout << "The enemy switch in "<< enemy_team[enemy_pokemon].get_name() << endl;
- confusion=0;
- evasion=1.00;
- t_def=1;
- }
- void player_death()
- {
- if (mimic_choice!=-1)
- {
- party[player_pokemon].m_moves.at(mimic_choice) = temp_team[0].m_moves.at(0);
- mimic_choice=-1;
- }
- party.erase(party.begin() + player_pokemon);
- for (int t = 0; t<party.size(); t++)
- {
- cout << t << " " << party[t].get_name() << endl;
- }
- cout << "Choose a pokemon" << endl;
- cin >> player_pokemon;
- while ((player_pokemon<0) || (player_pokemon>=party.size()))
- {
- cout << "Enter a valid pokemon number" << endl;
- cin >> player_pokemon;
- }
- cout << "You switch in "<< party[player_pokemon].get_name() << endl;
- counter_power=0;
- t_spc=1;
- t_speed=1;
- }
- void player_switch()
- {
- if (mimic_choice!=-1)
- {
- party[player_pokemon].m_moves.at(mimic_choice) = temp_team[0].m_moves.at(0);
- mimic_choice=-1;
- }
- for (int t = 0; t<party.size(); t++)
- {
- cout << t << " " << party[t].get_name() << endl;
- }
- int temp=0;
- temp = player_pokemon;
- while ((temp == player_pokemon) || (player_pokemon>(party.size())) || (player_pokemon<0))
- {
- cout << "Choose a pokemon that is not currently on the field" << endl;
- cin >> player_pokemon;
- }
- cout << "You switched in "<< party[player_pokemon].get_name() << endl;
- counter_power=0;
- t_spc=1;
- t_speed=1;
- }
- void your_battlecode()
- {
- int accuracy;
- int C=1;
- float M=1;
- float super=1;
- int para_chance;
- para_chance = rand() % 4;
- int critical_hit=0;
- int crit_rand;
- crit_rand=rand() % 100;
- if ((crit_rand) < (floor(ceil(((party[player_pokemon].get_speed()-5)/2)-47)*100 / 512)))
- {
- critical_hit=1;
- }
- if ((your_switch != 1) && (recharge==0))
- {
- if (party[player_pokemon].get_health()>=20)
- {
- cout << party[player_pokemon].get_name() << " is fast asleep" << endl;
- if (party[player_pokemon].get_health()==20)
- {
- cout << party[player_pokemon].get_name() << " woke up" << endl;
- party[player_pokemon].m_health = 1;
- }
- }
- else if ((para_chance==2) && (party[player_pokemon].get_health()==2))
- {
- cout << party[player_pokemon].get_name() << " is paralized!" << endl;
- }
- else
- {
- cout << party[player_pokemon].get_name() << " used " << party[player_pokemon].m_moves[your_choice].get_move() << endl;
- accuracy = rand() % 100;
- if(accuracy< party[player_pokemon].m_moves[your_choice].get_acr())
- {
- if ((party[player_pokemon].get_type1() == party[player_pokemon].m_moves[your_choice].get_move_type()) || (party[player_pokemon].get_type2() == party[player_pokemon].m_moves[your_choice].get_move_type()))
- {
- M *= 1.50;
- }
- if (party[player_pokemon].m_moves[your_choice].get_move_type()== "Psychic")
- {
- if ((enemy_team[enemy_pokemon].get_type1() == "Psychic") || (enemy_team[enemy_pokemon].get_type2() == "Psychic"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Fighting") || (enemy_team[enemy_pokemon].get_type2() == "Fighting"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Poison") || (enemy_team[enemy_pokemon].get_type2() == "Poison"))
- {
- super *= 2.00;
- }
- }
- if (party[player_pokemon].m_moves[your_choice].get_move_type()== "Water")
- {
- if ((enemy_team[enemy_pokemon].get_type1() == "Ground") || (enemy_team[enemy_pokemon].get_type2() == "Ground"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Rock") || (enemy_team[enemy_pokemon].get_type2() == "Rock"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Water") || (enemy_team[enemy_pokemon].get_type2() == "Water"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Grass") || (enemy_team[enemy_pokemon].get_type2() == "Grass"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Dragon") || (enemy_team[enemy_pokemon].get_type2() == "Dragon"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Fire") || (enemy_team[enemy_pokemon].get_type2() == "Fire"))
- {
- super *= 2.00;
- }
- }
- if (party[player_pokemon].m_moves[your_choice].get_move_type()== "Grass")
- {
- if ((enemy_team[enemy_pokemon].get_type1() == "Grass") || (enemy_team[enemy_pokemon].get_type2() == "Grass"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Water") || (enemy_team[enemy_pokemon].get_type2() == "Water"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Grass") || (enemy_team[enemy_pokemon].get_type2() == "Grass"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Flying") || (enemy_team[enemy_pokemon].get_type2() == "Flying"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Rock") || (enemy_team[enemy_pokemon].get_type2() == "Rock"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Ground") || (enemy_team[enemy_pokemon].get_type2() == "Ground"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Poison") || (enemy_team[enemy_pokemon].get_type2() == "Poison"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Dragon") || (enemy_team[enemy_pokemon].get_type2() == "Dragon"))
- {
- super /= 2.00;
- }
- }
- if (party[player_pokemon].m_moves[your_choice].get_move_type()== "Electric")
- {
- if ((enemy_team[enemy_pokemon].get_type1() == "Dragon") || (enemy_team[enemy_pokemon].get_type2() == "Dragon"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Grass") || (enemy_team[enemy_pokemon].get_type2() == "Grass"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Water") || (enemy_team[enemy_pokemon].get_type2() == "Water"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Electric") || (enemy_team[enemy_pokemon].get_type2() == "Electric"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Flying") || (enemy_team[enemy_pokemon].get_type2() == "Flying"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Ground") || (enemy_team[enemy_pokemon].get_type2() == "Ground"))
- {
- super *= 0;
- }
- }
- if (party[player_pokemon].m_moves[your_choice].get_move_type()== "Ice")
- {
- if ((enemy_team[enemy_pokemon].get_type1() == "Water") || (enemy_team[enemy_pokemon].get_type2() == "Water"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Grass") || (enemy_team[enemy_pokemon].get_type2() == "Grass"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Ice") || (enemy_team[enemy_pokemon].get_type2() == "Ice"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Flying") || (enemy_team[enemy_pokemon].get_type2() == "Flying"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Ground") || (enemy_team[enemy_pokemon].get_type2() == "Ground"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Dragon") || (enemy_team[enemy_pokemon].get_type2() == "Dragon"))
- {
- super /= 2.00;
- }
- }
- if (party[player_pokemon].m_moves[your_choice].get_move_type()== "Normal")
- {
- if ((enemy_team[enemy_pokemon].get_type1() == "Rock") || (enemy_team[enemy_pokemon].get_type2() == "Rock"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Ghost") || (enemy_team[enemy_pokemon].get_type2() == "Ghost"))
- {
- super *= 0;
- }
- }
- if (party[player_pokemon].m_moves[your_choice].get_move_type()== "Flying")
- {
- if ((enemy_team[enemy_pokemon].get_type1() == "Rock") || (enemy_team[enemy_pokemon].get_type2() == "Rock"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Electric") || (enemy_team[enemy_pokemon].get_type2() == "Electric"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Grass") || (enemy_team[enemy_pokemon].get_type2() == "Grass"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Fighting") || (enemy_team[enemy_pokemon].get_type2() == "Fighting"))
- {
- super *= 2.00;
- }
- }
- if (party[player_pokemon].m_moves[your_choice].get_move_type()== "Ground")
- {
- if ((enemy_team[enemy_pokemon].get_type1() == "Fire") || (enemy_team[enemy_pokemon].get_type2() == "Fire"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Electric") || (enemy_team[enemy_pokemon].get_type2() == "Electric"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Rock") || (enemy_team[enemy_pokemon].get_type2() == "Rock"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Poison") || (enemy_team[enemy_pokemon].get_type2() == "Poison"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Grass") || (enemy_team[enemy_pokemon].get_type2() == "Grass"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Flying") || (enemy_team[enemy_pokemon].get_type2() == "Flying"))
- {
- super *= 0;
- }
- }
- if (party[player_pokemon].m_moves[your_choice].get_move_type()== "Rock")
- {
- if ((enemy_team[enemy_pokemon].get_type1() == "Fire") || (enemy_team[enemy_pokemon].get_type2() == "Fire"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Ice") || (enemy_team[enemy_pokemon].get_type2() == "Ice"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Flying") || (enemy_team[enemy_pokemon].get_type2() == "Flying"))
- {
- super *= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Fighting") || (enemy_team[enemy_pokemon].get_type2() == "Fighting"))
- {
- super /= 2.00;
- }
- if ((enemy_team[enemy_pokemon].get_type1() == "Ground") || (enemy_team[enemy_pokemon].get_type2() == "Ground"))
- {
- super /= 2.00;
- }
- }
- switch (party[player_pokemon].m_moves[your_choice].get_cat())
- {
- case 0:
- if ((party[player_pokemon].m_moves[your_choice].get_move()=="Softboiled") || (party[player_pokemon].m_moves[your_choice].get_move()=="Recover"))
- {
- party[player_pokemon].m_hp += (party[player_pokemon].get_max_hp() / 2);
- if (party[player_pokemon].get_max_hp() < party[player_pokemon].get_hp())
- {
- party[player_pokemon].m_hp = party[player_pokemon].get_max_hp();
- }
- cout << "It restored HP" << endl;
- }
- else if ((party[player_pokemon].m_moves[your_choice].get_move()=="Reflect"))
- {
- if (reflect_ctr<=0)
- {
- reflect = 2.00;
- reflect_ctr=4;
- }
- cout << "A psychic layer was put up" << endl;
- }
- else if ((party[player_pokemon].m_moves[your_choice].get_move()=="Rest"))
- {
- if (party[player_pokemon].m_health == 2)
- {
- party[player_pokemon].m_speed *= 2;
- }
- party[player_pokemon].m_health=22;
- party[player_pokemon].m_hp = party[player_pokemon].get_max_hp();
- cout << party[player_pokemon].get_name() << " fell asleep and restored HP" << endl;
- }
- else if ((party[player_pokemon].m_moves[your_choice].get_move()=="Agility"))
- {
- t_speed+=1;
- cout << party[player_pokemon].get_name() << "'s speed sharply rose" << endl;
- }
- else if ((party[player_pokemon].m_moves[your_choice].get_move()=="Amnesia") && t_spc<4)
- {
- t_spc+=1;
- cout << party[player_pokemon].get_name() << "'s special sharply rose" << endl;
- }
- else if ((party[player_pokemon].m_moves[your_choice].get_move()=="Substitute") && (substitute<=0) && ((party[player_pokemon].get_max_hp() / 4) < party[player_pokemon].get_hp()))
- {
- party[player_pokemon].m_hp -= (party[player_pokemon].get_max_hp() / 4);
- substitute = (party[player_pokemon].get_max_hp() / 4);
- cout << party[player_pokemon].get_name() << " set up a substitute" << endl;
- }
- else
- {
- cout << "but it failed!" << endl;
- }
- break;
- case 1:
- if ((party[player_pokemon].m_moves[your_choice].get_move()=="Stun Spore") && (enemy_team[enemy_pokemon].get_health() == 1))
- {
- enemy_team[enemy_pokemon].m_health = 2;
- enemy_team[enemy_pokemon].m_speed /= 2;
- cout << enemy_team[enemy_pokemon].get_name() << " was paralyzed" << endl;
- }
- else if ((party[player_pokemon].m_moves[your_choice].get_move()=="Thunder Wave") && (enemy_team[enemy_pokemon].get_health() == 1) && (enemy_team[enemy_pokemon].get_type1() != "Ground") && (enemy_team[enemy_pokemon].get_type2() != "Ground"))
- {
- enemy_team[enemy_pokemon].m_health = 2;
- enemy_team[enemy_pokemon].m_speed /= 2;
- cout << enemy_team[enemy_pokemon].get_name() << " was paralyzed" << endl;
- }
- else if (((party[player_pokemon].m_moves[your_choice].get_move()=="Sleep Powder") || (party[player_pokemon].m_moves[your_choice].get_move()=="Hypnosis") ||
- (party[player_pokemon].m_moves[your_choice].get_move()=="Sing") || (party[player_pokemon].m_moves[your_choice].get_move()=="Lovely Kiss")) && (enemy_team[enemy_pokemon].get_health() == 1))
- {
- enemy_team[enemy_pokemon].m_health = (rand() % 6 + 21);
- cout << enemy_team[enemy_pokemon].get_name() << " fell asleep" << endl;
- }
- else if (party[player_pokemon].m_moves[your_choice].get_move()=="Seismic Toss")
- {
- enemy_team[enemy_pokemon].m_hp -= 100;
- cout << enemy_team[enemy_pokemon].get_name() << " lost 100 HP" << endl;
- }
- else if ((party[player_pokemon].m_moves[your_choice].get_move()=="Flash") || (party[player_pokemon].m_moves[your_choice].get_move()=="Kinesis"))
- {
- if (evasion != .131687)
- {
- evasion *= (2.00/3.00);
- cout << enemy_team[enemy_pokemon].get_name() << " lost accuracy" << endl;
- }
- else
- {
- cout << "but it failed!" << endl;
- }
- }
- else if (((party[player_pokemon].m_moves[your_choice].get_move()=="Supersonic") || (party[player_pokemon].m_moves[your_choice].get_move()=="Confuse Ray")))
- {
- confusion=1;
- confusion_ctr= (rand() % 4) +1;
- cout << enemy_team[enemy_pokemon].get_name() << " is confused!" << endl;
- }
- else if ((party[player_pokemon].m_moves[your_choice].get_move()=="Counter"))
- {
- }
- else if ((party[player_pokemon].m_moves[your_choice].get_move()=="Mimic"))
- {
- temp_team[0].m_moves.at(0) = party[player_pokemon].m_moves.at(your_choice);
- party[player_pokemon].m_moves.at(your_choice) = enemy_team[enemy_pokemon].m_moves.at(rand() % 4);
- mimic_choice=your_choice;
- cout << enemy_team[enemy_pokemon].get_name() << " copied " << party[player_pokemon].m_moves.at(your_choice) << endl;
- }
- else if ((party[player_pokemon].m_moves[your_choice].get_move()=="Screech") && (t_def != 3))
- {
- t_def += 1.00;
- cout << enemy_team[enemy_pokemon].get_name() << "'s defense sharply lowered" << endl;
- }
- else
- {
- cout << "But it failed" << endl;
- }
- break;
- case 2:
- if ((critical_hit==1) || (party[player_pokemon].m_moves[your_choice].get_move()=="Slash"))
- {
- enemy_team[enemy_pokemon].m_hp -= floor((floor(floor(floor(42.0*party[player_pokemon].get_atk()*party[player_pokemon].m_moves[your_choice].get_power())/enemy_team[enemy_pokemon].get_def())/50)+2)*M*super*2.00*((rand() % 39) + 217)/255.0);
- cout << "It was a critical hit!" << endl;
- }
- else
- {
- enemy_team[enemy_pokemon].m_hp -= floor((floor(floor(floor(42.0*party[player_pokemon].get_atk()*party[player_pokemon].m_moves[your_choice].get_power())/enemy_team[enemy_pokemon].get_def())/50)+2)*M*super*t_def*((rand() % 39) + 217)/255.0);
- }//enemy_team[enemy_pokemon].m_hp -= floor((floor(floor(floor(42.0*party[player_pokemon].get_spc()*party[player_pokemon].m_moves[your_choice].get_power())/enemy_team[enemy_pokemon].get_spc())/50)+2)*M*super*t_spc*((rand() % 39) + 217)/255.0);
- if ((party[player_pokemon].m_moves[your_choice].get_move()=="Hyper Beam") && (enemy_team[enemy_pokemon].get_hp() >= 0))
- {
- cout << party[player_pokemon].get_name() << " needs to recharge" << endl;
- recharge = 3;
- }
- if (super == 1)
- {
- cout << "Its normally effective!" << endl;
- }
- else if (super > 1)
- {
- cout << "Its super effective!" << endl;
- }
- else if (super == 0)
- {
- cout << "It didn't do anything" << endl;
- }
- else
- {
- cout << "Its not very effective!" << endl;
- }
- break;
- case 3:
- if (critical_hit==1)
- {
- enemy_team[enemy_pokemon].m_hp -=floor((floor(floor(floor(42.0*party[player_pokemon].get_spc()*party[player_pokemon].m_moves[your_choice].get_power())/enemy_team[enemy_pokemon].get_spc())/50)+2)*M*super*2*((rand() % 39) + 217)/255.0);
- cout << "It was a critical hit!" << endl;
- }
- else
- {
- enemy_team[enemy_pokemon].m_hp -=floor((floor(floor(floor(42.0*party[player_pokemon].get_spc()*party[player_pokemon].m_moves[your_choice].get_power())/enemy_team[enemy_pokemon].get_spc())/50)+2)*M*super*t_spc*((rand() % 39) + 217)/255.0);
- }
- if (super == 1)
- {
- cout << "Its normally effective!" << endl;
- }
- else if (super > 1)
- {
- cout << "Its super effective!" << endl;
- }
- else if (super == 0)
- {
- cout << "It didn't do anything" << endl;
- }
- else
- {
- cout << "Its not very effective!" << endl;
- }
- break;
- default:
- cout << "But it failed!" << endl;
- }
- }
- else
- {
- cout << "But it missed!" << endl;
- }
- }
- }
- if (party[player_pokemon].get_health()>20)
- {
- party[player_pokemon].m_health--;
- }
- }
- void enemy_battlecode()
- {
- float M=1.0;
- int accuracy;
- int para_chance;
- para_chance = rand() % 4;
- int confusion_chance = rand() % 2;
- float super=1.00;
- int critical_hit=0;
- if ((rand() % 100) < (floor(ceil(((enemy_team[enemy_pokemon].get_speed()-5)/2)-47)*100 / 512)))
- {
- critical_hit=1;
- }
- if ((enemy_switch !=1) && (enemy_recharge==0))
- {
- if (enemy_team[enemy_pokemon].get_health()>=20)
- {
- cout << enemy_team[enemy_pokemon].get_name() << " is fast asleep" << endl;
- if (enemy_team[enemy_pokemon].get_health()==20)
- {
- cout << enemy_team[enemy_pokemon].get_name() << " woke up" << endl;
- enemy_team[enemy_pokemon].m_health = 1;
- }
- }
- else
- {
- if (confusion==1)
- {
- cout << enemy_team[enemy_pokemon].get_name() << " is confused!" << endl;
- confusion_ctr--;
- if (confusion_ctr==0)
- {
- confusion=0;
- cout << enemy_team[enemy_pokemon].get_name() << " snapped out of confusion" << endl;
- }
- }
- if ((confusion==1) && (confusion_chance == 1))
- {
- enemy_team[enemy_pokemon].m_hp -=floor((floor(floor(floor(42.0*enemy_team[enemy_pokemon].get_atk()*40)/party[player_pokemon].get_def())/50)+2)*((rand() % 39) + 217)/255.0);
- cout << enemy_team[enemy_pokemon].get_name() << " hurt itself in confustion!" << endl;
- }
- else if ((enemy_team[enemy_pokemon].get_health()==2) && (para_chance==0))
- {
- cout << enemy_team[enemy_pokemon].get_name() << " is paralized, it was unable to move!" << endl;
- }
- else
- {
- cout << enemy_team[enemy_pokemon].get_name() << " used " << enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move() << endl;
- accuracy = rand() % 100;
- if(accuracy<(enemy_team[enemy_pokemon].m_moves[enemy_choice].get_acr() * evasion))
- {
- if ((enemy_team[enemy_pokemon].get_type1() == enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move_type()) || (enemy_team[enemy_pokemon].get_type2() == enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move_type()))
- {
- M = 1.5;
- }
- if (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move_type()== "Psychic")
- {
- if ((party[player_pokemon].get_type1() == "Psychic") || (party[player_pokemon].get_type2() == "Psychic"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Fighting") || (party[player_pokemon].get_type2() == "Fighting"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Poison") || (party[player_pokemon].get_type2() == "Poison"))
- {
- super *= 2.00;
- }
- }
- if (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move_type()== "Water")
- {
- if ((party[player_pokemon].get_type1() == "Ground") || (party[player_pokemon].get_type2() == "Ground"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Rock") || (party[player_pokemon].get_type2() == "Rock"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Water") || (party[player_pokemon].get_type2() == "Water"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Grass") || (party[player_pokemon].get_type2() == "Grass"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Dragon") || (party[player_pokemon].get_type2() == "Dragon"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Fire") || (party[player_pokemon].get_type2() == "Fire"))
- {
- super *= 2.00;
- }
- }
- if (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move_type()== "Grass")
- {
- if ((party[player_pokemon].get_type1() == "Grass") || (party[player_pokemon].get_type2() == "Grass"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Water") || (party[player_pokemon].get_type2() == "Water"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Grass") || (party[player_pokemon].get_type2() == "Grass"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Flying") || (party[player_pokemon].get_type2() == "Flying"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Rock") || (party[player_pokemon].get_type2() == "Rock"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Ground") || (party[player_pokemon].get_type2() == "Ground"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Poison") || (party[player_pokemon].get_type2() == "Poison"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Dragon") || (party[player_pokemon].get_type2() == "Dragon"))
- {
- super /= 2.00;
- }
- }
- if (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move_type()== "Electric")
- {
- if ((party[player_pokemon].get_type1() == "Dragon") || (party[player_pokemon].get_type2() == "Dragon"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Grass") || (party[player_pokemon].get_type2() == "Grass"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Water") || (party[player_pokemon].get_type2() == "Water"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Electric") || (party[player_pokemon].get_type2() == "Electric"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Flying") || (party[player_pokemon].get_type2() == "Flying"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Ground") || (party[player_pokemon].get_type2() == "Ground"))
- {
- super *= 0;
- }
- }
- if (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move_type()== "Ice")
- {
- if ((party[player_pokemon].get_type1() == "Water") || (party[player_pokemon].get_type2() == "Water"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Grass") || (party[player_pokemon].get_type2() == "Grass"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Ice") || (party[player_pokemon].get_type2() == "Ice"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Flying") || (party[player_pokemon].get_type2() == "Flying"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Ground") || (party[player_pokemon].get_type2() == "Ground"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Dragon") || (party[player_pokemon].get_type2() == "Dragon"))
- {
- super *= 2.00;
- }
- }
- if (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move_type()== "Normal")
- {
- if ((party[player_pokemon].get_type1() == "Rock") || (party[player_pokemon].get_type2() == "Rock"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Ghost") || (party[player_pokemon].get_type2() == "Ghost"))
- {
- super *= 0;
- }
- }
- if (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move_type()== "Flying")
- {
- if ((party[player_pokemon].get_type1() == "Rock") || (party[player_pokemon].get_type2() == "Rock"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Electric") || (party[player_pokemon].get_type2() == "Electric"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Grass") || (party[player_pokemon].get_type2() == "Grass"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Fighting") || (party[player_pokemon].get_type2() == "Fighting"))
- {
- super *= 2.00;
- }
- }
- if (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move_type()== "Ground")
- {
- if ((party[player_pokemon].get_type1() == "Fire") || (party[player_pokemon].get_type2() == "Fire"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Electric") || (party[player_pokemon].get_type2() == "Electric"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Rock") || (party[player_pokemon].get_type2() == "Rock"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Poison") || (party[player_pokemon].get_type2() == "Poison"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Grass") || (party[player_pokemon].get_type2() == "Grass"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Flying") || (party[player_pokemon].get_type2() == "Flying"))
- {
- super *= 0;
- }
- }
- if (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move_type()== "Rock")
- {
- if ((party[player_pokemon].get_type1() == "Fire") || (party[player_pokemon].get_type2() == "Fire"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Ice") || (party[player_pokemon].get_type2() == "Ice"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Flying") || (party[player_pokemon].get_type2() == "Flying"))
- {
- super *= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Fighting") || (party[player_pokemon].get_type2() == "Fighting"))
- {
- super /= 2.00;
- }
- if ((party[player_pokemon].get_type1() == "Ground") || (party[player_pokemon].get_type2() == "Ground"))
- {
- super /= 2.00;
- }
- }
- switch (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_cat())
- {
- case 0:
- if ((enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move()=="Softboiled") || (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move()=="Recover"))
- {
- enemy_team[enemy_pokemon].m_hp += (enemy_team[enemy_pokemon].get_max_hp() / 2);
- if (enemy_team[enemy_pokemon].get_max_hp() < enemy_team[enemy_pokemon].get_hp())
- {
- enemy_team[enemy_pokemon].m_hp = enemy_team[enemy_pokemon].get_max_hp();
- }
- cout << "It restored HP" << endl;
- }
- else
- {
- cout << "but it failed!" << endl;
- }
- break;
- case 1:
- if (((enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move()=="Stun Spore")) && (party[player_pokemon].get_health() == 1))
- {
- party[player_pokemon].m_health = 2;
- party[player_pokemon].m_speed /= 2;
- cout << party[player_pokemon].get_name() << " was paralyzed" << endl;
- }
- else if ((enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move()=="Thunder Wave") && (party[player_pokemon].get_health() == 1) && (party[player_pokemon].get_type1() != "Ground") && (party[player_pokemon].get_type2() != "Ground"))
- {
- party[player_pokemon].m_health = 2;
- party[player_pokemon].m_speed /= 2;
- cout << party[player_pokemon].get_name() << " was paralyzed" << endl;
- }
- else if (((enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move()=="Sleep Powder") || (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move()=="Hypnosis") ||
- (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move()=="Sing") || (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move()=="Lovely Kiss")) && (party[player_pokemon].get_health() == 1))
- {
- party[player_pokemon].m_health = (rand() % 6 + 21);
- cout << party[player_pokemon].get_name() << " fell asleep" << endl;
- }
- else if (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move()=="Seismic Toss")
- {
- party[player_pokemon].m_hp -= 100;
- cout << party[player_pokemon].get_name() << " lost 100 HP" << endl;
- }
- else
- {
- cout << "But it failed!" << endl;
- }
- break;
- case 2:
- if (substitute>0)
- {
- if (critical_hit==1)
- {
- substitute -=floor((floor(floor(floor(42.0*enemy_team[enemy_pokemon].get_atk()*enemy_team[enemy_pokemon].m_moves[enemy_choice].get_power())/party[player_pokemon].get_def())/50)+2)*M*super*2*((rand() % 39) + 217)/255.0)/reflect;
- cout << "It was a critical hit!" << endl;
- }
- else
- {
- substitute -=floor((floor(floor(floor(42.0*enemy_team[enemy_pokemon].get_atk()*enemy_team[enemy_pokemon].m_moves[enemy_choice].get_power())/party[player_pokemon].get_def())/50)+2)*M*super*((rand() % 39) + 217)/255.0)/reflect;
- }
- if (substitute<=0)
- {
- cout << "Subtitute faded" << endl;
- }
- }
- else
- {
- if (critical_hit==1)
- {
- party[player_pokemon].m_hp -=floor((floor(floor(floor(42.0*enemy_team[enemy_pokemon].get_atk()*enemy_team[enemy_pokemon].m_moves[enemy_choice].get_power())/party[player_pokemon].get_def())/50)+2)*M*super*2*((rand() % 39) + 217)/255.0)/reflect;
- cout << "It was a critical hit!" << endl;
- }
- else
- {
- party[player_pokemon].m_hp -=floor((floor(floor(floor(42.0*enemy_team[enemy_pokemon].get_atk()*enemy_team[enemy_pokemon].m_moves[enemy_choice].get_power())/party[player_pokemon].get_def())/50)+2)*M*super*((rand() % 39) + 217)/255.0)/reflect;
- }
- }
- if (party[player_pokemon].m_moves[your_choice].get_move() == "Counter")
- {
- counter_power= floor(2*floor((floor(floor(floor(42.0*enemy_team[enemy_pokemon].get_atk()*enemy_team[enemy_pokemon].m_moves[enemy_choice].get_power())/party[player_pokemon].get_def())/50)+2)*M*super*((rand() % 39) + 217)/255.0)/reflect);
- }
- if ((enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move()=="Hyper Beam") && (party[player_pokemon].get_hp() >= 0))
- {
- cout << enemy_team[enemy_pokemon].get_name() << " needs to recharge" << endl;
- enemy_recharge = 3;
- }
- if (super == 1)
- {
- cout << "Its normally effective!" << endl;
- }
- else if (super > 1)
- {
- cout << "Its super effective!" << endl;
- }
- else if (super == 0)
- {
- cout << "It didn't do anything" << endl;
- }
- else
- {
- cout << "Its not very effective!" << endl;
- }
- break;
- case 3:
- if (critical_hit==1)
- {
- party[player_pokemon].m_hp -=floor((floor(floor(floor(42.0*enemy_team[enemy_pokemon].get_spc()*enemy_team[enemy_pokemon].m_moves[enemy_choice].get_power())/party[player_pokemon].get_spc())/50)+2)*M*super*2*((rand() % 39) + 217)/255.0);
- cout << "It was a critical hit!" << endl;
- }
- else
- {
- party[player_pokemon].m_hp -=floor((floor(floor(floor(42.0*enemy_team[enemy_pokemon].get_spc()*enemy_team[enemy_pokemon].m_moves[enemy_choice].get_power())/party[player_pokemon].get_spc())/50)+2)*M*super*(1/t_spc)*((rand() % 39) + 217)/255.0);
- }
- if (super == 1)
- {
- cout << "Its normally effective!" << endl;
- }
- else if (super > 1)
- {
- cout << "Its super effective!" << endl;
- }
- else if (super == 0)
- {
- cout << "It didn't do anything" << endl;
- }
- else
- {
- cout << "Its not very effective!" << endl;
- }
- break;
- default:
- cout << endl;
- }
- }
- else
- {
- cout << "It missed" << endl;
- }
- }
- }
- if (enemy_team[enemy_pokemon].get_health() >20)
- {
- enemy_team[enemy_pokemon].m_health--;
- }
- if (confusion==1)
- {
- confusion_ctr--;
- if (confusion_ctr==0)
- {
- confusion=0;
- cout << enemy_team[enemy_pokemon].get_name() << " snapped out of confusion" << endl;
- }
- }
- }
- }
- int main()
- {
- int faster=3;
- int temp;
- int battle_on=1;
- instructions();
- create_enemy_team();
- initialize_deck();
- teambuilder();
- output_party();
- while (battle_on==1)
- {
- cout << endl;
- cout << "Your "<<party[player_pokemon].get_name() << "(HP: (" << party[player_pokemon].get_hp() << "/"<< party[player_pokemon].get_max_hp() << ") " << (party[player_pokemon].get_hp() * 100.00) / party[player_pokemon].get_max_hp() << "%) is on the field" << endl;
- cout << "Enemy " << enemy_team[enemy_pokemon].get_name() << "(HP: (" << enemy_team[enemy_pokemon].get_hp() << "/"<< enemy_team[enemy_pokemon].get_max_hp() << ") " << (enemy_team[enemy_pokemon].get_hp() * 100.00) / enemy_team[enemy_pokemon].get_max_hp() << "%) is on the field" << endl;
- if (recharge == 0)
- {
- cout << "Choose a move: " << endl;
- for (int t=0; t<4; t++)
- {
- //deck[15].m_moves[2].get_move();
- cout << t << " " << party[player_pokemon].m_moves[t].get_move()<< endl;
- }
- cout << "4 Switch to another pokemon" << endl;
- cin >> your_choice;
- if (party.size() == 1)
- {
- while ((your_choice > 3) || (your_choice < 0))
- {
- cout << "Enter a valid number (you can't switch if you are the last pokemon)" << endl;
- cin >> your_choice;
- }
- }
- else
- {
- while ((your_choice > 4) || (your_choice < 0))
- {
- cout << "Enter a valid number" << endl;
- cin >> your_choice;
- }
- }
- if (your_choice==4)
- {
- your_switch=1;
- }
- else
- {
- your_switch=0;
- }
- if (your_switch== 1)
- {
- player_switch();
- }
- }
- else
- {
- cout << party[player_pokemon].get_name() << " is recharging " << endl;
- }
- srand ( time(NULL) );
- enemy_choice=rand() % 5;
- if (enemy_recharge==0)
- {
- if (enemy_team.size() == 1)
- {
- enemy_choice=rand() % 4;
- }
- if (enemy_choice==4)
- {
- enemy_switch=1;
- }
- if (enemy_switch==1)
- {
- enemy_r_switch();
- }
- }
- else
- {
- cout << enemy_team[enemy_pokemon].get_name() << " is recharging" << endl;
- }
- /*
- else
- {
- enemy_choice = enemy_choice + (enemy_pokemon*4);
- }
- */
- if ( (party[player_pokemon].get_speed()*t_speed) == enemy_team[enemy_pokemon].get_speed())
- {
- faster = rand() % 2;
- }
- cout << endl;
- if (((party[player_pokemon].get_speed()*t_speed) > enemy_team[enemy_pokemon].get_speed()) || (faster ==1))
- {
- your_battlecode();
- if (enemy_team[enemy_pokemon].get_hp() <= 0)
- {
- cout << enemy_team[enemy_pokemon].get_name() << " fainted" << endl;
- if (enemy_team.size() == 1)
- {
- cout << "You win" << endl;
- break;
- }
- else
- {
- enemy_death();
- }
- }
- else
- {
- enemy_battlecode();
- }
- if (party[player_pokemon].get_hp() <= 0)
- {
- cout << party[player_pokemon].get_name() << " fainted" << endl;
- if (party.size() == 1)
- {
- cout << "Enemy wins" << endl;
- break;
- }
- else
- {
- player_death();
- }
- }
- }
- else if (((party[player_pokemon].get_speed()*t_speed) < enemy_team[enemy_pokemon].get_speed()) || (faster==0))
- {
- enemy_battlecode();
- if (party[player_pokemon].get_hp() <= 0)
- {
- cout << party[player_pokemon].get_name() << " fainted" << endl;
- if (party.size() == 1)
- {
- cout << "Enemy wins" << endl;
- break;
- }
- else
- {
- player_death();
- }
- }
- else
- {
- your_battlecode();
- }
- if (enemy_team[enemy_pokemon].get_hp() <= 0)
- {
- cout << enemy_team[enemy_pokemon].get_name() << " fainted" << endl;
- if (enemy_team.size() == 1)
- {
- cout << "You win" << endl;
- break;
- }
- else
- {
- enemy_death();
- }
- }
- }
- if ((counter_power>0))
- {
- enemy_team[enemy_pokemon].m_hp -= counter_power;
- cout << party[player_pokemon].get_name() << " used counter" << endl;
- if (enemy_team[enemy_pokemon].get_hp() <= 0)
- {
- cout << enemy_team[enemy_pokemon].get_name() << " fainted" << endl;
- if (enemy_team.size() == 1)
- {
- cout << "You win" << endl;
- break;
- }
- else
- {
- enemy_death();
- }
- }
- else
- {
- cout << "Counter Failed!" << endl;
- }
- }
- if ((((party[player_pokemon].m_moves[your_choice].get_move()=="Explosion") || party[player_pokemon].m_moves[your_choice].get_move()=="Selfdestruct")) && your_switch==0)
- {
- cout << party[player_pokemon].get_name() << " faited!" << endl;
- if (party.size() == 1)
- {
- cout << "Enemy wins" << endl;
- break;
- }
- else
- {
- player_death();
- }
- }
- if (enemy_switch== 0)
- {
- if (enemy_team[enemy_pokemon].m_moves[enemy_choice].get_move()=="Explosion")
- {
- cout << enemy_team[enemy_pokemon].get_name() << " faited!" << endl;
- if (enemy_team.size() == 1)
- {
- cout << "You win!" << endl;
- break;
- }
- else
- {
- enemy_death();
- }
- }
- if (enemy_recharge>0)
- {
- enemy_recharge--;
- if (enemy_recharge==1)
- {
- enemy_recharge=0;
- }
- else
- {
- cout << enemy_team[enemy_pokemon].get_name() << " is recharging" << endl;
- }
- }
- }
- if (recharge>0)
- {
- recharge--;
- if (recharge==1)
- {
- recharge=0;
- }
- else
- {
- cout << party[player_pokemon].get_name() << " is recharging" << endl;
- }
- }
- faster=3;
- your_switch=0;
- enemy_switch=0;
- reflect_ctr--;
- if (reflect_ctr==0)
- {
- reflect=1.00;
- cout << "The psychic shield faded" << endl;
- }
- }
- cout << "GAME OVER" << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement