This shows you the differences between two versions of the page.
pm:prj2025:eradu:andrei.gheta [2025/05/19 16:21] andrei.gheta [Jurnal] |
pm:prj2025:eradu:andrei.gheta [2025/05/29 19:32] (current) andrei.gheta [Hardware Design] |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Simon says 1v1 ====== | + | ====== Simon Says 1v1 ====== |
===== Introduction ===== | ===== Introduction ===== | ||
Line 56: | Line 56: | ||
**Electrical Scheme:** | **Electrical Scheme:** | ||
- | {{:pm:prj2025:eradu:image.png?600|}} | + | {{:pm:prj2025:eradu:simon.png?600|}} |
===== Software Design ===== | ===== Software Design ===== | ||
Line 92: | Line 92: | ||
- Timeout-based input wait: waitForChoice() uses millis() for timing player responses | - Timeout-based input wait: waitForChoice() uses millis() for timing player responses | ||
- | - Interrupt-driven timer: setupTimer() configures Timer1 using low-level registers | ||
**Pseudocode:** | **Pseudocode:** | ||
Line 103: | Line 102: | ||
generateSequence() | generateSequence() | ||
displaySequence() | displaySequence() | ||
+ | INCREMENT sequence length | ||
IF player 1 fails → gameOver = true | IF player 1 fails → gameOver = true | ||
Line 108: | Line 108: | ||
SET currentPlayer to 2 | SET currentPlayer to 2 | ||
displaySequence() | displaySequence() | ||
+ | INCREMENT sequence length | ||
IF player 2 fails → gameOver = true | IF player 2 fails → gameOver = true | ||
IF both players succeeded | IF both players succeeded | ||
- | INCREMENT sequence length | ||
CONTINUE | CONTINUE | ||
Line 130: | Line 130: | ||
- | ===== Bibliografie/Resurse ===== | + | ===== Resources ===== |
- | <note> | + | Github: https://github.com/andreigheta/simon-says-1vs1/ |
- | Listă cu documente, datasheet-uri, resurse Internet folosite, eventual grupate pe **Resurse Software** şi **Resurse Hardware**. | + | |
- | </note> | + | |
- | + | ||
- | <html><a class="media mediafile mf_pdf" href="?do=export_pdf">Export to PDF</a></html> | + | |