random shift ball vertical position after score

This commit is contained in:
andrea
2026-03-19 22:32:01 +01:00
parent fbad1a87d6
commit 8e5fe2143c
3 changed files with 7 additions and 5 deletions

View File

@@ -36,9 +36,9 @@ enum game_statuses : uint8_t {
game_statuses game_status= TIMER;
Ball ball(4, 6);
// HumanPaddle p1(1, P1_BTN_UP, P1_BTN_BOTTOM);
HumanPaddle p1(1, P1_BTN_UP, P1_BTN_BOTTOM);
// HumanPaddle p2(4, P2_BTN_UP, P2_BTN_BOTTOM);
BotPaddle p1(1, 0, 2);
// BotPaddle p1(1, 0, 2);
BotPaddle p2(4, MATRIX_WIDTH-1, 1);
Engine engine(p1, p2, ball, INITIAL_BALL_DELAY);
Renderer renderer(p1, p2, ball, frame, matrix);

View File

@@ -36,7 +36,9 @@ int8_t Ball::get_direction_y() {
void Ball::reset_position () {
_x= BALL_RESET_X;
_y= BALL_RESET_Y;
int8_t delta= random(3);
if (random(2) == 0) delta *= -1;
_y= BALL_RESET_Y + delta;
this -> _init_directions(_direction_x);
this -> _init_directions(_direction_y);
}

View File

@@ -64,9 +64,9 @@ bool Engine::control_players() {
bool need_refresh= false;
if (_p1.is_human()) need_refresh |= _p1.check_pad_movement();
else need_refresh |= _p1.check_pad_movement();
else need_refresh |= _p1.check_pad_movement(_ball);
if (_p2.is_human()) need_refresh |= _p2.check_pad_movement();
else need_refresh |= _p2.check_pad_movement();
else need_refresh |= _p2.check_pad_movement(_ball);
return need_refresh;
}