#include <stdio.h>
#define HEIGHT 25
#define WEIGHT 80
#define BALL_SYMBOL '*'
void PrintField(int paddle_left_y, int paddle_right_y,int paddle_left_x, int paddle_right_x, int ball_x, int ball_y) {
for (int y = 0; y < HEIGHT; y++) {
for (int x = 0; x < WEIGHT; x++) {
if (y == 0 || y == HEIGHT - 1) {
putchar('-');
} else if (x == paddle_left_x &&
(y == paddle_left_y || y == paddle_left_y + 1 || y == paddle_left_y + 2)) {
putchar('|');
} else if (x == paddle_right_x &&
(y == paddle_right_y || y == paddle_right_y + 1 || y == paddle_right_y + 2)) {
putchar('|');
} else if (x == ball_x && y == ball_y) {
putchar('o');
} else {
putchar(' ');
}
}
putchar('\n');
}
}
int main() {
int paddle_left_y = 12;
int paddle_right_y = 12;
int paddle_left_x = 10;
int paddle_right_x = WEIGHT - paddle_left_x;
int player_left_score = 0;
int player_right_score = 0;
int vx = 2;
int vy = 1;
int ball_x = WEIGHT / 2;
int ball_y = HEIGHT / 2;
PrintField(paddle_left_y,paddle_right_y,paddle_left_x, paddle_right_x, ball_x, ball_y);
while (1 == 1) {
char input;
if (scanf("%c", &input) != 1) {
printf("n/a");
return 0;
}
if (input != 'K' && input != 'M' && input != 'A' && input != 'Z' && input != ' ') continue;
if (input == 'K' && paddle_right_y > 1) paddle_right_y--;
if (input == 'M' && paddle_right_y < HEIGHT - 1 - 3) paddle_right_y++;
if (input == 'A' && paddle_left_y > 1) paddle_left_y--;
if (input == 'Z' && paddle_left_y < HEIGHT - 1 - 3) paddle_left_y++;
if ((ball_x + vx == paddle_left_x && ball_y + vy >= paddle_left_y && ball_y + vy < paddle_left_y + 3) ||
(ball_x + vx == paddle_right_x && ball_y + vy >= paddle_right_y && ball_y + vy < paddle_right_y + 3)) {
vx = -vx;
}
if (ball_y + vy >= HEIGHT - 1 || ball_y + vy <= 0) vy = -vy;
if (ball_x + vx < paddle_left_x) {
player_left_score++;
ball_x = WEIGHT / 2;
ball_y = HEIGHT / 2;
paddle_left_y = 12;
paddle_right_y = 12;
}
if (ball_x + vx > paddle_right_x) {
player_right_score++;
ball_x = WEIGHT / 2;
ball_y = HEIGHT / 2;
paddle_left_y = 12;
paddle_right_y = 12;
}
ball_y = ball_y + vy;
ball_x = ball_x + vx;
PrintField(paddle_left_y,paddle_right_y,paddle_left_x, paddle_right_x, ball_x, ball_y);
}
}