summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkdx <kikoodx@paranoici.org>2023-08-30 07:01:18 +0200
committerkdx <kikoodx@paranoici.org>2023-08-30 07:01:18 +0200
commitc157571230920c359f29c6d68c607d2ec1cd827c (patch)
tree2dc56d50b434f654066c68862833e529a84b88b6
parentf217acf535a8d3557b08345155d3016e86aa58ae (diff)
downloadpremovechess-main.tar.gz
the clock is tickingHEADmain
-rw-r--r--inc/game.h5
-rw-r--r--res/clock0.bmpbin0 -> 1229610 bytes
-rw-r--r--res/clock1.bmpbin0 -> 1229610 bytes
-rw-r--r--src/game.c31
-rw-r--r--src/main.c15
5 files changed, 45 insertions, 6 deletions
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
--- /dev/null
+++ b/res/clock0.bmp
Binary files differ
diff --git a/res/clock1.bmp b/res/clock1.bmp
new file mode 100644
index 0000000..b9fdad1
--- /dev/null
+++ b/res/clock1.bmp
Binary files 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;
}