@@ -24,20 +24,63 @@ def __init__(self):
2424 self .bullet_height = 10
2525 self .bullet_color = 0 , 0 , 0
2626
27+ # 外星人设置
28+ self .alien_speed = 1
29+ self .alien_max_num = 10
30+ #
31+ self .alien_min_distance_alien = 50
32+ self .alien_min_distance_wall = 40
33+ self .alien_min_distance_bottom = 30
34+ self .alien_min_distance_top = 60
35+
2736 def set_ship (self , ship , speed , bullet ):
37+ """设置飞船属性"""
2838 ship .set_move_speed (speed )
2939 ship .set_bullet_allowed (bullet )
40+ return True
3041
3142 def set_ship_default (self , ship ):
43+ """设置默认飞船属性"""
3244 ship .set_move_speed (self .ship_speed )
3345 ship .set_bullet_allowed (self .ship_bullet_allowed )
3446 ship .set_bullets (self .bullet_width , self .bullet_height , self .bullet_color , self .bullet_speed )
47+ return True
3548
3649 def set_bullet_info (self , bullet , width , height , speed , color ):
37- bullet .setting_info (width , height , speed , color )
50+ """设置子弹属性"""
51+ return bullet .setting_info (width , height , speed , color )
3852
3953 def set_bullet_info_defalut (self , bullet ):
40- bullet .set_info (self .bullet_width ,
41- self .bullet_height ,
42- self .bullet_speed ,
43- self .bullet_color )
54+ """设置子弹默认属性"""
55+ return bullet .set_info (self .bullet_width ,
56+ self .bullet_height ,
57+ self .bullet_speed ,
58+ self .bullet_color )
59+
60+ def cal_alien_num_line (self , alien_distance_alien , alien_distance_wall , scrren ):
61+ """计算一行可以放置多少个外星人"""
62+ # 屏幕宽度 = (外星人数 - 1)* 外星人间距 + 2 * 外星人到墙距离
63+ scrren_rect = scrren .get_rect ()
64+ alien_num = int (scrren_rect .width - 2 * alien_distance_wall ) / alien_distance_alien + 1
65+ return alien_num
66+
67+ def cal_alien_num_line_default (self , scrren ):
68+ """计算一行可以放置多少外星人"""
69+ scrren_rect = scrren .get_rect ()
70+ return int ((scrren_rect .width - 2 * self .alien_min_distance_wall ) / self .alien_min_distance_alien + 1 )
71+
72+ def set_alien_info_default (self , aliens , alien_num ):
73+ """设置外星人属性"""
74+ num = 1
75+ for alien in aliens :
76+
77+ rect = alien .get_rect ()
78+ alien_width = alien .get_width ()
79+ alien_height = alien .get_height ()
80+ rect .y = self .alien_min_distance_bottom
81+ rect .x = self .alien_min_distance_wall + (num - 1 ) * (alien_width + self .alien_min_distance_alien )
82+ alien .set_rect (rect )
83+ num += 1
84+ print num
85+ print alien .get_rect ()
86+ return True
0 commit comments