15 int x = 1, y = 0, aoff = 0, boff = 0;
16 int max_y = 0, max_x = 0;
17 int max_y_new = 0, max_x_new = 0;
20 int a_score = 0, b_score = 0;
30 nodelay(stdscr, 1); // Don't wait for getch input
35 getmaxyx(stdscr, max_y_new, max_x_new);
39 if (max_y_new != max_y || max_x_new != max_x) {
51 } else if (key == 'k') {
53 } else if (key == 'i') {
55 } else if (key == 's') {
57 } else if (key == 'w') {
62 for (int i = 0; i < max_y; i++) {
64 mvprintw(i, max_x, " ");
66 for (int i = aoff; i < aoff + pad_h; i++) {
70 for (int i = boff; i < boff + pad_h; i++) {
71 mvprintw(i, max_x, "|");
74 for (int i = 0; i < max_y; i++) {
75 mvprintw(i, max_x/2, ":");
78 mvprintw(0, 2, "%d", a_score);
79 mvprintw(0, max_x - 1, "%d", b_score);
85 y = index / slope_x * slope_y;
88 // Check if touching paddle
90 if (y >= boff && y <= boff + pad_h) {
99 if (y >= aoff && y <= aoff + pad_h) {
107 } else if (y < 0 || y > max_y) {
110 usleep(3000000 * (1.0/((double)max_x + (double)max_y)));