Läxan för följande två veckor är att implementera logiken till ett schackspel (vems tur det är, hur pjäser får röra sig, schackning, rockader, promovering, passant, …). Som referens för reglerna finns t.ex. Wikipedia. Koden måste vara skriven i Rust.
Ni ska implementera detta i form av ett bibliotek som ska kunna användas av vem som helst. Ni ska inte skriva ett GUI utan efter denna läxa kommer ni skriva ett GUI till någon annas bibliotek. Det räcker med något enkelt kommandoradsinterface som hjälper er att testa saker, detta är dock inte obligatoriskt.
Fokusera på att skriva ett bibliotek som är lätt av en av era ++ kamrater att använda. Se till att ert bibliotek har ett logisk och lätt använt API, kommentarer samt tester för att se till att koden fungerar.
Om ni har tid kan det vara roligt att lägga till några ytterligare features:
Ni ska använda er av Cargo och ni ska skriva bra tester.
Lägg koden i ett publikt gitrepo på github.com i INDA22PlusPlus organisationen, "INDA22PlusPlus/kth-id-chess".
Det är viktigt att ni gör denna läxa ordentligt, eftersom att senare läxor kommer att bygga vidare på den.
Clean code pdf: https://oceanofpdf.com/authors/robert-c-martin/pdf-epub-clean-code-a-handbook-of-agile-software-craftsmanship-download/
Boken: https://doc.rust-lang.org/book/ch11-00-testing.html