// Callback of the W / UpArrow keys // Runs actions according to this key void Player::callback_WorUp() { // If no action is occurring, and the player is RUNNING , JUMP // If JUMP action is occurring, DOUBLE JUMP // If DOUBLE JUMP action is occurring, do nothing if (this->currentAction == Action::DOUBLE_JUMPING) { return; } if (this->currentAction == Action::JUMPING) { doubleJump(); return; } jump(); }
void GameClass::DrawGameIntro () const { ALLEGRO_COLOR fontColor = cWhite; if (introScreen == 0) { for (size_t i = 0; i < cGameIntroLines; i++) { al_draw_text(normalFont, fontColor, cWindowWidth/2, 70 + i*45, ALLEGRO_ALIGN_CENTRE, cGameIntroText[language][i].c_str()); } al_draw_text(normalFont, fontColor, cWindowWidth - 20, cWindowHeight - 30, ALLEGRO_ALIGN_RIGHT, cPressAnyKey[language].c_str()); } else { for (size_t i = 0; i < cInstructionsLines; i++) { al_draw_text(normalFont, fontColor, 200, 200 + i*45, ALLEGRO_ALIGN_LEFT, cInstructionsText[language][i].c_str()); } Upgrade jump (jumpUpgrade, 200, 180 + 5*45), speed (speedUpgrade, 200, 180 + 6*45), life (lifeUpgrade, 200, 180 + 7*45), doubleJump(doubleJumpUpgrade, 200, 180 + 8*45), wallJump (wallJumpUpgrade, 200, 180 + 9*45); jump.Draw(); speed.Draw(); life.Draw(); doubleJump.Draw(); wallJump.Draw(); al_draw_text(bigFont, fontColor, cWindowWidth/2, 40, ALLEGRO_ALIGN_CENTRE, cInstructions[language].c_str()); al_draw_text(normalFont, fontColor, cWindowWidth - 20, cWindowHeight - 30, ALLEGRO_ALIGN_RIGHT, cPressAnyKey[language].c_str()); } }