summaryrefslogtreecommitdiffstats
path: root/src/game.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/game.c')
-rw-r--r--src/game.c52
1 files changed, 52 insertions, 0 deletions
diff --git a/src/game.c b/src/game.c
index f591781..c6edaf5 100644
--- a/src/game.c
+++ b/src/game.c
@@ -1,8 +1,11 @@
#include <stdlib.h>
+#include <curses.h>
#include "game.h"
#include "player.h"
+static void draw_paddles(struct game *g);
+
struct game *
new_game(void)
{
@@ -27,3 +30,52 @@ free_game(struct game *g)
free(g);
}
+
+void
+draw_game(struct game *g)
+{
+ draw_paddles(g);
+}
+
+static void
+draw_paddles(struct game *g)
+{
+ int off;
+ int pos;
+
+ /* Player 1 horizontal paddle */
+ off = g->players[0]->paddle_h.pos;
+ off -= g->players[0]->paddle_h.size / 2;
+ for (pos = 0; pos < g->players[0]->paddle_h.size; ++pos) {
+ attr_on(WA_REVERSE, NULL);
+ mvprintw(23, off + pos, " ");
+ attr_off(WA_REVERSE, NULL);
+ }
+
+ /* Player 1 vertical paddle */
+ off = g->players[0]->paddle_v.pos;
+ off -= g->players[0]->paddle_v.size / 2;
+ for (pos = 0; pos < g->players[0]->paddle_v.size; ++pos) {
+ attr_on(WA_REVERSE, NULL);
+ mvprintw(off + pos, 1, " ");
+ attr_off(WA_REVERSE, NULL);
+ }
+
+ /* Player 2 horizontal paddle */
+ off = g->players[1]->paddle_h.pos;
+ off -= g->players[1]->paddle_h.size / 2;
+ for (pos = 0; pos < g->players[1]->paddle_h.size; ++pos) {
+ attr_on(WA_REVERSE, NULL);
+ mvprintw(1, off + pos, " ");
+ attr_off(WA_REVERSE, NULL);
+ }
+
+ /* Player 2 vertical paddle */
+ off = g->players[1]->paddle_v.pos;
+ off -= g->players[1]->paddle_v.size / 2;
+ for (pos = 0; pos < g->players[1]->paddle_v.size; ++pos) {
+ attr_on(WA_REVERSE, NULL);
+ mvprintw(off + pos, 78, " ");
+ attr_off(WA_REVERSE, NULL);
+ }
+}