Uname: Linux web3.us.cloudlogin.co 5.10.226-xeon-hst #2 SMP Fri Sep 13 12:28:44 UTC 2024 x86_64
Software: Apache
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.210.96.117
Your Ip: 18.225.98.134
User: edustar (269686) | Group: tty (888)
Safe Mode: OFF
Disable Function:
NONE

name : nim.cpython-310.opt-2.pyc
o

_bq�@s�	ddlZddlZddlZdZdZdZdZedZeeddedd	Zd
Z	dZ
dZd
d�Zdd�Z
dd�ZGdd�de�ZGdd�dej�ZGdd�de�ZGdd�de�ZGdd�de�Zdd�Zedkrse�e��dSdS) �Ni�i�������)�?rr)���r
)r
r
r	cCst�tt�S�N)�random�randint�	MINSTICKS�	MAXSTICKS�rr�7/usr/local/python-3.10/lib/python3.10/turtledemo/nim.py�	randomrowsrcCsb|d|dA|dA}|dkrt|�Std�D]}|||A}|||kr.||f}|SqdS)Nr�r�)�
randommove�range)�stateZxored�z�s�moverrr�computerzug!s��rcCsJt|�}	t�dd�}|||dkkrqqt�|dk||d�}||fS)NTrrr)�maxrr
)r�mrZrandrrrr+s�rc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�NimModelcCs
||_dSr)�game)�selfrrrr�__init__6s
zNimModel.__init__cCsP|jjtjtjfvrdSt�t�t�g|_d|_d|_|jj	�
�tj|j_dS)Nr)rr�Nim�CREATED�OVERr�sticks�player�winner�view�setup�RUNNING�r rrrr)9szNimModel.setupcCs�|j|}||j|<|jj�||||j�|��r*tj|j_|j|_	|jj�
�dS|jdkrDd|_t|j�\}}|�||�d|_dSdS)Nrr)
r%rr(�notify_mover&�	game_overr"r$rr'�notify_overrr)r �row�col�	maxspalterrrrBs




�z
NimModel.movecCs|jgd�kS)N)rrr)r%r+rrrr-PszNimModel.game_overcCs"|j||kr	dS|�||�dSr)r%r�r r/r0rrrr,SszNimModel.notify_moveN)�__name__�
__module__�__qualname__r!r)rr-r,rrrrr5s	rc@s$eZdZdd�Zdd�Zdd�ZdS)�StickcCs�tjj|dd�||_||_||_|�||�\}}|�d�|�t	dt
d�|�d�|��|�
||�|�d�|��dS)NF�ZvisibleZsquareg$@g4@r�white)�turtle�Turtler!r/r0r�coords�shapeZ	shapesize�HUNIT�WUNIT�speed�pu�goto�colorZ
showturtle)r r/r0r�x�yrrrr!Zs


zStick.__init__cCs^t|d�\}}dd|d|t}dd|t}|tdtdtd|tdfS)Nrrrr)�divmodr>r=�SCREENWIDTH�SCREENHEIGHT)r r/r0Zpacket�	remainderrCrDrrrr;hs(zStick.coordscCs*|jjtjkr	dS|jj�|j|j�dSr)rrr"r*�
controllerr,r/r0)r rCrDrrr�makemovenszStick.makemoveN)r3r4r5r!r;rJrrrrr6Ysr6c@s>eZdZdd�Zddd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�NimViewcCs�||_|j|_|j|_|j�d�|j�d�|j�d�tjdd�|_|j�	�|j�
d�i|_td�D]}tt
�D]
}t|||�|j||f<q<q6|�d�|j�d�dS)	Nr	F)��rLr	r7rrz... a moment please ...T)r�screen�modelZ	colormode�tracerZbgcolorr9r:�writerr@r?r%rrr6�display)r rr/r0rrrr!us 
�
zNimView.__init__NcCs�|j�d�|j��|dur*|j�dtdd�|j�d�|jj|ddd�|j�dtdd	�|j�d
�|jj|ddd�|j�d�dS)
NFrr�0Zred�center)�Courier��bold)ZalignZfont�Zblack)rT�rVT)rMrOrP�clearrArGZpencolor�write)r Zmsg1�msg2rrrrQ�s
zNimView.displaycCs�|j�d�td�D]}t|jj|�D]}|j||f�t�qq
td�D]}t|jj|t�D]}|j||f�d�q1q&|�d�|j�d�dS)NFrr8�*Your turn! Click leftmost stick to remove.T)	rMrOrrNr%rB�SCOLORrrQr2rrrr)�s��
z
NimView.setupcCs�|dkrt}t||�D]}|j||f�|�qdS|�d�t�d�|�d�t}t|d|dd�D]}t�d�|j||f�|�q5|�d�dS)	Nrz ... thinking ...         g�?z ... thinking ... aaah ...r���g�������?r\)�HCOLORrr%rBrQ�time�sleep�COLOR)r r/r0r1r&Zfarberrrrr,�s�



zNimView.notify_movecCs(|jjjdkr
d}nd}|�d|�dS)NrzCongrats. You're the winner!!!z"Sorry, the computer is the winner.z2To play again press space bar. To leave press ESC.)rrNr'rQ)r r[rrrr.�szNimView.notify_overcCs |jjtjkr|j��dSdSr)rrr"r$rMrYr+rrrrY�s�z
NimView.clearr)	r3r4r5r!rQr)r,r.rYrrrrrKts
rKc@seZdZdd�Zdd�ZdS)�
NimControllercCs|||_|jj|_d|_|j��D]}|�|j�q|jj�|jj	j
d�|jj�|jjjd�|jj�d�|jj�
�dS)NF�spaceZEscapezPress space bar to start game)rr(r%�BUSY�valuesZonclickrJrMZonkeyrNr)rYrQ�listen)r rZstickrrrr!�s
zNimController.__init__cCs*|jrdSd|_|jj�||�d|_dS)NTF)rerrNr,r2rrrr,�s

zNimController.notify_moveN)r3r4r5r!r,rrrrrc�srcc@s eZdZdZdZdZdd�ZdS)r"rrrcCs0tj|_||_t|�|_t|�|_t|�|_	dSr)
r"r#rrMrrNrKr(rcrI)r rMrrrr!�s


zNim.__init__N)r3r4r5r#r*r$r!rrrrr"�s
r"cCs*t��}|�d�|�tt�t|�}dS)NZstandardZ	EVENTLOOP)r9ZScreen�moder)rFrGr")Z
mainscreenZnimrrr�main�s

ri�__main__)r9rr`rFrGrrr=r>r]r_rbrrr�objectrr:r6rKrcr"rir3Zmainlooprrrr�<module>s4

$D�
© 2025 GrazzMean