Added simple collision testing
This commit is contained in:
parent
de165606cb
commit
e3eb9119ad
18
game.py
18
game.py
|
@ -60,7 +60,7 @@ def draw_map(
|
|||
ray_dir = player_dir.normalize() + (plane * camera)
|
||||
|
||||
wall_dist, side = ray(
|
||||
player_pos, ray_dir, world_map, max_dis*max_dis, debug=True)
|
||||
player_pos, ray_dir, world_map, max_dis*max_dis)#, debug=True)
|
||||
if side is None: color = pygame.Color(255,0,0)
|
||||
elif side == 0: color = pygame.Color(255,255,0)
|
||||
else: color = pygame.Color(0,255,255)
|
||||
|
@ -258,13 +258,21 @@ def game_loop():
|
|||
|
||||
keys = pygame.key.get_pressed()
|
||||
if keys[pygame.K_w]:
|
||||
player_pos += player_dir * dt
|
||||
new_pos = player_pos + (player_dir * dt)
|
||||
if not world_map[int(new_pos[0]),int(new_pos[1])]:
|
||||
player_pos = new_pos
|
||||
if keys[pygame.K_s]:
|
||||
player_pos -= player_dir * dt
|
||||
new_pos = player_pos - (player_dir * dt)
|
||||
if not world_map[int(new_pos[0]),int(new_pos[1])]:
|
||||
player_pos = new_pos
|
||||
if keys[pygame.K_a]:
|
||||
player_pos -= player_dir.rotate(90) * dt
|
||||
new_pos = player_pos - (player_dir.rotate(90) * dt)
|
||||
if not world_map[int(new_pos[0]),int(new_pos[1])]:
|
||||
player_pos = new_pos
|
||||
if keys[pygame.K_d]:
|
||||
player_pos += player_dir.rotate(90) * dt
|
||||
new_pos = player_pos + (player_dir.rotate(90) * dt)
|
||||
if not world_map[int(new_pos[0]),int(new_pos[1])]:
|
||||
player_pos = new_pos
|
||||
if keys[pygame.K_q]:
|
||||
player_dir.rotate_ip(-90 * dt)
|
||||
if keys[pygame.K_e]:
|
||||
|
|
Loading…
Reference in New Issue