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

Specifikace

Podrobná specifikace toho, co musí agent umět a jak musí vypadat, aby mohl být otestován automatickým evaluačním systémem.

Agent musí fungovat v Pythonu 3, který bude nainstalován na strojích pro automatické hodnocení! Jinak se může stát, že váš kód nebude fungovat správně!

Soubor k odevzdání

Odevzdávat budete ZIP archiv s vaším modulem player.py a případně se všemi moduly, které tento modul importuje. Tyto soubory musí být v kořeni archívu, archív nesmí obsahovat žádné adresáře! ZIP archív (a jen tento soubor) nahrajete do upload systému.

Se zdrojovými kódy vašeho hráče a případné vaší pomocné knihovny můžete nahrát i 1(!) datový soubor, pokud nutně potřebujete. Velikost tohoto souboru je omezena na 1MB.

Obsah zipu

Balíček obsahuje soubor 'game_board.py', který představuje prostředí ve kterém se bude hrát. Balík obsahuje také další soubory, které vám umožňí zahrát samotnou hru. Podrobnosti k těmto souborům najdete v Readme.

Třída MyPlayer a její metody

Balíček také obsahuje soubor 'player.py'. Tam budete muset upravit metodu move, aby zachycovala strategii vašeho hráče.

Docstring popisující třídu MyPlayer je omezen na 80 znaků neboť se objeví v tabuli s výsledky.

Představte v tomto docstringu ve zkratce vašeho agenta a na jakém principu funguje.

Vašeho hráče (v souboru 'player.py') implementujete ve formě třídy MyPlayer (soubor '/reversi/player.py' v reversi.zip), která obsahuje tyto metody:

metoda vstupní parametry výstupní parametry vysvětlení
__init__ my_color, opponent_color, board_size žádné Vytvoření hráče dané barvy s protihráčem druhé barvy. Velikost hrací plochy máte v konstruktoru pro případnou přípravu heuristických ohodnocení.
get_all_valid_moves board seznam souřadnic Metoda vrátí seznam všech korektních tahů.
move board souřadnice Metoda vrátí tuple souřadnic na hrací desce, kam váš hráč chce umístit hrací kámen. Tuto metodu musíte dopsat.
courses/b3b33kui/cviceni/reversi/specifikace.txt · Last modified: 2022/03/03 14:25 by peckama2