O aplicație web interactivă de șah dezvoltată în Blazor WebAssembly (.NET 8), ce oferă o experiență de joc completă, animații fluide și funcționalități moderne, precum controlul prin comenzi scrise (text).
- Implementare completă a regulilor de șah: Aplicația validează mișcările geometrice ale fiecărei piese (Pion, Cal, Nebun, Turn, Regină, Rege).
- Protecția Regelui: Sunt blocate mutările care ar pune propriul rege în șah. Regele nu poate fi capturat direct de pe tablă.
- Mutări Speciale: Suport complet pentru Rocadă (mică/mare) și Promovarea Pionului într-o piesă superioară la atingerea ultimei linii.
- Stări de Final de Joc: Detectarea automată a situațiilor de Șah Mat și Remiză (Pat).
- Design Modern & Clasic: Tablă de șah randată dinamic, optimizată cu ajutorul Bootstrap și CSS personalizat.
- Feedback Vizual: Pătrățelul piesei selectate pulsează cu verde transparent, iar piesele adverse care pot fi capturate pulsează cu roșu.
- Animații Fluide: Mișcările pieselor sunt animate nativ prin CSS Transitions (
transform), oferind o glisare lină pe tablă. - Panou Piese Pierdute: Contorizarea și afișarea vizuală separată a pieselor capturate pentru fiecare jucător.
- Sistem de Clopoțel/Cronometru: Timp dedicat pentru fiecare jucător, implementat prin
System.Timers.Timer, care scade în timp real doar pentru jucătorul aflat la rând și se oprește la finalul partidei. - Resetare Completă: Buton dedicat pentru reinițializarea rapidă a tablei și a ceasurilor de joc.
- Proiectul include o consolă text inteligentă care permite utilizatorului să efectueze mutări tastând comenzi libere (ex: "Muta E2 la E4" sau "Cal B1 la C3").
- Sistemul folosește expresii regulate (Regex) pentru a interpreta textul și execută automat mutarea pe tablă, rulând aceleași animații și validări ca la click-ul clasic.
- Framework: Blazor WebAssembly (.NET 8.0)
- Limbaj de programare: C# (Logica din spate, simulări de șah în memorie și temporizatoare)
- Frontend/Stilizare: HTML5, CSS3 (Animații
@keyframesșitransitions), Bootstrap 5 - Stocare date / Structură: Matrice bidimensională în C# pentru gestionarea stării tablei