summaryrefslogtreecommitdiffstats
path: root/src/game.c
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2013-05-20 15:20:37 (EDT)
committer P. J. McDermott <pjm@nac.net>2013-05-20 15:20:37 (EDT)
commit17b37f5bb462c29e2b8c94068c4b54e1af39b2b7 (patch)
treeb5e3669410e4c3cc16c6f8accb4f146f0422fe37 /src/game.c
parent6c69108044469c2ec69ad27eb768ca4680e131e1 (diff)
downloadcursespong-17b37f5bb462c29e2b8c94068c4b54e1af39b2b7.zip
cursespong-17b37f5bb462c29e2b8c94068c4b54e1af39b2b7.tar.gz
cursespong-17b37f5bb462c29e2b8c94068c4b54e1af39b2b7.tar.bz2
Draw the paddles on the screen.
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);
+ }
+}