Table of Contents

Nintendo Switch de buget

Constantin-Adrian BRABETE (101569) 2021/04/25 17:41

Aceasta pagina este incompleta si va suferi schimbari

Introducere

Proiectul propune realizarea unei console retro care pune la dispozitie utilizatorului 5 jocuri. Acestea pot fi jucate de unul sau 2 jucatori.

Scopul acestui proiect este familiarizarea cu Arduino si crearea unei jucarii nostalgice interesante care sa aduca bucuria unor jocuri clasice.

Descriere generală

Consola este prevazuta cu 3 jocuri:

  1. Snake - Single Player
  2. Tetris - Single Player - WIP
  3. Pong - Multiplayer - WIP
  4. Doodle - Single Player
  5. Maze - Single Player

La aceasta sunt conectate 2 controllere, unul format din 4 butoane iar altul format dintr-un joystick.

Consola prezinta de asemenea 2 display-uri, un ecran LCD cu 2 randuri care arata meiul consolei si lista de jocuri, iar in timpul jocului arata informatii aditionale cum ar fi numarul de vieti si scorul. Al doilea display este o matrice Led de 8×8 pe care se ruleaza jocul in sine.

Consola porneste in modul de meniu cu matricea stinsa, si ecran ul in modul de meniu. In modul de meniu pe ecran ul led sunt 3 tab uri, navigarea prin meniu se face cu joystick ul, iar pentru selectie se apas pe joystick.

Taburile din meniu sunt:

Hardware Design

Diagrama

Schema Eagle

Lista piese

Software Design

Functionalitatea poate fi descrisa aproximativ cu un state machine, startea principala este loop ul de meniu in care se asteapta dupa update uri sus jos de la joystick, sau selectii ale unui tab din meniu.

La selectarea unui joc se modifica o variabila de stare care face sa se selecteze un alt loop, unul dintre loop urile de joc care ruleaza logica jocului si porneste matricea.

Pentru display ul de joc si afisarea si deplasarea led urilor se foloseste bibloteca Led Control, iar pentru ecran ul lcd folosesc bibloteca LiquidCrystal.h. Logica jocurilor actuale este asemataore din punct de vedere al deplasarii, core gameplay ul pentru fiecare este deplasarea unui led pe matrice.

In cazul lui snake dificultatea mai mare a fost miscarea cozi dupa capul sarpelui, aceasta se face intr-un mod asemanator cu o stiva in care se deplaseaza capul iar apoi coada urmeaza locurile eliberate.

Pentru Maze se creeaza o matrice de start cu pereti apoi se genereaza o capcana intr-o pozitie random. Iar pentru doodle se curata matricea si apoi se deplaseaza led ul si in momentul apasari pe joystick se lasa led ul aprins pana la inchiderea matricii.

Rezultate Obţinute

Concluzii

Executia proiectului a fost cea mai interesanta activitate didactica din acest semestru, achizitionarea pieselor, prototiparea si faptul ca la final ramai cu o mica jucarie au facut efectuarea proiectului mai usoara comparativ cu temele de la alte materii. As dori sa continui proiectul pe vara si sa termin si celelate idei care le am pentru proiect

Download

Cod sursa Video prezentativ

Bibliografie/Resurse

nintendo_switch_de_buget_1_.pdf Pentru logica jocurilor am folosit mai multe tutoriale si alte resurse online.