Un poco de entrenamiento

No esta completo
This commit is contained in:
Nacho
2025-05-31 01:39:25 +02:00
parent 1938a57102
commit 4fa960562e
14 changed files with 237 additions and 42 deletions
+5
View File
@@ -47,6 +47,11 @@ void menu_drawCurrentMenuOption(TFT_eSprite &bg, TFT_eSprite &icon, struct Sprit
menu_sleepScreen_sleepAction();
break;
case TRAIN_SCREEN_MENU:
screenKey = TRAINING_SCREEN_1;
return;
break;
case POOP_SCREEN_MENU:
menuKey = STATUS_SCREEN;
screenKey = CLEAR_POOP_SCREEN;
+68
View File
@@ -0,0 +1,68 @@
#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"
void training_screenTraining1(
TFT_eSprite &bg, TFT_eSprite &sprite,
struct SpriteData* mainCharaData, struct SpriteData* attackSprites
) {
draw_drawBackground(bg, 90, 90, 3);
draw_drawSpriteCentered(sprite, mainCharaData, 11, 6);
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, 6);
tft_drawCenteredText("PUSH!!", 4, 190);
tft_drawBuffer();
uint8_t attackPower = 0;
uint64_t currentTime = lastUpdateTime = esp_timer_get_time();
while (currentTime - lastUpdateTime < 8000000) {
currentTime = esp_timer_get_time();
uint8_t buttonsRead = buttons_getPressedButtons();
switch (buttonsRead) {
case 8:
attackPower++;
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);
}
+11
View File
@@ -0,0 +1,11 @@
#ifndef TRAINING_SCREENS_H
#define TRAINING_SCREENS_H
#include <TFT_eSPI.h>
void training_screenTraining1(
TFT_eSprite &bg, TFT_eSprite &sprite,
struct SpriteData* mainCharaData, struct SpriteData* attackSprites
);
#endif