Beispiel #1
0
void Battle::addText(Pokemon a_user, Move a_move) {
	D3DXCOLOR tempcolor = D3DXCOLOR(0.0f,0.0f,0.0f,1.0f);
	swprintf_s(charactertempthingy[curtextincrement], a_user.getName());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement];// User's name
	battletext[curtextincrement].rec.top = 375;
	battletext[curtextincrement].rec.bottom = 450;
	battletext[curtextincrement].rec.left = 300;
	battletext[curtextincrement].rec.right = 500;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"used");
	battletext[curtextincrement].text = charactertempthingy[curtextincrement];// Used
	battletext[curtextincrement].rec.top = 375;
	battletext[curtextincrement].rec.bottom = 450;
	battletext[curtextincrement].rec.left = 425;
	battletext[curtextincrement].rec.right = 625;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], a_move.getName());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement];// User's move's name
	battletext[curtextincrement].rec.top = 375;
	battletext[curtextincrement].rec.bottom = 450;
	battletext[curtextincrement].rec.left = 575;
	battletext[curtextincrement].rec.right = 775;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
}
Beispiel #2
0
void displayArr(Pokemon arr[], int numGenPokemon, int genNum) {
	Pokemon tempPoke;
	int nameLength = 0;
	string tempName;

	for (int i = 0; i < numGenPokemon; i++) {
		tempPoke = arr[i];

		if(genNum == 0 && i % 10 == 0) cout << endl << endl;	//National Dex line breaks
		else if (genNum != 0 && i % 6 == 0) cout << endl << endl; // All other region line breaks

		if(tempPoke.getRevealed())
			tempName = tempPoke.getName();
		else
			tempName = tempPoke.getID();

		printSpace(MAX_SPACE);
    	nameLength = tempName.size();
    	cout << tempName;

        while(nameLength < MAX_SPACE){
            printSpace(1);
            nameLength++;
        }
	}
}
std::vector<std::string> AttackAction::execute() {
    Pokemon *defendingPokemon = defendingTrainer->getActivePokemon();

    // float effectiveness = 1;
    float effectiveness = Effectiveness::attackingxDefendingChart[attack->getType()][defendingPokemon->getType()]
                          *Effectiveness::attackingxDefendingChart[attack->getType()][defendingPokemon->getType2()];
    float damage = attack->getBaseDamage() * effectiveness;
    int newHp = round(defendingPokemon->getCurrentHp() - damage);

    std::string attackingPokemonName = attackingPokemon->getName();
    std::string defendingPokemonName = defendingPokemon->getName();
    std::ostringstream damageAmount;


    //retVal.push_back(attackingPokemonName + " dealt " + damageAmount.str() + " damage to " + defendingPokemonName);

    retVal.push_back(attackingPokemonName + " used " + attack->getName());

    if (effectiveness == 0) {
        retVal.push_back("It's ineffective...");
    } else if (effectiveness == 0.5 || effectiveness == 0.25) {
        retVal.push_back("It's not very effective...");
    } else if (effectiveness == 2 || effectiveness == 4) {
        retVal.push_back("It's super effective!");
    }


    if(newHp < 0) {
        newHp = 0;
        defendingPokemon->setCurrentHp(newHp);
        retVal.push_back(defendingPokemonName + " died!");
    }

    defendingPokemon->setCurrentHp(newHp);
    attack->setCurrentPp(attack->getCurrentPp()-1);
    damageAmount << attack->getBaseDamage();


    return retVal;
}
Beispiel #4
0
void Battle::addText(Pokemon a_user, Move a_move) {
	D3DXCOLOR tempcolor = D3DXCOLOR(0.0f,0.0f,0.0f,1.0f);
	battletext[curtextincrement].text = a_user.getName();// User's name
	battletext[curtextincrement].rec.top = 375;
	battletext[curtextincrement].rec.bottom = 450;
	battletext[curtextincrement].rec.left = 300;
	battletext[curtextincrement].rec.right = 500;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	battletext[curtextincrement].text = L"used";// Used
	battletext[curtextincrement].rec.top = 375;
	battletext[curtextincrement].rec.bottom = 450;
	battletext[curtextincrement].rec.left = 425;
	battletext[curtextincrement].rec.right = 625;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	battletext[curtextincrement].text = a_move.getName();// User's move's name
	battletext[curtextincrement].rec.top = 375;
	battletext[curtextincrement].rec.bottom = 450;
	battletext[curtextincrement].rec.left = 575;
	battletext[curtextincrement].rec.right = 775;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
}
Beispiel #5
0
void Battle::menuReset(Pokemon a_pikachu, Pokemon a_enemy) {
	battlemenu.battleReset();
	//wchar_t tempwchar_t[256];
	D3DXCOLOR tempcolor = D3DXCOLOR(0.0f,0.0f,0.0f,1.0f);
	curtextincrement = 0;
	swprintf_s(charactertempthingy[curtextincrement], a_pikachu.getName());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement];// Pikachu's name
	battletext[curtextincrement].rec.top = 450;
	battletext[curtextincrement].rec.bottom = 525;
	battletext[curtextincrement].rec.left = 600;
	battletext[curtextincrement].rec.right = 800;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"hp:");
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // hp's hp:
	battletext[curtextincrement].rec.top = 525;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 490;
	battletext[curtextincrement].rec.right = 720;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_pikachu.getCurHP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // Pikachu's curhp
	battletext[curtextincrement].rec.top = 525;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 555;
	battletext[curtextincrement].rec.right = 750;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"/");
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // hp's slash
	battletext[curtextincrement].rec.top = 525;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 610;
	battletext[curtextincrement].rec.right = 780;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_pikachu.getMaxHP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // pikach's max hp
	battletext[curtextincrement].rec.top = 525;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 660;
	battletext[curtextincrement].rec.right = 800;
	++curtextincrement;
	//  enemy start
	swprintf_s(charactertempthingy[curtextincrement], a_enemy.getName());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement];// Enemy's name
	battletext[curtextincrement].rec.top = 75;
	battletext[curtextincrement].rec.bottom = 0;
	battletext[curtextincrement].rec.left = 0;
	battletext[curtextincrement].rec.right = 200;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"hp:");
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // hp's hp:
	battletext[curtextincrement].rec.top = 150;
	battletext[curtextincrement].rec.bottom = 75;
	battletext[curtextincrement].rec.left = 0;
	battletext[curtextincrement].rec.right = 100;
	battletext[curtextincrement].textColor = tempcolor;	
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_enemy.getCurHP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // enemy's curhp
	battletext[curtextincrement].rec.top = 150;
	battletext[curtextincrement].rec.bottom = 75;
	battletext[curtextincrement].rec.left = 10;
	battletext[curtextincrement].rec.right = 160;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"/");
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // hp's slash
	battletext[curtextincrement].rec.top = 150;
	battletext[curtextincrement].rec.bottom = 75;
	battletext[curtextincrement].rec.left = 10;
	battletext[curtextincrement].rec.right = 210;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_enemy.getMaxHP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // enemy's max hp
	battletext[curtextincrement].rec.top = 150;
	battletext[curtextincrement].rec.bottom = 75;
	battletext[curtextincrement].rec.left = 60;
	battletext[curtextincrement].rec.right = 210;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
}
Beispiel #6
0
void Battle::menuResetWithMoves(Pokemon a_pikachu, Pokemon a_enemy) {
	battlemenu.battleResetWithMoves(a_pikachu);
	D3DXCOLOR tempcolor = D3DXCOLOR(0.0f,0.0f,0.0f,1.0f);
	curtextincrement = 0;
	swprintf_s(charactertempthingy[curtextincrement], a_pikachu.getName());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement];// Pikachu's name
	battletext[curtextincrement].rec.top = 450;
	battletext[curtextincrement].rec.bottom = 525;
	battletext[curtextincrement].rec.left = 600;
	battletext[curtextincrement].rec.right = 800;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"hp:");
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // hp's hp:
	battletext[curtextincrement].rec.top = 525;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 490;
	battletext[curtextincrement].rec.right = 720;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_pikachu.getCurHP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // Pikachu's curhp
	battletext[curtextincrement].rec.top = 525;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 555;
	battletext[curtextincrement].rec.right = 750;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"/");
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // hp's slash
	battletext[curtextincrement].rec.top = 525;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 610;
	battletext[curtextincrement].rec.right = 780;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_pikachu.getMaxHP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // pikach's max hp
	battletext[curtextincrement].rec.top = 525;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 660;
	battletext[curtextincrement].rec.right = 800;
	++curtextincrement;
	//  enemy start
	swprintf_s(charactertempthingy[curtextincrement], a_enemy.getName());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement];// Enemy's name
	battletext[curtextincrement].rec.top = 75;
	battletext[curtextincrement].rec.bottom = 0;
	battletext[curtextincrement].rec.left = 0;
	battletext[curtextincrement].rec.right = 200;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"hp:");
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // hp's hp:
	battletext[curtextincrement].rec.top = 150;
	battletext[curtextincrement].rec.bottom = 75;
	battletext[curtextincrement].rec.left = 0;
	battletext[curtextincrement].rec.right = 100;
	battletext[curtextincrement].textColor = tempcolor;	
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_enemy.getCurHP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // enemy's curhp
	battletext[curtextincrement].rec.top = 150;
	battletext[curtextincrement].rec.bottom = 75;
	battletext[curtextincrement].rec.left = 10;
	battletext[curtextincrement].rec.right = 160;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"/");
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // hp's slash
	battletext[curtextincrement].rec.top = 150;
	battletext[curtextincrement].rec.bottom = 75;
	battletext[curtextincrement].rec.left = 10;
	battletext[curtextincrement].rec.right = 210;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_enemy.getMaxHP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // enemy's max hp
	battletext[curtextincrement].rec.top = 150;
	battletext[curtextincrement].rec.bottom = 75;
	battletext[curtextincrement].rec.left = 60;
	battletext[curtextincrement].rec.right = 210;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	// Start move pp's
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_pikachu.getMove(0).getCurPP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // pikachu's 1st move's curpp
	battletext[curtextincrement].rec.top = 480;
	battletext[curtextincrement].rec.bottom = 525;
	battletext[curtextincrement].rec.left = 10;
	battletext[curtextincrement].rec.right = 160;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"/");
	battletext[curtextincrement].text = L"/"; // pikachu's 1st move's slash
	battletext[curtextincrement].rec.top = 480;
	battletext[curtextincrement].rec.bottom = 525;
	battletext[curtextincrement].rec.left = 10;
	battletext[curtextincrement].rec.right = 210;
	++curtextincrement;
	
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_pikachu.getMove(0).getMaxPP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // pikachu's 1st move's maxpp
	battletext[curtextincrement].rec.top = 480;
	battletext[curtextincrement].rec.bottom = 525;
	battletext[curtextincrement].rec.left = 60;
	battletext[curtextincrement].rec.right = 210;
	++curtextincrement;
	// second move
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_pikachu.getMove(1).getCurPP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // pikachu's 2nd move's curpp
	battletext[curtextincrement].rec.top = 480;
	battletext[curtextincrement].rec.bottom = 525;
	battletext[curtextincrement].rec.left = 210;
	battletext[curtextincrement].rec.right = 360;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"/");
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // pikachu's 2nd move's slash
	battletext[curtextincrement].rec.top = 480;
	battletext[curtextincrement].rec.bottom = 525;
	battletext[curtextincrement].rec.left = 210;
	battletext[curtextincrement].rec.right = 410;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_pikachu.getMove(1).getMaxPP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // pikachu's 2nd move's maxpp
	battletext[curtextincrement].rec.top = 480;
	battletext[curtextincrement].rec.bottom = 525;
	battletext[curtextincrement].rec.left = 260;
	battletext[curtextincrement].rec.right = 410;
	++curtextincrement;
	// third move pp
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_pikachu.getMove(2).getCurPP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // pikachu's 3rd move's curpp
	battletext[curtextincrement].rec.top = 565;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 10;
	battletext[curtextincrement].rec.right = 160;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"/");
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // pikachu's 3rd move's slash
	battletext[curtextincrement].rec.top = 565;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 10;
	battletext[curtextincrement].rec.right = 210;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_pikachu.getMove(2).getMaxPP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // pikachu's 3rd move's maxpp
	battletext[curtextincrement].rec.top = 565;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 60;
	battletext[curtextincrement].rec.right = 210;
	++curtextincrement;
	// fourth move
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_pikachu.getMove(3).getCurPP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // pikachu's 4th move's curpp
	battletext[curtextincrement].rec.top = 565;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 210;
	battletext[curtextincrement].rec.right = 360;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"/");
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // pikachu's fortuh move's slash
	battletext[curtextincrement].rec.top = 565;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 210;
	battletext[curtextincrement].rec.right = 410;
	++curtextincrement;
	swprintf_s(charactertempthingy[curtextincrement], L"%d", a_pikachu.getMove(3).getMaxPP());
	battletext[curtextincrement].text = charactertempthingy[curtextincrement]; // pikachu's 4th move's maxpp
	battletext[curtextincrement].rec.top = 565;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 260;
	battletext[curtextincrement].rec.right = 410;
	++curtextincrement;

}
Beispiel #7
0
void Battle::menuReset(Pokemon a_pikachu, Pokemon a_enemy) {
	battlemenu.battleReset();
	//wchar_t tempwchar_t[256];
	D3DXCOLOR tempcolor = D3DXCOLOR(0.0f,0.0f,0.0f,1.0f);
	curtextincrement = 0;
	battletext[curtextincrement].text = a_pikachu.getName();// Pikachu's name
	battletext[curtextincrement].rec.top = 450;
	battletext[curtextincrement].rec.bottom = 525;
	battletext[curtextincrement].rec.left = 600;
	battletext[curtextincrement].rec.right = 800;
	++curtextincrement;
	battletext[curtextincrement].text = L"hp:"; // hp's hp:
	battletext[curtextincrement].rec.top = 525;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 490;
	battletext[curtextincrement].rec.right = 720;
	++curtextincrement;
	battletext[curtextincrement].text = terribleJankyIntToLPCWSTR(a_pikachu.getCurHP()); // Pikachu's curhp
	battletext[curtextincrement].rec.top = 525;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 555;
	battletext[curtextincrement].rec.right = 750;
	++curtextincrement;
	battletext[curtextincrement].text = L"/"; // hp's slash
	battletext[curtextincrement].rec.top = 525;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 610;
	battletext[curtextincrement].rec.right = 780;
	++curtextincrement;
	battletext[curtextincrement].text = terribleJankyIntToLPCWSTR(a_pikachu.getMaxHP()); // pikach's max hp
	battletext[curtextincrement].rec.top = 525;
	battletext[curtextincrement].rec.bottom = 600;
	battletext[curtextincrement].rec.left = 660;
	battletext[curtextincrement].rec.right = 800;
	++curtextincrement;
	//  enemy start
	battletext[curtextincrement].text = a_enemy.getName();// Enemy's name
	battletext[curtextincrement].rec.top = 75;
	battletext[curtextincrement].rec.bottom = 0;
	battletext[curtextincrement].rec.left = 0;
	battletext[curtextincrement].rec.right = 200;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	battletext[curtextincrement].text = L"hp:"; // hp's hp:
	battletext[curtextincrement].rec.top = 150;
	battletext[curtextincrement].rec.bottom = 75;
	battletext[curtextincrement].rec.left = 0;
	battletext[curtextincrement].rec.right = 100;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	battletext[curtextincrement].text = terribleJankyIntToLPCWSTR(a_enemy.getCurHP()); // enemy's curhp
	battletext[curtextincrement].rec.top = 150;
	battletext[curtextincrement].rec.bottom = 75;
	battletext[curtextincrement].rec.left = 10;
	battletext[curtextincrement].rec.right = 160;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	battletext[curtextincrement].text = L"/"; // hp's slash
	battletext[curtextincrement].rec.top = 150;
	battletext[curtextincrement].rec.bottom = 75;
	battletext[curtextincrement].rec.left = 10;
	battletext[curtextincrement].rec.right = 210;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
	battletext[curtextincrement].text = terribleJankyIntToLPCWSTR(a_enemy.getMaxHP()); // enemy's max hp
	battletext[curtextincrement].rec.top = 150;
	battletext[curtextincrement].rec.bottom = 75;
	battletext[curtextincrement].rec.left = 60;
	battletext[curtextincrement].rec.right = 210;
	battletext[curtextincrement].textColor = tempcolor;
	++curtextincrement;
}