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; game_statuses game_status= TIMER;
Ball ball(4, 6); 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); // 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); BotPaddle p2(4, MATRIX_WIDTH-1, 1);
Engine engine(p1, p2, ball, INITIAL_BALL_DELAY); Engine engine(p1, p2, ball, INITIAL_BALL_DELAY);
Renderer renderer(p1, p2, ball, frame, matrix); Renderer renderer(p1, p2, ball, frame, matrix);

View File

@@ -36,7 +36,9 @@ int8_t Ball::get_direction_y() {
void Ball::reset_position () { void Ball::reset_position () {
_x= BALL_RESET_X; _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_x);
this -> _init_directions(_direction_y); this -> _init_directions(_direction_y);
} }

View File

@@ -64,9 +64,9 @@ bool Engine::control_players() {
bool need_refresh= false; bool need_refresh= false;
if (_p1.is_human()) need_refresh |= _p1.check_pad_movement(); 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(); 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; return need_refresh;
} }