forked from bedohswe/p3he
feat(ui): cPos, cRot with normal sizes, position, background
This commit is contained in:
parent
d6e5cf9b5d
commit
ac9509acac
25
main.py
25
main.py
@ -2,25 +2,24 @@
|
|||||||
|
|
||||||
from time import time_ns, sleep
|
from time import time_ns, sleep
|
||||||
from cmath import exp
|
from cmath import exp
|
||||||
|
import math
|
||||||
import pygame
|
import pygame
|
||||||
import pygame.freetype
|
import pygame.freetype
|
||||||
from gyro import *
|
from gyro import *
|
||||||
from lines import *
|
from lines import *
|
||||||
|
|
||||||
|
|
||||||
def deg2rad(rA): return rA/180*PI
|
def deg2rad(rA): return rA/180*PI
|
||||||
|
|
||||||
I = complex(0,1)
|
I = complex(0,1)
|
||||||
WHITE = (255,255,255)
|
WHITE = (255,255,255)
|
||||||
BLACK = (0,0,0)
|
BLACK = (0,0,0)
|
||||||
OFFSET = 0.015625
|
OFFSET = 0.015625
|
||||||
PI = 3.14159265358979323846264338327
|
PI = math.pi
|
||||||
ROT = cNorm(exp(deg2rad(2)*I))
|
ROT = cNorm(exp(deg2rad(2)*I))
|
||||||
IROT = 1/ROT
|
IROT = 1/ROT
|
||||||
F = 5 * 10**7
|
F = 5 * 10**7
|
||||||
F_ = 10**9
|
F_ = 10**9
|
||||||
|
|
||||||
|
|
||||||
class Segment:
|
class Segment:
|
||||||
def __init__(self,bA,cA,cB,trColor):
|
def __init__(self,bA,cA,cB,trColor):
|
||||||
self.isFinite = bA
|
self.isFinite = bA
|
||||||
@ -54,14 +53,14 @@ def draw(level,gPlayer,fov,res):
|
|||||||
cInt = cLineIntersection(tA,tB,complex(0),rot)
|
cInt = cLineIntersection(tA,tB,complex(0),rot)
|
||||||
except ZeroDivisionError:
|
except ZeroDivisionError:
|
||||||
continue
|
continue
|
||||||
rDist = cDist(0,cInt)
|
rDist = cDist(0,cInt)
|
||||||
if cDot(cInt,rot) > 0:
|
if cDot(cInt,rot) > 0:
|
||||||
continue
|
continue
|
||||||
if (1 - m.height) > rDist:
|
if (1 - m.height) > rDist:
|
||||||
m = DrawnSegment(1-rDist,j.color)
|
m = DrawnSegment(1-rDist,j.color)
|
||||||
drawn.append(m)
|
drawn.append(m)
|
||||||
return drawn
|
return drawn
|
||||||
|
|
||||||
def cap(rN):
|
def cap(rN):
|
||||||
if rN < 0:
|
if rN < 0:
|
||||||
return 0
|
return 0
|
||||||
@ -70,7 +69,7 @@ def cap(rN):
|
|||||||
def mainLoop():
|
def mainLoop():
|
||||||
gPlayer = GyroVector(0,1)
|
gPlayer = GyroVector(0,1)
|
||||||
display = pygame.display.set_mode((1280,720))
|
display = pygame.display.set_mode((1280,720))
|
||||||
font = pygame.freetype.Font(None,24)
|
font = pygame.freetype.Font(None,18)
|
||||||
while True:
|
while True:
|
||||||
framestart = time_ns()
|
framestart = time_ns()
|
||||||
|
|
||||||
@ -79,7 +78,7 @@ def mainLoop():
|
|||||||
return True
|
return True
|
||||||
if event.type == pygame.KEYDOWN:
|
if event.type == pygame.KEYDOWN:
|
||||||
if event.key == pygame.K_q:
|
if event.key == pygame.K_q:
|
||||||
gPlayer.cRot *= -1
|
gPlayer.cRot *= -1
|
||||||
keys = pygame.key.get_pressed()
|
keys = pygame.key.get_pressed()
|
||||||
if keys[pygame.K_d]:
|
if keys[pygame.K_d]:
|
||||||
gPlayer.rotate(ROT)
|
gPlayer.rotate(ROT)
|
||||||
@ -96,17 +95,19 @@ def mainLoop():
|
|||||||
for i in drawn:
|
for i in drawn:
|
||||||
pygame.draw.rect(display,i.color, (n,360 - (cap(i.height) * 500),10,cap(i.height) * 1000))
|
pygame.draw.rect(display,i.color, (n,360 - (cap(i.height) * 500),10,cap(i.height) * 1000))
|
||||||
n += 2
|
n += 2
|
||||||
font.render_to(display, (20, 150), str(gPlayer.cPos), (0, 0, 0))
|
|
||||||
font.render_to(display, (20, 250), str(gPlayer.cRot), (0, 0, 0))
|
font.render_to(display, (8, 8), "cPos: " + str(gPlayer.cPos), (255, 255, 255), (0, 0, 0))
|
||||||
|
font.render_to(display, (8, 26), "cRot: " + str(gPlayer.cRot), (255, 255, 255), (0, 0, 0))
|
||||||
|
|
||||||
pygame.display.update()
|
pygame.display.update()
|
||||||
|
|
||||||
frameend = time_ns()
|
frameend = time_ns()
|
||||||
sleep((frameend-framestart) / F_)
|
sleep((frameend-framestart) / F_)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
pygame.init()
|
pygame.init()
|
||||||
pygame.display.set_caption('P3HE')
|
pygame.display.set_caption('P3HE')
|
||||||
if not pygame.get_init():
|
if not pygame.get_init():
|
||||||
return False
|
return False
|
||||||
retstatus = mainLoop()
|
retstatus = mainLoop()
|
||||||
|
Loading…
Reference in New Issue
Block a user