o
    tVg                     @   sx   d Z ddlZddlZejejed ZdZ	dZ
dZdZG dd dZd	d
 Zdd Zedkr:e  e  dS dS )a   pygame.examples.moveit

This is the full and final example from the Pygame Tutorial,
"How Do I Make It Move". It creates 10 objects and animates
them on the screen.

It also has a separate player character that can be controlled with arrow keys.

Note it's a bit scant on error checking, but it's easy to read. :]
Fortunately, this is python, and we needn't wrestle with a pile of
error codes.
    Ni  i  P   <   c                   @   s   e Zd Zdd ZdddZdS )
GameObjectc                 C   s"   || _ || _| d|| _d S Nr   )speedimageget_rectmovepos)selfr   heightr    r   J/home/ubuntu/.local/lib/python3.10/site-packages/pygame/examples/moveit.py__init__   s   zGameObject.__init__Fc                 C   s   |r| j  j| j7  _|r| j  j| j8  _|r!| j  j| j7  _|r,| j  j| j8  _| j jtkr6d| j _| j jtt krBd| j _| j jtk rLt| j _| j jdk rZtt | j _d S d S r   )	r
   rightr   topWIDTHleftHEIGHTSPRITE_HEIGHTSPRITE_WIDTH)r   updownr   r   r   r   r   r	   #   s"   zGameObject.moveN)FFFF)__name__
__module____qualname__r   r	   r   r   r   r   r      s    r   c                 C   s    t jtd| }tj| S )Ndata)ospathjoinmain_dirpgr   loadconvert)namer   r   r   r   
load_image9   s   r%   c                  C   s  t   t j } t jttf}td}td}td}t j	
|}t j	
|}||d g }t|dd}tdD ]}t||d |}|| q;t jd 	 t j }	|	t j rb|jd	d
 |	t j rm|jd	d |	t j rx|jd	d |	t j r|jd	d ||d t j D ]}
|
jt jkr d S q|D ]}|||j|j q|D ]}|jd	d ||j|j q||j|j | d t j  t jd qR)Nzplayer1.gifz
alien1.gifz
liquid.bmp)r   r   
      (   zMove It!T)r   )r   )r   )r   r   d   ) r!   inittimeClockdisplayset_moder   r   r%   	transformscale2xblitr   rangeappendset_captionkeyget_pressedK_UPr	   K_DOWNK_LEFTK_RIGHTeventgettypeQUITr
   r   tickupdatedelay)clockscreenplayerentity
backgroundobjectspxokeyser   r   r   main?   sP   







rM   __main__)__doc__r   pygamer!   r   splitabspath__file__r    r   r   r   r   r   r%   rM   r   quitr   r   r   r   <module>   s   6