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

Hráč

Podrobná specifikace toho, co musí hráč umět a jak musí vypadat, aby mohl hrát turnaj s ostatními.

  • Reversi hráč musí fungovat v Pythonu 3.8.x, který bude nainstalován na strojích pro automatické hodnocení! Jinak se může stát, že vaše kódy nebudou fungovat správně!

Soubor k odevzdání

Odevzdávat budete ZIP archív 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 BRUTE.

Třída MyPlayer a její metody

Hráče (v souboru 'player.py') implementujete ve formě třídy MyPlayer, která bude poskytovat tyto metody:

metoda vstupní parametry výstupní parametry vysvětlení
__init__ my_color (moje barva), opponent_color (barva soupeře) žádné Vytvoření instance hráče. Hráč vždy dostane barvu vlastních kamenů my_color a barvu soupeřových kamenů opponent_color. Barva kamene je buď hodnota 0 nebo 1.
move board (n x n matice hrací plochy) r , c (row, column souřadnice Vašeho tahu v tuple(n-tici) se dvěma inty) Vygenerování tahu. Na vstupu dostanete současný stav hrací plochy board, který je reprezentován dvourozměrným seznamem. Metoda vrací tuple(n-tici) délky 2 (obe cisla typu int) se souřadnicemi tahu - například (0,0), čímž umístíte svůj kámen na pozici board[r][c]. Pokud není možné zahrát validní tah, metoda vrací None. Hodnoty obsažené v board jsou -1 pro prázdné políčko a 0/1 pro barvy již umístěných kamenů. Maximální setrvání v metodě je 1 sekunda.

Vlastnosti třídy MyPlayer

  • Třída MyPlayer se bude identifikovat popisem ve formě doc-stringu. Maximální délka je 80 znaků. Popis by měl pokud možno vysvětlovat jak hráč hraje.
  • Třída bude obsahovat proměnnou name s FEL username studenta (například 'novakj16').

Příklad třídy MyPlayer:

class MyPlayer:
    '''Hrac hraje nahodne'''
    def __init__(self, my_color,opponent_color):
        self.name = 'username' #username studenta
 
    def move(self,board):
        return (*,*) #pozice kam hráč umisťuje svůj kámen

courses/b4b33rph/cviceni/reversi/specifikace.txt · Last modified: 2021/11/01 09:10 by kostkja2