/chess

Een interactief schaakspel, opgebouwd vanaf nul. Gemaakt in Javascript in een Object Oriented structuur.

Primary LanguageTypeScript


logo
Een interactief schaakspel, opgebouwd vanaf nul.
Gemaakt in TypeScript in een Object Oriented structuur.

https://milansteman.github.io/chess
Oude versie (JavaScript)


Features

  • Volledig werkende zetten (incl. speciale zetten als rokade, en-passant, etc.) en checks op schaak(mat);
  • Zetten maken via drag & drop of klik;
  • State management voor schaakmat, pat(stelling), timers en onvoldoende materiaal;
  • Opslaan van geslagen stukken en materiaal 'telling';
  • Opslaan van gemaakte zetten (in beurten) en omzetten naar de juiste annotatie;
  • Van kant wisselen en nieuwe wedstrijd starten.
  • Multiplayer en matchmaking systeem
  • Eerdere bord 'versies' bekijken

Learnings

  • Toepassen van OOP principes zoals abstraction, encapsulation, inheritance en polymorphism;
  • Werken met getters en setters;
  • Slimmer gebruiken maken van Objects, Properties in Objects en Higher Order Functions/ES6 Syntax;
  • JSDoc toepassen op classes en methods;
  • Basis Unit testing;
  • TypeScript toepassen op een project;
  • Werken met Socket.IO, Express en MongoDB.

Notities zijn te vinden in de wiki van de repo


Timetable

Type taak Week Tijd
Typescript course volgen en aantekeningen maken 1 8 uur
Socket.IO course 1 6 uur
Schaakapplicatie refactor naar TypeScript 1 5 uur
Structuur uitdenken applicatie 1 1.5 uur
Server en Socket.IO toepassen 2 7.5 uur
Puntjes op de i en laatste documentatie 2 3 uur
 
Totaal 31 uur

Metadata

Naam Studentnr. Vak Datum
Milan Steman 500800819 SRP 15/03/2024