
    &h                        S r SSKrSSKrSSKJr  SSKJr  SSKJr  SSKr	\R                  R                  \R                  R                  \5      5      S   r\R                  R                  \S5      rSrS\R$                  ;   a  SrS	\R$                  ;   a  S
rS
rS\R$                  ;   a  SrS
rS\R$                  ;   a  SrSrSrS\R$                  ;   a  \\	R,                  -  rS\R$                  ;   a  \\	R.                  -  rS\R$                  ;   a  \\	R0                  -  rSrS\R$                  ;   a  \\	R4                  -  rS
rS\R$                  ;   a  \\	R6                  -  rSS/rS\R$                  ;   a6  \R$                  R;                  S5      r\" \R$                  \S-      5      \S'   S\R$                  ;   a6  \R$                  R;                  S5      r\" \R$                  \S-      5      \S'   S\R$                  ;   r \!" \5         " S S\	RD                  RF                  5      r$ " S S\	RD                  RF                  5      r%      SS jr&\'S:X  a  \&" \\\\\ \5        gg)zpg.examples.testsprite

Like the testsprite.c that comes with libsdl, this pygame version shows
lots of sprites moving around.

It is an abomination of ugly code, and mostly used for testing.


See pg.examples.aliens for some prettyier code.
    N)randint)time)ListdataTz-update_rectsz-noupdate_rectsFz-staticz-layered_dirtyz-flipz-fullscreenz-swz-hwz-scaled    z-height   z-widthz-alphac                   J    \ rS rSr% / r\\R                     \S'   S r	S r
Srg)Thingyb   imagesc                    [         R                  R                  R                  U 5        [        R
                  S   U l        U R                  R                  5       U l        [        S[        S   5      U R                  l        [        S[        S   5      U R                  l        [        SS5      [        SS5      /U l        SU l        g )Nr   r	      )pgspriteDirtySprite__init__r   r   imageget_rectrectr   screen_dimsxyveldirtyselfs    R/var/www/auris/envauris/lib/python3.13/site-packages/pygame/examples/testsprite.pyr   Thingy.__init__e   s    
		&&t,]]1%
JJ'')	aQ0		aQ0		BNGBN3
    c                    S H  nU R                   U   U R                  U   -   nU[        U   :  d  US:  a<  U R                  U   * U R                  U'   U R                   U   U R                  U   -   nX@R                   U'   M     g )N)r   r	   r   )r   r   r   )r   argskwargsinvs        r   updateThingy.updatep   st    A1+B[^#rAv#xx{lYYq\DHHQK/IIaL r!   )r   r   r   r   N)__name__
__module____qualname____firstlineno__r   r   r   Surface__annotations__r   r'   __static_attributes__ r!   r   r   r   b   s    !FD!	r!   r   c                   D    \ rS rSr% / r\\R                     \S'   S r	Sr
g)Staticy   r   c                 d   [         R                  R                  R                  U 5        [        R
                  S   U l        U R                  R                  5       U l        [        SS[        S   -  S-  5      U R                  l        [        SS[        S   -  S-  5      U R                  l        g )Nr         r	   )r   r   r   r   r2   r   r   r   r   r   r   r   r   r   s    r   r   Static.__init__|   s~    
		&&t,]]1%
JJ'')	a[^!3q!89		a[^!3q!89		r!   )r   r   N)r)   r*   r+   r,   r   r   r   r-   r.   r   r/   r0   r!   r   r2   r2   y   s    !FD!:r!   r2   c                 
   U(       a  Sn [         R                  " 5         [         R                  R                  5         [         R                  R                  X5S[        R
                  ;   S9n[         R                  R                  5         [         R                  R                  5       nUS:  a/  [         R                  R                  S5      nUR                  5         UR                  / SQ5        [         R                  R                  5         [         R                  R                  [        R                  R                  [         S5      5      n	[         R                  R                  [        R                  R                  [         S5      5      n
["        (       ag  U	R%                  / SQ[         R&                  [         R(                  -  5        U
R%                  / SQ[         R&                  [         R(                  -  5        ODU	R%                  / SQ[         R&                  5        U
R%                  / SQ[         R&                  5        U(       a!  U	R+                  5       n	U
R+                  5       n
O U	R-                  5       n	U
R-                  5       n
U	/[.        l        U(       a  U
/[2        l        [5        [        R
                  5      S	:  a   [7        [        R
                  S
   5      nOSnSnU(       a  [         R:                  R=                  5       nODU (       a  [         R:                  R?                  5       nO[         R:                  RA                  5       n[C        SU5       HE  nU(       a"  US-  S:X  a  URE                  [3        5       5        URE                  [/        5       5        MG     Sn[G        5       n[         RH                  " URK                  5       5      nUR-                  5       nUR                  / SQ5        SnU(       Ga  U (       d  UR                  / SQ5        U (       a  URM                  UU5        URO                  5         URQ                  U5      nU (       a   [         R                  RO                  U5        O[         R                  R                  5         [         RR                  RU                  5        HS  nURV                  [         RX                  [         RZ                  [         RX                  [         R\                  4;   d  MQ  SnMU     US	-  nU(       a  GM  [G        5       n[_        SUUU-
  -  S 35        [         R`                  " 5         g! [8         a    Sn GNf = f)a  Show lots of sprites moving around

Optional keyword arguments:
update_rects - use the RenderUpdate sprite group class (default True)
use_static - include non-moving images (default False)
use_layered_dirty - Use the FastRenderGroup sprite group (default False)
screen_dims - Pygame window dimensions (default [640, 480])
use_alpha - use alpha blending (default False)
flags - additional display mode flags (default no additional flags)

Tz-vsync)vsyncr   )r   r   r   zasprite.bmpz
static.png)   r:   r:   r	   r   d   Nr   FzFPS: f)1r   initdisplayset_modesysargvjoystick	get_countJoystickfillflipr   loadospathjoindata_diruse_rleset_colorkeySRCCOLORKEYRLEACCELconvert_alphaconvertr   r   r2   lenint	Exceptionr   LayeredDirtyRenderUpdatesGrouprangeaddr   r-   get_sizeclearr'   draweventgettypeQUITKEYDOWNJOYBUTTONDOWNprintquit)update_rects
use_staticuse_layered_dirtyr   	use_alphaflagsscreennum_joystickssticksprite_surfacesprite_surface2
numspritesspritesr%   framesstart
backgroundgoingrectsr]   ends                        r   mainrw      s   ( GGIJJOO ZZ  8sxx;O PF KKKK))+Mq$$Q'


KK	JJOOXX]]277<<-#HINhhmmBGGLL<$HIOw##$68TU$$%7"++9UV##$6G$$%7H'557)779'//1)113#$FM()
388}q	SXXb\*J 
G))((*ii--/Giioo'G1j!!a%1*KK!FH "
 FFEFOO-.J##%JOOIE
KK	"
 MM&*-V$JJe$JJOOXX\\^Ezzbggrzz277B<L<LMM $ 	!+ %, &C	E&C%K(+
,-GGIg  	J	s   U U*)U*__main__)TFF)r   r   Fr   )(__doc__r@   rH   randomr   r   typingr   pygamer   rI   splitabspath__file__main_dirrJ   rK   re   rA   rf   rg   ri   	DOUBLEBUF
FULLSCREEN	SWSURFACErL   	HWSURFACESCALEDr   indexr%   rS   rh   rc   r   r   r   r2   rw   r)   r0   r!   r   <module>r      s?  	  	    77==23A677<<&)
 chhL L
J  sxxL 	

chh	R\\ECHH	R]]ECHH	R\\E
CHH	R\\EG	RYYECjy!A!a%)KNsxxx A!a%)KN 	 k .RYY"" .:RYY"" : 
rj zz#4k9eT r!   