Player
data PlacingHandle
data ShootingHandle
placing
getComplete
data ShotResult
shoot
opponentShot
won
lost