From 1c7f3f0ee26aede868fb89a8ff9ddd1df4f4d28c Mon Sep 17 00:00:00 2001
From: phamthit <phamthit@bullseye>
Date: Wed, 31 May 2023 17:31:01 +0200
Subject: [PATCH] Add welcome, win, loos text

---
 main/Makefile |  2 +-
 main/main.c   | 36 +++++++++++++++++-------------------
 2 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/main/Makefile b/main/Makefile
index ace6e76..e714ac7 100644
--- a/main/Makefile
+++ b/main/Makefile
@@ -9,7 +9,7 @@ LDFLAGS += -static
 LDLIBS += -lrt -lpthread
 #LDLIBS += -lm
 
-SOURCES = main.c mzapo_phys.c mzapo_parlcd.c serialize_lock.c utils.c knobs.c led_rgb.c draw.c led_line.c projectile.c enemy.c player.c letters.c collision_rect.c collision.c obstacle.c
+SOURCES = main.c mzapo_phys.c mzapo_parlcd.c serialize_lock.c utils.c knobs.c led_rgb.c draw.c led_line.c projectile.c enemy.c player.c letters.c collision_rect.c collision.c obstacle.c text.c
 #SOURCES += font_prop14x16.c font_rom8x16.c
 TARGET_EXE = main
 TARGET_IP ?= 192.168.223.109
diff --git a/main/main.c b/main/main.c
index 59ccb89..ff5395c 100644
--- a/main/main.c
+++ b/main/main.c
@@ -37,6 +37,7 @@
 #include "projectile.h"
 #include "obstacle.h"
 #include "collision.h"
+#include "text.h"
 
 
 #define FBUF_DTYPE uint16_t
@@ -83,8 +84,10 @@ int main(int argc, char *argv[]) {
   frame_buffer->draw(frame_buffer);
   frame_buffer->null_buffer(frame_buffer);
 
+  sleep(4);
+
   // INITIALISATION
-  int is_win = 0;
+   bool victory = false;
 
   // ENEMIES
   int enemy_row = 3;
@@ -133,9 +136,6 @@ int main(int argc, char *argv[]) {
     
     player->draw(player, frame_buffer);
     update_health_rgb1(spiled_base, player->max_hp, player->hp);
-    if (player->hp <= 0 || player->ammo < 10) {
-      break;
-    }
 
     for (int i = 0; i < num_enemy; i++) {
       enemy_t* enemy = enemies[i];
@@ -206,28 +206,26 @@ int main(int argc, char *argv[]) {
     frame_buffer->null_buffer(frame_buffer);
 
     if (count_enemies <= 0) {
-    is_win = 1;
-    break;
+      victory = true;
+      break;
     }
 
-    bool game_end = true;
-    if(game_end){
-      bool vic = false;
-      if(vic){
-        end_game_text = get_text("YOU WON !!!");
-      } else {
-        end_game_text = get_text("GAME OVER !!!");
-      }
-      frame_buffer->null_buffer(frame_buffer);
-      end_game_text->draw(end_game_text,frame_buffer,80,130);
-      frame_buffer->draw(frame_buffer);
-
-      error("game ending");
+    if (player->hp <= 0 || player->ammo < 10) {
+      victory = false;
       break;
     }
+  }
 
+  if(victory) {
+    end_game_text = get_text("YOU WON !!!");
+  } else {
+    end_game_text = get_text("GAME OVER !!!");
   }
 
+  frame_buffer->null_buffer(frame_buffer);
+  end_game_text->draw(end_game_text,frame_buffer,80,130);
+  frame_buffer->draw(frame_buffer);
+
   // FREE OBJECTS
   info("free");
   debug("free projectiles");
-- 
GitLab