
    i                     j    S SK r S SKrS SKJr  S SKJr   " S S\ R                  R
                  5      rg)    N)	Direction)Segmentc                   8    \ rS rSrS rS rS rS rS rS r	Sr
g	)
Snake   c                 x   [         R                  R                  S5      U l        [         R                  R                  U R                  S5      U l        U R                  R                  SS9U l        [        R                  U l
        [        R                  U l        U R                  U l        SU l        / U l        g )Nzimages/head.pngr   )i  i0  )centerF)pygameimageloadoriginal_image	transformrotateget_rectrectr   UP	directionnew_directionlast_positionadd_segmentsegmentsselfs    %c:\Users\13-19\Desktop\snake\Snake.py__init__Snake.__init__   s    $ll//0AB%%,,T-@-@C
JJ''/B'C	"&\\!YY     c                    SnU[         R                  :X  a   U R                  [         R                  :X  a  SnU[         R                  :X  a   U R                  [         R                  :X  a  SnU[         R                  :X  a   U R                  [         R
                  :X  a  SnU[         R
                  :X  a   U R                  [         R                  :X  a  SnU(       a  Xl        g g )NTF)r   r   r   DOWNRIGHTLEFTr   )r   r   change_alloweds      r   chanege_directionSnake.chanege_direction   s    	$9>>)I"N	&4>>Y\\+I"N	'DNNinn,L"N	&4>>Y__+L"N!* r   c                 D   U R                   U l        [        R                  R	                  U R
                  U R                  R                  S-  5      U l        [        R                  " U R                  5      U l        U R                  [        R                  :X  a  U R                  R                  SS5        U R                  [        R                  :X  a  U R                  R                  SS5        U R                  [        R                   :X  a  U R                  R                  SS5        U R                  [        R"                  :X  a  U R                  R                  SS5        [%        ['        U R(                  5      5       Hk  nUS:X  a*  U R(                  U   R+                  U R                  5        M3  U R(                  U   R+                  U R(                  US-
     R                  5        Mm     U R,                  (       a  [/        5       n['        U R(                  5      S:  a3  [        R                  " U R(                  S   R                  5      Ul        O%[        R                  " U R                  5      Ul        U R(                  R3                  U5        SU l        g g )Nir   i       F)r   r   r
   r   r   r   valuer   copydeepcopyr   r   r   r   move_ipr   r    r!   rangelenr   mover   r   positionappend)r   inew_segments      r   updateSnake.update#   s   ++%%,,T-@-@4>>CWCWX[C[]
!]]4995>>Y\\)IIa$>>Y^^+IIa#>>Y__,IIb#>>Y^^+IIc!$ s4==)*AAva %%d&8&89a %%dmmAaC&8&F&FG	 + !)K4==!A%'+}}T]]25F5T5T'U$'+}}T5G5G'H$MM  -$D r   c                 v    U R                    H)  nUR                  UR                  UR                  5        M+     g )N)r   blitr   r0   )r   screensegments      r   draw_segmentsSnake.draw_segmentsD   s(    }}GKKw'7'78 %r   c                     SU l         g )NT)r   r   s    r   	eat_appleSnake.eat_appleH   s
    r   c                 ^   U R                    H3  nU R                  R                  UR                  R                  :X  d  M3    g   U R                  R                  S:  d  U R                  R                  S:  a  gU R                  R
                  S:  d  U R                  R
                  S:  a  gg)NTr   i`  i(  F)r   r   topleftr0   topleft)r   r9   s     r   check_collisionSnake.check_collisionL   sz    }}Gyy  G$4$4$<$<< %
 99==1		 499>>1		# 5r   )r   r   r   r   r   r   r   r   N)__name__
__module____qualname____firstlineno__r   r#   r4   r:   r=   rC   __static_attributes__ r   r   r   r      s!    +%B9 r   r   )r
   r*   r   r   spriteSpriter   rJ   r   r   <module>rM      s)       QFMM   Qr   