Skip to content

Latest commit

 

History

History
31 lines (25 loc) · 2.78 KB

File metadata and controls

31 lines (25 loc) · 2.78 KB

Шах

Функционалности

  • Очевидно, играене на шах.
  • Трябва да се поддържат всички правила за игра на шах - влючително рокада, ан-пасан, изкарване на нова фигура, засичане на мат, засичане на пат, да не се позволяват нелегални ходове - FIDE basic rules of play.
  • Възможност за записване/зареждане (save/load) на игра. Самите записи може да се пазят във файлове. Да се пази повече от един запис с възможност за зареждане на по-стар такъв (не само последния).
  • Два режима на игра:
    • Срещу компютъра. Знаем, че правенето на добър AI за шах е много трудна задача. Затова, ходовете на компютъра може да се състоят от местене на случайна фигура по правилата на играта.
    • Двама играчи. Двамата играчи могат да играят един срещу друг. Това може да става на един компютър или по мрежата.

Забележки

  • За игрите задължително искаме да имат два интерфейса - например конзолен и графичен. За графичния интерфейс може да използвате, например, Gosu или Shoes.
  • Постарайте се да покриете максимална част от кода си с автоматизирани тестове и да направите добро разделение между "логика" и "интерфейс". Тоест, абстрахирайте логиката на играта от това как ще се показва на екрана. Не е нужно да тествате как работят самите интерфейси, но трябва добре да изтествате, че вътрешните ви класове, които моделират играта, работят правилно.

Подобни теми

  • Друга походова игра - например:
    • Flood it с възможност за избор на размера на играта, специални power-up квадратчета и scoreboard.
    • Battleships със scoreboard.