mirror of
https://github.com/nacabaro/nacapet.git
synced 2026-06-05 14:02:53 +00:00
79 lines
2.1 KiB
C++
79 lines
2.1 KiB
C++
#include "vpet/training/training.h"
|
|
#include "defs/defs.h"
|
|
#include "defs/chara_data.h"
|
|
#include "defs/sprite_data.h"
|
|
#include "buttons/buttons.h"
|
|
#include "display/display.h"
|
|
#include "draw/draw.h"
|
|
#include "loop/loop.h"
|
|
|
|
void training_screenTraining1(
|
|
TFT_eSprite &bg, TFT_eSprite &sprite,
|
|
struct SpriteData* mainCharaData, struct SpriteData* attackSprites
|
|
) {
|
|
vTaskSuspend(secondLoop);
|
|
|
|
draw_drawBackground(bg, 90, 90, 3);
|
|
draw_drawSpriteCentered(sprite, mainCharaData, 11);
|
|
|
|
tone(SPK_PIN, 4100, 100);
|
|
tone(SPK_PIN, 3500, 100);
|
|
|
|
tft_drawBuffer();
|
|
|
|
delay(500);
|
|
|
|
draw_drawBackground(bg, 90, 90, 3);
|
|
draw_drawSpriteCentered(sprite, mainCharaData, 0);
|
|
tft_drawCenteredText("PUSH!!", 4, 190);
|
|
|
|
tft_drawBuffer();
|
|
|
|
uint8_t attackPower = 0;
|
|
uint64_t currentTime = lastUpdateTime = esp_timer_get_time();
|
|
int16_t lineYPos = 0;
|
|
bool counted = false;
|
|
|
|
while (currentTime - lastUpdateTime < 5000000) {
|
|
currentTime = esp_timer_get_time();
|
|
|
|
uint8_t buttonsRead = buttons_getPressedButtons();
|
|
|
|
switch (buttonsRead) {
|
|
case 8:
|
|
attackPower++;
|
|
if (attackPower % 4 == 0) {
|
|
tft_drawRectangle(18, 168 - lineYPos, 18, 6, TFT_BLACK);
|
|
tft_drawBuffer();
|
|
lineYPos += 8;
|
|
} else {
|
|
delay(15);
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
screenKey = MENU_SCREEN;
|
|
menuKey = TRAIN_SCREEN_MENU;
|
|
return;
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
uint8_t attackResult;
|
|
if (attackPower > 20) {
|
|
attackResult = ATTACK_PATTERN_EXCELLENT;
|
|
} else if (attackPower <= 20 && attackPower > 16) {
|
|
attackResult = ATTACK_PATTERN_GREAT;
|
|
} else if (attackPower <= 16 && attackPower > 10) {
|
|
attackResult = ATTACK_PATTERN_GOOD;
|
|
} else if (attackPower <= 10 && attackPower > 6) {
|
|
attackResult = ATTACK_PATTERN_BAD;
|
|
} else {
|
|
attackResult = ATTACK_PATTERN_MEDIOCRE;
|
|
}
|
|
|
|
training_displayTrainingResult(bg, sprite, mainCharaData, attackSprites, attackResult);
|
|
} |