From c157571230920c359f29c6d68c607d2ec1cd827c Mon Sep 17 00:00:00 2001 From: kdx Date: Wed, 30 Aug 2023 07:01:18 +0200 Subject: the clock is ticking --- inc/game.h | 5 +++++ res/clock0.bmp | Bin 0 -> 1229610 bytes res/clock1.bmp | Bin 0 -> 1229610 bytes src/game.c | 31 +++++++++++++++++++++++++++++++ src/main.c | 15 +++++++++------ 5 files changed, 45 insertions(+), 6 deletions(-) create mode 100644 inc/game.h create mode 100644 res/clock0.bmp create mode 100644 res/clock1.bmp create mode 100644 src/game.c diff --git a/inc/game.h b/inc/game.h new file mode 100644 index 0000000..090a19d --- /dev/null +++ b/inc/game.h @@ -0,0 +1,5 @@ +#pragma once + +void game_init(int white); +void game_update(void); +void game_draw(void); diff --git a/res/clock0.bmp b/res/clock0.bmp new file mode 100644 index 0000000..248f0ae Binary files /dev/null and b/res/clock0.bmp differ diff --git a/res/clock1.bmp b/res/clock1.bmp new file mode 100644 index 0000000..b9fdad1 Binary files /dev/null and b/res/clock1.bmp differ diff --git a/src/game.c b/src/game.c new file mode 100644 index 0000000..a30363f --- /dev/null +++ b/src/game.c @@ -0,0 +1,31 @@ +#include "game.h" +#include "TZR.h" +#include "cfg.h" + +int _white = 0; +int _my_turn = 0; + +void +game_init(int white) +{ + _white = white; + _my_turn = white; +} + +void +game_update(void) +{ +} + +void +game_draw(void) +{ + if (!_my_turn) { + TZR_DrawSetColor(1, 1, 1); + const TZR_Uint res[2] = { + TZR_RES("res/clock0.bmp"), + TZR_RES("res/clock1.bmp") + }; + TZR_DrawImage(res[TZR_GetTick() / FPS % 2]); + } +} diff --git a/src/main.c b/src/main.c index 2eacd47..7b5edc2 100644 --- a/src/main.c +++ b/src/main.c @@ -2,6 +2,7 @@ #include "cfg.h" #include "log.h" #include "netcode.h" +#include "game.h" static void deinit(void); static int main_loop(void *udata); @@ -11,14 +12,14 @@ main(int argc, char **argv) { (void)argc, (void)argv; - char p1_white; + char p2_white; if (argc > 1) { log_info("client, connecting to %s", argv[1]); if (netcode_init_client(argv[1], 8177)) { log_error("netcode_init_client failed"); return -1; } - if (netcode_recv(&p1_white, 1)) { + if (netcode_recv(&p2_white, 1)) { log_error("netcode_send failed"); netcode_deinit(); return -1; @@ -30,15 +31,15 @@ main(int argc, char **argv) return -1; } srand(time(NULL)); - p1_white = rand() % 2; - if (netcode_send(&p1_white, 1)) { + p2_white = rand() % 2; + if (netcode_send(&p2_white, 1)) { log_error("netcode_send failed"); netcode_deinit(); return -1; } } - log_info("i'm %s", (p1_white ^ netcode_host()) ? "black" : "white"); + game_init(p2_white ^ netcode_host()); if (TZR_Init(.width=DWIDTH, .height=DHEIGHT, .target_fps=FPS)) return 1; @@ -63,13 +64,15 @@ main_loop(void *udata) { (void)udata; + game_update(); + TZR_DrawBegin(); + game_draw(); TZR_DrawEnd(); if (netcode_ping()) { log_error("netcode_ping failed"); return -1; } - return 0; } -- cgit v1.2.3