11from ursina import *
2- from utils .constants import min_enemy_speed , max_enemy_speed , enemy_health , min_enemy_movement , max_enemy_movement
2+ from utils .constants import enemy_health , min_enemy_movement , max_enemy_movement
33from ursina .shaders import lit_with_shadows_shader
44
55class Enemy (Entity ):
6- def __init__ (self , player , shootables_parent , x , y , z , texture ):
7- super ().__init__ (parent = shootables_parent , model = 'cube' , collider = 'box' , texture = texture , x = x , y = y , z = z , shader = lit_with_shadows_shader )
6+ def __init__ (self , speed , size , player , shootables_parent , x , y , z , texture ):
7+ super ().__init__ (parent = shootables_parent , model = 'cube' , collider = 'box' , texture = texture , x = x , y = y , z = z , shader = lit_with_shadows_shader , scale = size )
88 self .health_bar = Entity (parent = self , y = 1.2 , model = 'cube' , color = color .red , world_scale = (1.5 ,.1 ,.1 ))
99 self .max_hp = enemy_health
1010 self .hp = self .max_hp
11- self .type = random .choice (["left" , "right" , "top" , "bottom " ])
11+ self .movement_type = random .choice (["left" , "right" , "top" ])
1212 self .movement_done = 0
13- self .speed = random . uniform ( min_enemy_speed , max_enemy_speed )
13+ self .speed = speed
1414 self .movement_amount = random .uniform (min_enemy_movement , max_enemy_movement )
1515 self .player = player
1616
@@ -26,16 +26,16 @@ def update_path_line(self):
2626 start = self .position
2727 end = self .position
2828
29- if self .type == "left" :
29+ if self .movement_type == "left" :
3030 end -= Vec3 (max (0.05 , remaining ), 0 , 0 )
3131 scale = Vec3 (max (0.05 , remaining ), 0.05 , 0.05 )
32- elif self .type == "right" :
32+ elif self .movement_type == "right" :
3333 end += Vec3 (max (0.05 , remaining ), 0 , 0 )
3434 scale = Vec3 (max (0.05 , remaining ), 0.05 , 0.05 )
35- elif self .type == "top" :
35+ elif self .movement_type == "top" :
3636 end += Vec3 (0 , max (0.05 , remaining ), 0 )
3737 scale = Vec3 (0.05 , max (0.05 , remaining ), 0.05 )
38- elif self .type == "bottom" :
38+ elif self .movement_type == "bottom" :
3939 end -= Vec3 (0 , max (0.05 , remaining ), 0 )
4040 scale = Vec3 (0.05 , max (0.05 , remaining ), 0.05 )
4141
@@ -49,33 +49,33 @@ def update(self):
4949 self .health_bar .look_at_2d (self .player , axis = "x" )
5050 self .look_at_2d (self .player , axis = "y" )
5151
52- if self .type == "left" :
52+ if self .movement_type == "left" :
5353 if self .movement_done < self .movement_amount :
5454 self .x -= self .speed
5555 self .movement_done += self .speed
5656 else :
57- self .type = "right"
57+ self .movement_type = "right"
5858 self .movement_done = 0
59- elif self .type == "right" :
59+ elif self .movement_type == "right" :
6060 if self .movement_done < self .movement_amount :
6161 self .x += self .speed
6262 self .movement_done += self .speed
6363 else :
64- self .type = "left"
64+ self .movement_type = "left"
6565 self .movement_done = 0
66- elif self .type == "top" :
66+ elif self .movement_type == "top" :
6767 if self .movement_done < self .movement_amount :
6868 self .y += self .speed
6969 self .movement_done += self .speed
7070 else :
71- self .type = "bottom"
71+ self .movement_type = "bottom"
7272 self .movement_done = 0
73- elif self .type == "bottom" :
73+ elif self .movement_type == "bottom" :
7474 if self .movement_done < self .movement_amount :
7575 self .y -= self .speed
7676 self .movement_done += self .speed
7777 else :
78- self .type = "top"
78+ self .movement_type = "top"
7979 self .movement_done = 0
8080
8181 self .update_path_line ()
0 commit comments