Warning
This page is located in archive. Go to the latest version of this course pages.

Šachy

V jazyce Java s využitím grafického uživatelského rozhraní (GUI) napište program pro hru šachů pro dva hráče.

Základní funkcionalita

  • hra dvou hráčů
    • člověk vs. člověk
    • příprava pro hru člověk vs. počítač (hru počítače lze demonstrovat např. náhodným generátorem platných tahů)
  • kompletní kontrola pravidel hry (střídání hráčů, tahy jednotlivých figur, rošáda, braní mimochodem - en passant, atd.)
  • možnost uložení a načtení rozehrané partie
  • možnost manuálního umístění figur před zahájením hry
  • šachové hodiny (využití vláken - bez použití Timeru nebo obdobné třídy s implementovaným časovačem). Správnou synchronizaci času si každý student musí naprogramovat pomocí vláken sám s vědomím toho, že “sleep(1000)” neznamená, že program púoběží opravdu za jednu sekundu!

Požadavky na práci ve dvojici

Při práci ve skupině se k základní funkcionalitě připojují následující požadavky:

  • Implementace šachového serveru, který je schopen hostit více paralelních her, uživatelů.
  • Server udržuje uživatelské účty a statistiku jejich her. Umí zobrazit globálních TOP10 her, které na serveru proběhly včetně časů a jmen účastníků.
  • Komunikace se serverem probíhá pomocí vlastního TCP nebo UDP protokolu, který musí být konzultován na prvním konzultačním termínu. Komunikace prostřednictvím REST není preferována a musí ji předem schválit cvičíci po domluvě se studenty při zachování srovnatelné obtížnosti.
courses/b0b36pjv/semestral/sachy.txt · Last modified: 2021/02/22 10:40 by mudromar