Table of Contents

Survival Shooter

Nume: Anghel Mihai-Gabriel
Grupa: 336CC

Introducere

Jocul constă într-un personaj ce este controlat de un joystick, se poate mișca sus-jos, stânga-dreapta, trăgând cu proiectile în obiecte care se mișcă pe verticală (sus → jos). Când player-ul elimină obiecte, punctajul crește și buzzer-ul produce un zgomot, altfel punctajul va scădea. Player-ul are 3 vieți de-a lungul unei sesiuni de joc, evidențiate prin trei leduri care se sting secvențial în momentul în care personajul este atins de un obiect. La anumite perioade de timp, viteza cu care obiectele vin și/sau densitatea lor va crește, pentru o dificultate sporită. Personajul va ataca în momentul apăsării unui buton. Anumite informații legate de joc, cum ar fi: timestamp-ul și scorul jucătorului cu cele mai bune rezultate, se vor salva pe un card microSD. Scopul jocului este ca player-ul să rămână în viață cât mai mult timp și să acumuleze un punctaj cât mai mare.

Descriere generală

Descriere

Jocul are scopul de a oferi un joc plăcut care stârnește dorința de a bate recordul înregistrat pâna la momentul respectiv. Acesta este construit pe 3 niveluri de dificultate. Primul nivel este de acomodare, al doilea pentru introducere într-un ritm mai rapid, iar ultimul nivel te provoacă să dai tot ce ai mai bun. Controlul player-ului este foarte ușor mulțumită joystick-ului, același lucru fiind valabil și pentru bombardarea inamicilor. Atât buzzer-ul, cât și led-urile sporesc adrenalina menită să facă un joc cât mai atractiv.

Input:

Output:

Joystick-ul este conectat la pinii analogici A0, A1 ai plăcuței Arduino
Butonul este conectat la pinul digital 2 folosește o rezistență de pull-down de 1kohm
Buzzer-ul este conectat la pinul digital 3
Display-ul folosește pinii digitali 8 - 12
ShiftRegister-ul folosește pinii digitali 5 - 7
Cele trei leduri care indică nivelul vieții player-ului sunt conectate la ieșirile Q0, Q1 și Q2 ale shiftregister-ului
Modulul microSD este conectat la pinii Q3 - Q6 ai shiftregister-ului

Toate componentele sunt legate fie la sursa de 5V fie la cea de 3.3V ai placuței arduino și folosesc GND-ul comun.

Hardware Design

Schema electrică:

Listă piese:

Software Design

Mediu dezvoltare

Biblioteci

Funcțiile și structurile implementate

În ceea ce privește structurile, am creat două: object și _bullet
Mai jos am realizat o schemă prin care se evidentiază interacțiunea dintre funcțiile implementate. Funcțiile care sunt apelate din setup() și loop() sunt puse de la stânga la dreapta, în ordinea apelării lor.



Rezultate Obţinute

Mai jos puteți vedea rezultatele obținute în diferite faze ale jocului

Concluzii

Download

survival_shooter.zip

Jurnal

Data Progres
03.05.2022 Pagina wiki
05.05.2022 1) Descriere proiect
2) Schema bloc
3) Listă componente
4) Mediu de dezvoltare
25.05.2022 1) Schema electrică
2) Biblioteci folosite
26.05.2022 1) Completare descriere generală
2) Adăugare funcții si structuri impelmentate
3) Adăugare rezultate obținute
4) Adăugare arhivă de download
5) Bibliografie
28.05.2022 1) Adăugare schemă bloc software


Bibliografie/Resurse

Resurse Hardware

Joystick Datasheet
Shift Register Datasheet
Display Nokia 5110: Datasheet + exemple de utilizare

Resurse Software

Folosire buton cu rezistență de pull-down
Tutorial utilizare Shift Register
Utilizare Shift Register cu led-uri
Tutorial utilizare modul microSD

Export to PDF