aneb stříhaná, tu asi každý hrál. Pro osvěžení pravidel a dozvědění se pár zajímavostí navrch nahlédněte na wikipedii. Úkolem je naprogramovat hráče, který bude hrát (stříhat) se všemi ostatními.
Pokud chcete vyhrát
můžete zkusit video návod
Většinu asi snadno pochopíte z jednoduchých příkladů uvedených níže. Nicméně,
implementace vašeho hráče je očekávána v souboru player.py
třída MyPlayer
hráč musí mít alespoň metodu/funkci play
, která navrátí validní tah, tedy 'R' nebo 'P' mebo 'S'
může mít volitelně metodu record_opponent_gesture
, která akceptuje právě jeden vstupní parametr - soupeřovo gesto v posledním kole.
Příklad jednoduchého hráče bez paměti:
class MyPlayer:
'''
formalni definice toho, ze je to trida MyPlayer, neboli MujHrac
jinak zatim nedela nic
'''
def play(self):
'''
zakladni hraci funkce
:return:
'R' nebo 'P' nebo 'S'
pismenka odpovidaji anglickemu Rock, Paper, Scissors
'''
return 'R' # priklad navratu hodnoty 'R', nic vice
if __name__ == "__main__": # nasledujici kod bude vykonan, pokud bude player.py spusten jako program
hrac = MyPlayer() # vytvoreni hrace
gesto = hrac.play() # hrac je vyzvan k tomu, aby hral
print("Vzorovy hrac hral: "+gesto)
Příklad jednoduchého hráče s pamětí
class MyPlayer:
'''
formalni definice toho, ze je to trida MyPlayer, neboli MujHrac
'''
def __init__(self):
self.opponent_last_gesture = None # na zacatku zadne
def play(self):
'''
zakladni hraci funkce
:return:
'R' nebo 'P' nebo 'S'
pismenka odpovidaji anglickemu Rock, Paper, Scissors
'''
return 'R' # priklad navratu hodnoty 'R', nic vice
def record_opponent_gesture(self,gesture):
'''
zaznamena gesto soupere v prave dokoncene hre
:param gesture: 'R' or 'P' or 'S'
:return: neni specifikovano
'''
# ulozeni gest do pameti hrace
self.opponent_last_gesture = gesture
if __name__ == "__main__": # nasledujici kod bude vykonan, pokud bude player.py spusten jako program
hrac = MyPlayer() # vytvoreni hrace
gesto = hrac.play() # hrac je vyzvan k tomu, aby hral
print("Vzorovy hrac hral: "+gesto)