27

Dependencies:   N5110

Revision:
0:ef959ad27a16
Child:
1:48a028c4089e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Thu Apr 08 02:09:25 2021 +0000
@@ -0,0 +1,162 @@
+/* mbed Microcontroller Library
+ * Copyright (c) 2019 ARM Limited
+ * SPDX-License-Identifier: Apache-2.0
+ */
+
+#include "mbed.h"
+#include "platform/mbed_thread.h"
+#include "N5110.h"
+
+#include "shapes.h"
+#include "main.h"
+#include "monster.h"
+
+N5110 lcd(p8,p9,p10,p11,p13,p21);
+DigitalIn button_A(p29);
+DigitalIn button_B(p28);
+DigitalIn button_C(p27);
+DigitalIn button_D(p26);
+
+Monster monster;
+
+int lifes;
+int score, best_score;
+
+void init();
+void welcome();
+
+void choice();
+
+void game_begin();
+void show_score();
+void instruction();
+
+int main()
+{
+    init();
+    welcome();
+    
+    while(1) {
+        
+        if (button_A.read() == 1 ) {
+        
+            choice();
+             
+        }
+    }
+    
+}
+
+//**********************//
+
+void init() {
+    
+    lcd.init();
+    
+    lifes = 3;
+    score = 0;
+    
+}
+
+void welcome() {
+    
+    lcd.clear();
+    
+    lcd.drawSprite(60,12,12,14,(int *)bigMonster);
+    lcd.printString("Monster",0,0);
+    lcd.printString("Game",0,2);
+    
+    lcd.printString("Press A  NEXT",0,5);
+    
+    // thread_sleep_for(200);
+    lcd.refresh();
+    
+}
+
+void choice() {
+
+    lcd.clear();
+    
+    lcd.printString("A. BEGIN",0,0);
+    lcd.printString("B. SCORE",0,2);
+    lcd.printString("C. INFO",0,4);
+    
+    lcd.refresh();
+    
+    thread_sleep_for(50);
+    
+    while(1) {
+        
+        if(button_A.read() == 1) {
+              game_begin();
+        }
+        if(button_B.read() == 1) {
+              show_score();
+        }
+        if(button_C.read() == 1) {
+              instruction();
+        }
+           
+    }
+   
+}
+
+//***********************//
+
+void game_begin() {
+    
+    monster.monster_main(lcd, button_A, button_B, button_C, button_D);
+    
+}
+
+void show_score() {
+    
+    lcd.clear();
+    
+    lcd.printString("BEST SCORE",12,1);
+    
+    char buffer[14];
+    sprintf(buffer,"%d",best_score);
+    lcd.printString(buffer,12,3);
+    
+    lcd.printString("Press A   BACK",0,5);
+    
+    lcd.refresh();
+    
+    while(1) {
+     
+        if(button_A.read() == 1) {
+            choice();
+        }    
+    }
+    
+}
+
+
+void instruction() {
+    
+    lcd.clear();
+    
+    lcd.drawSprite(0,0,6,7,(int *)whiteMonster);
+    lcd.drawSprite(0,9,7,7,(int *)blackMonster);
+    lcd.drawSprite(2,19,3,3,(int *)shapStar);
+    lcd.drawSprite(1,26,4,5,(int *)shapHeart);
+    
+    lcd.printString("Your monster",12,0);
+    lcd.printString("Enemy",12,1);
+    lcd.printString("Jewel",12,2);
+    lcd.printString("Lives",12,3);
+    
+    lcd.printString("Press A   BACK",0,5);
+    
+    // thread_sleep_for(200);
+    lcd.refresh();
+    
+    while(1) {
+     
+        if(button_A.read() == 1) {
+            choice();
+        }    
+    }
+    
+}