a
    e``                     @   s>   d dl Z ddlmZmZmZmZ ddlmZ G dd dZdS )    N   )REDWHITEBLUESQUARE_SIZE)Boardc                   @   sT   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dd ZdS )Gamec                 C   s   |    || _d S N)_initwin)selfr    r   2C:\Users\User\Desktop\JT\Dambrete\checkers\game.py__init__   s    zGame.__init__c                 C   s(   | j | j | | j tj  d S r	   )boarddrawr   draw_valid_movesvalid_movespygamedisplayupdater   r   r   r   r   
   s    zGame.updatec                 C   s   d | _ t | _t| _i | _d S r	   )selectedr   r   r   turnr   r   r   r   r   r
      s    z
Game._initc                 C   s
   | j  S r	   )r   winnerr   r   r   r   r      s    zGame.winnerc                 C   s   |    d S r	   )r
   r   r   r   r   reset   s    z
Game.resetc                 C   sl   | j r.| ||}|s.d | _ i | _| || | j||}|dkrh|j| jkrh|| _ | j|| _dS dS )Nr   TF)	r   _mover   selectr   	get_piececolorr   Zget_valid_moves)r   rowcolresultpiecer   r   r   r      s    zGame.selectc                 C   sl   | j ||}| jrd|dkrd||f| jv rd| j | j|| | j||f }|rZ| j | |   ndS dS )Nr   FT)r   r   r   r   moveremovechange_turn)r   r    r!   r#   Zskippedr   r   r   r   +   s    
z
Game._movec              	   C   sF   |D ]<}|\}}t j| jt|t td  |t td  fd qd S )N      )r   r   circler   r   r   )r   Zmovesr$   r    r!   r   r   r   r   8   s    zGame.draw_valid_movesc                 C   s"   i | _ | jtkrt| _nt| _d S r	   )r   r   r   r   r   r   r   r   r&   =   s    
zGame.change_turnN)__name__
__module____qualname__r   r   r
   r   r   r   r   r   r&   r   r   r   r   r      s   r   )	r   	constantsr   r   r   r   r   r   r   r   r   r   r   <module>   s   