
    *iM
                     Z    S SK r S SKJrJr   " S S\ R                  R
                  5      rg)    N)	DirectionSettingsc                   F   ^  \ rS rSrU 4S jrS rS rS rS rS r	Sr
U =r$ )	Snake   c                   > [         TU ]  5         [        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 l        [        R                  R	                  S5      U l        g )Nzhead.pngr   )i  i0  )centerzsegment.png)super__init__pygameimageloadorig_snake_img	transformrotate	snake_imgget_rect
snake_rectr   UPsnake_directionnew_snake_directionbodybody_img)self	__class__s    %c:\Users\13-19\Desktop\snake\snake.pyr   Snake.__init__   s    $ll//
;))001D1DaH..119L1M(||#,<< 	))-8    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LEFTRIGHTr   )r   r   
can_changes      r   change_directionSnake.change_direction   s    
ill*t/C/Cy~~/UJinn,1E1E1UJinn,1E1E1XJioo-$2F2F)..2XJ'6$ r   c                    U R                   R                  5       nU R                  U l        [        R
                  R                  U R                  U R                  R                  S-  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!                  U5        g )Nir   i    )r   copyr   r   r   r   r   r   valuer   r   r   move_ipr"   r!   r    _move_segment)r   prev_poss     r   updateSnake.update    s    ??'')#77))001D1DtG[G[GaGadgGgi9<</OO##As+9??2OO##B*9>>1OO##C+9>>1OO##Ar*8$r   c                     [        U R                  5      S:  a9  UnU R                   H&  nUR                  5       nUR                  Ul        UnM(     g g )Nr   )lenr   r(   topleft)r   r,   last_possegmentolds        r   r+   Snake._move_segment2   sG    tyy>AH99lln"*"2"2 % r   c                     [        U R                  5      S:X  a  U R                  R                  5       nOU R                  S   R                  5       nU R                  R	                  U5        g )Nr   )r0   r   r   r(   append)r   new_segments     r   add_segemntSnake.add_segemnt;   sL    tyy>Q//..0K))B-,,.K		%r   c                 8   U R                   R                  S:  d2  U R                   R                  [        R                  R                  :  a  gU R                   R
                  S:  d2  U R                   R
                  [        R                  R                  :  a  gg)Nr   FT)r   xr   SCREEN_WIDTHr)   ySCREEN_HEIGHT)r   s    r   border_boundarySnake.border_boundaryC   si    ??q DOO$5$59N9N9T9T$T__"doo&7&78;Q;Q;W;W&Wr   )r   r   r   r   r   r   r   )__name__
__module____qualname____firstlineno__r   r$   r-   r+   r:   rA   __static_attributes____classcell__)r   s   @r   r   r      s&    
97%$& r   r   )r   settingsr   r   spriteSpriter    r   r   <module>rM      s#     (FFMM   Fr   