Differences

This shows you the differences between two versions of the page.

Link to this comparison view

pm:prj2022:cristip:maze_game [2022/05/17 16:03]
sorin.mateescu
pm:prj2022:cristip:maze_game [2022/06/02 02:41] (current)
sorin.mateescu [Download]
Line 1: Line 1:
-====== Maze Game ======+====== ​Into The Maze ======
  
 Sorin-Gabriel Mateescu Sorin-Gabriel Mateescu
 +
 332CB 332CB
  
 ===== Introducere ===== ===== Introducere =====
  
-Proiectul vizeaza implementarea unui joc de tip labirint; ​obiectivele ​jocului ​sunt evitarea obstacolelor,​ obtinerea unui scor cat mai bun prin colectarea unor obiecte si evadarea ​din labirint ​intr-un timp cat mai scurt.+Proiectul vizeaza implementarea unui joc de tip labirint; ​obiectivul ​jocului ​este gasirea unei iesiri ​din labirint ​inainte de expirarea timpului.
  
 ===== Descriere generală ===== ===== Descriere generală =====
  
-Jucatorul va interactiona cu jocul prin intermediul unui ecran LCD de 2.2 in, controlat prin SPI de un uC Plusivo ESP8266 si prin intermediul a 4 butoane, corespunzatoare celor 4 directii cardinale.+Jucatorul va interactiona cu jocul prin intermediul a 4 butoane, corespunzatoare celor 4 directii cardinale; uC Plusivo ESP8266 va functiona drept server web si jocul va fi afisat pe alt dispozitiv (ecranul laptopului, de exemplu).
  
-{{ :​pm:​prj2022:​cristip:​mazegame.png?500 |}}+{{ :​pm:​prj2022:​cristip:​diagrama.png?500 |}}
  
 ===== Hardware Design ===== ===== Hardware Design =====
Line 18: Line 19:
 Componente folosite Componente folosite
   * ESP8266   * ESP8266
-  * LCD SPI 2.2 in 
   * 4 butoane   * 4 butoane
-  * breadboard/cablaj de test, cabluri+  * breadboard 
 +  * cabluri
  
 ===== Software Design ===== ===== Software Design =====
  
- 
-<note tip> 
 Descrierea codului aplicaţiei (firmware): Descrierea codului aplicaţiei (firmware):
-  * mediu de dezvoltare ​(if any) (e.g. AVR Studio, CodeVisionAVR) +  * mediu de dezvoltare: ArduinoIDE 
-  * librării şi surse 3rd-party ​(e.g. Procyon AVRlib) +  * librării şi surse 3rd-party ​ESP8266WebServer,​ ESP8266TimerInterrupt 
-  * algoritmi şi structuri pe care plănuiţi să le implementaţi +  * algoritmi şi structuri pe care plănuiţi să le implementaţi: algoritmul de generare a labirintului (Hunt and Kill), logica jocului (coliziuni cu peretii, expirarea timpului), afisarea unui ecran de inceput pentru setarea parametrilor jocului si un ecran de victorie/​infrangere 
-  * (etapa 3) surse şi funcţii implementate +  * (etapa 3) surse şi funcţii implementate: 
-</​note>​+  - Maze.h si Maze.cpp - definitii si implementari pentru functionalitatea de generare si reprezentare logica a labirintului si jucatorului 
 +  - Web.h, Web.cpp, WebGame.cpp,​ WebRoot.cpp - definitii si implementari pentru functionalitatea responsabila de servirea, actualizarea si afisarea paginilor web 
 +  - Globals.h - definitii globale (culori, dimensiuni, pini utilizati) 
 +  - projectPM.ino - fisierul principal, unde se actualizeaza starea jocului
  
 ===== Rezultate Obţinute ===== ===== Rezultate Obţinute =====
  
-<note tip> +Cele 4 butoane si uC sunt amplasate pe breadboard astfel incat el sa poata fi tinut in mana, asemanator cu o telecomanda. 
-Care au fost rezultatele obţinute în urma realizării proiectului vostru+ 
-</​note>​+Pagina de inceput, unde se selecteaza parametrii jocului: 
 + 
 +{{ :​pm:​prj2022:​cristip:​splash.png?500 |}} 
 + 
 +Capturi de ecran din joc: 
 +{{ :​pm:​prj2022:​cristip:​maze1.png?​500 |}} 
 + 
 +{{ :​pm:​prj2022:​cristip:​maze3.png?​500 |}} 
 + 
 +Mesajul de victorie: 
 +{{ :​pm:​prj2022:​cristip:​victory.png?​500 |}} 
 + 
 +Mesajul de infrangere:​ 
 +{{ :​pm:​prj2022:​cristip:​defeat.png?​500 |}} 
 + 
  
 ===== Concluzii ===== ===== Concluzii =====
  
-===== Download ===== 
  
-<note warning> 
-O arhivă (sau mai multe dacă este cazul) cu fişierele obţinute în urma realizării proiectului:​ surse, scheme, etc. Un fişier README, un ChangeLog, un script de compilare şi copiere automată pe uC crează întotdeauna o impresie bună ;-). 
  
-Fişierele se încarcă pe wiki folosind facilitatea **Add Images or other files**. Namespace-ul în care se încarcă fişierele este de tipul **:​pm:​prj20??:​c?​** sau **:​pm:​prj20??:​c?:​nume_student** (dacă este cazul). **Exemplu:​** Dumitru Alin, 331CC -> **:​pm:​prj2009:​cc:​dumitru_alin**. +===== Download =====
-</​note>​+
  
-===== Jurnal =====+{{ :​pm:​prj2022:​cristip:​intothemaze.zip |}}
  
-<note tip> +===== Jurnal ===== 
-Puteți avea și o secțiune de jurnal în care să poată urmări asistentul de proiect progresul proiectului. +  * Planul initial includea folosirea unui LCD TFT SPI 2.2in, dar in urma discutiei cu Cristian Patru am ajuns la concluzia ca produsul era defect si am pivotat proiectul catre utilizarea uC drept server ​care sa serveasca jocul peste retea.
-</​note>​+
  
 ===== Bibliografie/​Resurse ===== ===== Bibliografie/​Resurse =====
pm/prj2022/cristip/maze_game.1652792616.txt.gz · Last modified: 2022/05/17 16:03 by sorin.mateescu
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0