-
Notifications
You must be signed in to change notification settings - Fork 0
/
LaserTurretTest.py
91 lines (75 loc) · 2.24 KB
/
LaserTurretTest.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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
from LaserTurret import LaserTurret
import time
from math import pi
from pygame import Color,init,display,draw,mouse
import pygame
sizeX = 1920
sizeY =1080
class MockTarget:
def __init__(self,a,b):
self.posX=a
self.posY=b
class MockMisselGenerator:
hitcor=None
def __init__(self):
pass
def damage(self,player):
print("hit")
self.hitcor=player
class MockObstacle:
def getPoints(self):
return (1000,100),(1000,200),(1200,200),(1200,100)
class MockPlayer:
def hit(self,*args):
print(args)
def __init__(self):
pass
posX=450
posY=450
mousePos=(0,0)
def getPoints(self):
mosePos = mouse.get_pos()
return (mosePos[0],mosePos[1]),(mosePos[0]+100,mosePos[1]),(mosePos[0],mosePos[1]+100)
class MockLevel:
turrets=[MockObstacle()]
obstacles=[]
player=MockPlayer()
def main():
Tx=50
Ty=400
Turret = LaserTurret(Tx,Ty,75,10,3,pi/2,pi,3,MockLevel,20)
init()
screen = display.set_mode((sizeX, sizeY))
times = [0] * 10
i = 0
t = time.perf_counter_ns()
while True:
for event in pygame.event.get():
pass
mosePos = mouse.get_pos()
MockPlayer.posX=mosePos[0]+50
MockPlayer.posY = mosePos[1]+50
screen.fill(Color(0,0,0))
Turret.nextCycle(times[i]/10**9,MockLevel.player.posX,MockLevel.player.posY)
draw.circle(screen,Color(255,255,255),(MockLevel.player.posX,MockLevel.player.posY),10)
#draw.circle(screen, Color(255, 0, 0), (Tx, Ty), 10)
#draw.circle(screen, Color(0, 255, 0), Turret.getPoint(), 3)
s=Turret.draw()
screen.blit(s, (Turret.posX, Turret.posY))
Turret.shoot(MockLevel.player.posX,MockLevel.player.posY)
draw.polygon(screen,Color(0,255,0),MockPlayer.getPoints(1))
draw.polygon(screen, Color(0, 0, 255), [(1000,100),(1000,200),(1200,200),(1200,100)])
Turret.effect(screen)
display.flip()
times[i] = time.perf_counter_ns() - t
t = time.perf_counter_ns()
i += 1
i %= 10
#print("fps:", sum(times))
def sum(T):
value = 0
for x in T:
value += x
return 1 / ((value / 10) / 10 ** 9)
if __name__ == "__main__":
main()