Sindbad~EG File Manager

Current Path : /proc/2714517/root/usr/lib64/python3.6/turtledemo/__pycache__/
Upload File :
Current File : //proc/2714517/root/usr/lib64/python3.6/turtledemo/__pycache__/nim.cpython-36.opt-1.pyc

3


 \q�@s�dZddlZddlZddlZdZdZdZdZedZeedd	edd
Z	d!Z
d"Zd#Zdd�Z
dd�Zdd�ZGdd�de�ZGdd�dej�ZGdd�de�ZGdd�de�ZGdd�de�Zdd�Zed kr�e�ej�dS)$z�      turtle-example-suite:

            tdemo_nim.py

Play nim against the computer. The player
who takes the last stick is the winner.

Implements the model-view-controller
design pattern.
�Ni�i��������?���cCstjtt�S)N)�random�randint�	MINSTICKS�	MAXSTICKS�rr�&/usr/lib64/python3.6/turtledemo/nim.py�	randomrowsrcCsb|d|dA|dA}|dkr(t|�Sx4td�D](}|||A}|||kr2||f}|Sq2WdS)Nr�r�)�
randommove�range)�stateZxored�z�s�moverrr�computerzug!srcCsLt|�}x"tjdd�}|||dkkr
Pq
Wtj|dk||d�}||fS)Nrrr)�maxrr)r�mrZrandrrrr+src@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�NimModelcCs
||_dS)N)�game)�selfrrrr�__init__6szNimModel.__init__cCsP|jjtjtjgkrdSt�t�t�g|_d|_d|_|jj	j
�tj|j_dS)Nr)rr�Nim�CREATED�OVERr�sticks�player�winner�view�setup�RUNNING)rrrrr(9szNimModel.setupcCs�|j|}||j|<|jjj||||j�|j�rRtj|j_|j|_	|jjj
�n0|jdkr�d|_t|j�\}}|j||�d|_dS)Nrr)
r$rr'�notify_mover%�	game_overr!r#rr&�notify_overrr)r�row�col�	maxspalterrrrBs



z
NimModel.movecCs|jdddgkS)Nr)r$)rrrrr+PszNimModel.game_overcCs"|j||krdS|j||�dS)N)r$r)rr-r.rrrr*SszNimModel.notify_moveN)�__name__�
__module__�__qualname__r r(rr+r*rrrrr5s
	rc@s$eZdZdd�Zdd�Zdd�ZdS)�StickcCs�tjj|dd�||_||_||_|j||�\}}|jd�|jt	dt
d�|jd�|j�|j
||�|jd�|j�dS)NF)�visibleZsquareg$@g4@r�white)�turtle�Turtler r-r.r�coords�shapeZ	shapesize�HUNIT�WUNIT�speed�pu�goto�colorZ
showturtle)rr-r.r�x�yrrrr Zs


zStick.__init__cCs^t|d�\}}dd|d|t}dd|t}|tdtdtd|tdfS)Nrrrr)�divmodr;r:�SCREENWIDTH�SCREENHEIGHT)rr-r.ZpacketZ	remainderr@rArrrr8hszStick.coordscCs*|jjtjkrdS|jjj|j|j�dS)N)rrr!r)�
controllerr*r-r.)rr@rArrr�makemovenszStick.makemoveN)r0r1r2r r8rFrrrrr3Ysr3c@s>eZdZdd�Zddd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�NimViewcCs�||_|j|_|j|_|jjd�|jjd�|jjd	�tjdd�|_|jj	�|jj
d�i|_x8td�D],}x&tt
�D]}t|||�|j||f<q|WqnW|jd�|jjd�dS)
Nr	F��)r4rrz... a moment please ...T)rHrHr	)r�screen�modelZ	colormode�tracerZbgcolorr6r7�writerr=r<r$rrr3�display)rrr-r.rrrr us

zNimView.__init__NcCs�|jjd�|jj�|dk	rT|jjdtdd�|jjd�|jj|ddd
�|jjdtdd�|jjd�|jj|ddd
�|jjd�dS)NFrr�0Zred�center�Courier��bold)ZalignZfont�Zblack�T)rPrQrR)rPrTrR)rIrKrL�clearr>rDZpencolor�write)rZmsg1�msg2rrrrM�s
zNimView.displaycCs�|jjd�x>td�D]2}x,t|jj|�D]}|j||fjt�q,WqWx@td�D]4}x.t|jj|t�D]}|j||fjd�qnWqVW|jd�|jjd�dS)NFrr5z*Your turn! Click leftmost stick to remove.T)	rIrKrrJr$r?�SCOLORrrM)rr-r.rrrr(�s
z
NimView.setupcCs�|dkr6t}x�t||�D]}|j||fj|�qWnh|jd�tjd�|jd�t}x:t|d|dd�D]"}tjd�|j||fj|�qnW|jd�dS)	Nrz ... thinking ...         g�?z ... thinking ... aaah ...rg�������?z*Your turn! Click leftmost stick to remove.���)�HCOLORrr$r?rM�timeZsleep�COLOR)rr-r.r/r%Zfarberrrrr*�s



zNimView.notify_movecCs(|jjjdkrd}nd}|jd|�dS)NrzCongrats. You're the winner!!!z"Sorry, the computer is the winner.z2To play again press space bar. To leave press ESC.)rrJr&rM)rrWrrrr,�szNimView.notify_overcCs|jjtjkr|jj�dS)N)rrr!r#rIrU)rrrrrU�sz
NimView.clear)N)	r0r1r2r rMr(r*r,rUrrrrrGts
rGc@seZdZdd�Zdd�ZdS)�
NimControllercCs�||_|jj|_d|_x|jj�D]}|j|j�q"W|jjj|jj	j
d�|jjj|jjjd�|jjjd�|jjj
�dS)NFZspaceZEscapezPress space bar to start game)rr'r$�BUSY�valuesZonclickrFrIZonkeyrJr(rUrMZlisten)rrZstickrrrr �s
zNimController.__init__cCs*|jr
dSd|_|jjj||�d|_dS)NTF)r^rrJr*)rr-r.rrrr*�s
zNimController.notify_moveN)r0r1r2r r*rrrrr]�sr]c@s eZdZdZdZdZdd�ZdS)r!rrrcCs0tj|_||_t|�|_t|�|_t|�|_	dS)N)
r!r"rrIrrJrGr'r]rE)rrIrrrr �s


zNim.__init__N)r0r1r2r"r)r#r rrrrr!�sr!cCs*tj�}|jd�|jtt�t|�}dS)NZstandardZ	EVENTLOOP)r6ZScreen�moder(rCrDr!)Z
mainscreenZnimrrr�main�s

ra�__main__)rrr)r	r
r
)r
r
r	)�__doc__r6rr[rCrDr
rr:r;rXrZr\rrr�objectrr7r3rGr]r!rar0Zmainlooprrrr�<module>
s0

$D

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists