Table of Contents

Text-Based RPG

Student: Login to see contact info.

Introducere

Proiectul reprezintă implementarea unui joc RPG cu interfață text. Jocul este alcătuit din mai multe evenimente generate aleator. Jucătorul poate interacționa în mai multe feluri cu evenimentele întâmpinate, ducând la rezultate diferite.

Descriere generală

Schema bloc: Periferice de intrare:

Periferice de ieșire:

Hardware Design

Lista de componente:

Software Design

IDE folosite: Arduino pentru compilare și trimitere; VSC pentru editare surse

Tutorial LCD + Biblioteca LCD_Functions.h:

Fișiere cu cod:

Funcționalități

Rezultate Obţinute

Legarea plăcii cu ecranul: Jocul terminat:

Concluzii

Lucrând la acest proiect am realizat că trebuie să am foarte mare grijă la memorie. Au apărut foarte multe bug-uri în timpul implementări, cum ar fi pagini care nu apăreau în totalitate sau restartări ale plăcii. Foarte multe s-au datorat umplerii memoriei. Pentru a maximiza funcționalitățile și a minimaliza memoria utilizată am lucrat după următoarele reguli:

1) #define în loc de const

2) bufferii globali sunt reutilizați

3) variabilele sunt definite în blocuri

4) byte (unsigned char) și unsigned short în loc de int

5) variabilele globale și câmpurile din clasele globale folosite rar pot fi înlocuite cu funcții care le recalculează pentru a nu ocupa memorie când nu sunt utilizate (de exemplu am înlocuit UI::usesLeds cu UI::UsesLeds(), care întoarce true sau false în loc să rețină valoarea)

Download

Arhivă cu sursele: text-based_rpg.zip

Jurnal

https://ocw.cs.pub.ro/courses/pm/prj2021/dbrigalda/text-based_rpg?do=revisions

Bibliografie/Resurse

LCD: https://learn.sparkfun.com/tutorials/graphic-lcd-hookup-guide

Joystick: https://www.youtube.com/watch?v=B6YEQj4d5WU

Potențiometru: https://www.youtube.com/watch?v=PUte1cmJ44A

Buzzer Pasiv: https://www.youtube.com/watch?v=dHYKRrlPNzM

Documentația în format PDF