1+ """Separate collision rect""" 
2+ 
3+ import  pygame 
4+ from  pygame .locals  import  * 
5+ 
6+ FPS  =  60 
7+ WIDTH , HEIGHT  =  400 , 400 
8+ 
9+ pygame .init ()
10+ screen  =  pygame .display .set_mode ((WIDTH , HEIGHT ))
11+ pygame .display .set_caption ("SHMUP!" )
12+ clock  =  pygame .time .Clock ()
13+ 
14+ player_img  =  pygame .image .load ("player.png" ).convert_alpha ()
15+ player_img  =  pygame .transform .scale_by (player_img , 4 )
16+ cookie_img  =  pygame .image .load ("cookie.png" ).convert_alpha ()
17+ 
18+ x  =  180 
19+ y  =  340 
20+ 
21+ cookie_x  =  50 
22+ cookie_y  =  50 
23+ cookie_x_vel  =  5 
24+ cookie_y_vel  =  2 
25+ cookie_rect  =  cookie_img .get_rect ()
26+ rotated_cookie  =  cookie_img 
27+ rotation  =  0 
28+ cookie_collision_rect  =  cookie_img .get_rect ()
29+ 
30+ running  =  True 
31+ while  running :
32+     clock .tick (FPS )
33+ 
34+     for  event  in  pygame .event .get ():
35+         if  event .type  ==  QUIT :
36+             running  =  False 
37+ 
38+     keys  =  pygame .key .get_pressed ()
39+     if  keys [K_LEFT ]:
40+         x  -=  4 
41+     if  keys [K_RIGHT ]:
42+         x  +=  4 
43+ 
44+     cookie_rect  =  rotated_cookie .get_rect ()
45+ 
46+     cookie_x  +=  cookie_x_vel 
47+     cookie_y  +=  cookie_y_vel 
48+     cookie_rect .centerx  =  cookie_x 
49+     cookie_rect .centery  =  cookie_y 
50+     cookie_collision_rect .center  =  cookie_rect .center 
51+     if  cookie_collision_rect .left  <  0  or  cookie_collision_rect .right  >  WIDTH :
52+         cookie_x_vel  =  - cookie_x_vel 
53+     if  cookie_collision_rect .top  <  0  or  cookie_collision_rect .bottom  >  HEIGHT :
54+         cookie_y_vel  =  - cookie_y_vel 
55+ 
56+     rotation  +=  5 
57+     rotated_cookie  =  pygame .transform .rotate (cookie_img , rotation )
58+ 
59+     screen .fill ((0 , 0 , 0 ))
60+ 
61+     screen .blit (rotated_cookie , cookie_rect )
62+     screen .blit (player_img , (x , y ))
63+ 
64+     pygame .display .update ()
65+ 
66+ pygame .quit ()
0 commit comments