-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathInvaderMissile.py
47 lines (39 loc) · 1.42 KB
/
InvaderMissile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
from tkinter import *
from RunningValues import *
from Collision import Collision
import RunningValues
from Player import Player
from PlayerMissile import PlayerMissile
class InvaderMissile(Collision):
speed=3
def __init__(self, canvas: Canvas, x, y):
RunningValues.collision_list.append(self)
self.height = 20
self.width = 10
self.canvas = canvas
self.ticker=0
self.x = x - self.width/2
self.y = y - self.height/2
self.shape=canvas.create_rectangle(self.x, self.y, self.x + self.width, self.y + self.height,
fill="#32b855")
def move(self, by: int):
if ( self.y > RunningValues.canvas_height ) :
render_list.remove(self)
delete_list.append(self)
else:
by = by * self.speed
self.y = self.y + by
self.canvas.move(self.shape, 0, by)
def render(self):
self.ticker=self.ticker+1
if self.ticker%8 < 3 :
return
self.move(1)
def hit(self,other):
hit_what = str(type(other))
if hit_what.__contains__("Player") or hit_what.__contains__("Bunker") :
RunningValues.delete_list.append(self)
RunningValues.render_list.remove(self)
self.canvas.delete(self.shape)
RunningValues.collision_list.remove(self)
RunningValues.delete_list.append(self)