@@ -12,11 +12,11 @@ def __init__(self):
1212 # 屏幕设置
1313 self .scrren_width = 1200
1414 self .scrren_height = 800
15- self .bg_color = (255 , 255 , 255 )
15+ self .bg_color = (230 , 230 , 230 )
1616
1717 # 飞船设置
18- self .ship_speed = 1.5
19- self .ship_bullet_allowed = 10
18+ self .ship_speed = 10
19+ self .ship_bullet_allowed = 100
2020
2121 # 子弹设置
2222 self .bullet_speed = 1
@@ -30,9 +30,10 @@ def __init__(self):
3030 #
3131 self .alien_width = 60
3232 self .alien_height = 60
33- self .alien_min_distance_alien = 20
33+ self .alien_min_distance_list = 10
34+ self .alien_min_distance_row = 10
3435 self .alien_min_distance_wall = 10
35- self .alien_min_distance_bottom = 30
36+ self .alien_min_distance_bottom = 10
3637 self .alien_min_distance_top = 60
3738
3839 def set_ship (self , ship , speed , bullet ):
@@ -69,22 +70,38 @@ def cal_alien_num_line(self, alien_distance_alien, alien_distance_wall, alien_wi
6970
7071 def cal_alien_num_line_default (self , scrren ):
7172 """计算一行可以放置多少外星人"""
73+ alien_num = {}
7274 scrren_rect = scrren .get_rect ()
73- num = int ((scrren_rect .width - 2 * self .alien_min_distance_wall + self .alien_width ) \
74- / (self .alien_min_distance_alien + self .alien_width ))
75- return num
75+ list_num = int ((scrren_rect .width - 2 * self .alien_min_distance_wall + self .alien_width ) \
76+ / (self .alien_min_distance_list + self .alien_width ))
77+
78+ row_num = int ( (scrren_rect .height - self .alien_min_distance_bottom - self .alien_min_distance_top \
79+ + self .alien_height ) / (self .alien_min_distance_row + self .alien_height ))
80+ if 4 < row_num :
81+ row_num = 4
82+ # row_num -= 2
83+ alien_num ['list_num' ] = list_num
84+ alien_num ['row_num' ] = row_num
85+ return alien_num
7686
77- def set_alien_info_default (self , aliens ):
87+ def set_alien_info_default (self , aliens , alien_num ):
7888 """设置外星人属性"""
79- num = 1
89+ row_num = 1
90+ list_num = 1
8091 for alien in aliens :
8192
8293 rect = alien .get_rect ()
8394 alien_width = alien .get_width ()
84- # alien_height = alien.get_height()
85- rect .y = self .alien_min_distance_bottom
86- rect .x = self .alien_min_distance_wall + (num - 1 ) * (alien_width + self .alien_min_distance_alien )
95+ alien_height = alien .get_height ()
96+ rect .y = self .alien_min_distance_bottom + ( row_num - 1 ) * ( alien_height + self . alien_min_distance_row )
97+ rect .x = self .alien_min_distance_wall + (list_num - 1 ) * (alien_width + self .alien_min_distance_list )
8798 alien .set_rect (rect )
88- num += 1
99+
100+ list_num += 1
101+ if list_num > alien_num ['list_num' ]:
102+ print list_num
103+ print row_num
104+ list_num = 1
105+ row_num += 1
89106
90107 return True
0 commit comments