Autorul poate fi contactat la adresa: Login pentru adresa
Connect Four este un joc ce se joacă în 2 jucători pe o tablă care conține discuri sau bile colorate. Fiecărui jucător îi este atribuită o culoare: roșu sau verde. O mutare constă în alegerea unei coloane din tabla de joc. Piesa va fi pusă în primul loc disponibil pe coloana aleasa de jucător și colorată în culoarea acestuia. Primul jucător care are o linie de 4 piese de aceeași culoare(verticală, orizonatală sau oblică) va câștiga jocul.
Este un joc de logică, ușor de jucat și amuzant în același timp.
Proiectul va implementa jocul Connect Four folosind o matrice de 5×5 LED-uri bicolore. Primul jucător va avea culoarea roșie, iar cel de-al doilea verde. Folosindu-se de două butoane de control(stânga - dreapta) și de un buton de selectare(Enter), jucătorul va putea să-și aleagă coloana dorită. De asemenea, va exista și un timer. Fiecărui jucator îi sunt acordate 10 secunde pentru a executa o mișcare. Dacă acest timp expiră, atunci se va considera coloana indicată până în acel moment.
în această schemă, placa de bază ce conține un micro-controller ATMEGA324 este alimentată de o sursă externă, primește comenzi prin intemediul butoanelor, aprinde LED-urile din matricea de LED-uri conform logicii jocului și afișează pe display timpul rămas pentru efectuarea mutării.
Schema electrică în Eagle refăcută (conectat pinul de GND al ULN2003A la ground și schimbat pinii - nu am pus nimic pe PD6 pentru ca era conectat butonul de reset)
Codul a fost scris într-un editor de text normal (Notepad++).
Pentru compilare am folosit Winavr.
Codul a fost încărcat pe plăcuță folosind HIDBootloader.
Proiectul este funcțional și se poate juca în două persoane. Nu merg decât 3 butoane din 4 (am avut o problemă cu unul din butoane, care la cea mai mică atingere, înregistra mai multe apăsări, cu tot cu debouncing. Am schimbat butonul cu butonul care initial era folosit pentru reset-ul jocului, gândindu-mă că jocul se poate reseta apăsând pe butonul RESET de pe plăcuța de bază. Am observat că butonul funcționează mai bine decât precedentul buton.)
Butoanele de pe plăcuță au următoarele semnificații:
MOVE_LEFT MOVE_RIGHT ENTER DO_NOTHING
Proiectul a fost amuzant și interesant de implementat. Partea hardware a fost cea mai grea deoarece nu am știut de la început de ce componente am nevoie(mi-am dat seama că am nevoie de tranzistori de-abia înainte să încep să lipesc firele). Lipirea și aranjarea componentelor a fost o muncă destul de antrenantă și a necesitat multă atenție.
Implementarea software-ului a fost chiar ușoară, combinând lucrurile învățate în laborator.
Per total, sunt mulțumită de proiect și de cum arată în faza finală.