Add final room
This commit is contained in:
parent
b950e4f663
commit
6430830630
2 changed files with 18 additions and 26 deletions
|
@ -150,7 +150,6 @@ class Player():
|
||||||
if keystate[self.key_left]:
|
if keystate[self.key_left]:
|
||||||
self.speed[0] -= acceleration
|
self.speed[0] -= acceleration
|
||||||
if self.speed[0] < -cap_speed: self.speed[0] = -cap_speed
|
if self.speed[0] < -cap_speed: self.speed[0] = -cap_speed
|
||||||
print("PLOP")
|
|
||||||
|
|
||||||
if keystate[self.key_right]:
|
if keystate[self.key_right]:
|
||||||
self.speed[0] += acceleration
|
self.speed[0] += acceleration
|
||||||
|
|
39
utils.py
39
utils.py
|
@ -54,6 +54,8 @@ def map_generator(n):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
room_side = 1000
|
room_side = 1000
|
||||||
|
change_side = {'T':'D','R':'L','D':'T','L':'R'}
|
||||||
|
deplacements = {'T':[0,-1],'R':[1,0],'D':[0,1],'L':[-1,0]}
|
||||||
|
|
||||||
unique_filenames,assembly,back_path = fetch_rooms('./maps/rooms/')
|
unique_filenames,assembly,back_path = fetch_rooms('./maps/rooms/')
|
||||||
#assembly = {'T/R/D/L':[(label1,path1),(label2,path2),...]}
|
#assembly = {'T/R/D/L':[(label1,path1),(label2,path2),...]}
|
||||||
|
@ -72,7 +74,8 @@ def map_generator(n):
|
||||||
|
|
||||||
|
|
||||||
counter = 0
|
counter = 0
|
||||||
while counter < n:
|
retry = 0
|
||||||
|
while counter <= n:
|
||||||
|
|
||||||
# select the next direction, can't be the direction of arrival
|
# select the next direction, can't be the direction of arrival
|
||||||
if len(current_label) > 1:
|
if len(current_label) > 1:
|
||||||
|
@ -82,26 +85,17 @@ def map_generator(n):
|
||||||
|
|
||||||
|
|
||||||
# Select the next room
|
# Select the next room
|
||||||
|
if counter < n: # The next room is not the final room.
|
||||||
next_label,next_room = random.choice(assembly[dir_next])
|
next_label,next_room = random.choice(assembly[dir_next])
|
||||||
asset = pygame.image.load(next_room).convert_alpha()
|
asset = pygame.image.load(next_room).convert_alpha()
|
||||||
|
|
||||||
|
else:
|
||||||
|
# The next room is the finale room.
|
||||||
|
asset = unique_rooms[change_side[dir_next]]
|
||||||
|
|
||||||
mask = pygame.mask.from_surface(asset)
|
mask = pygame.mask.from_surface(asset)
|
||||||
|
next_position = [position[0]+room_side*deplacements[dir_next][0],position[1]+room_side*deplacements[dir_next][1]]
|
||||||
# Compute the position of the next tile
|
dir_from = change_side[dir_next]
|
||||||
if dir_next == 'T':
|
|
||||||
next_position = [position[0],position[1]-room_side]
|
|
||||||
dir_from = 'D'
|
|
||||||
|
|
||||||
if dir_next == 'R':
|
|
||||||
next_position = [position[0]+room_side,position[1]]
|
|
||||||
dir_from = 'L'
|
|
||||||
|
|
||||||
if dir_next == 'D':
|
|
||||||
next_position = [position[0],position[1]+room_side]
|
|
||||||
dir_from = 'T'
|
|
||||||
|
|
||||||
if dir_next == 'L':
|
|
||||||
next_position = [position[0]-room_side,position[1]]
|
|
||||||
dir_from = 'R'
|
|
||||||
|
|
||||||
# Check if we are not overwriting an existing room and store the current one.
|
# Check if we are not overwriting an existing room and store the current one.
|
||||||
if next_position not in positions:
|
if next_position not in positions:
|
||||||
|
@ -114,16 +108,15 @@ def map_generator(n):
|
||||||
current_label = next_label
|
current_label = next_label
|
||||||
position = next_position
|
position = next_position
|
||||||
positions.append(position)
|
positions.append(position)
|
||||||
|
else:
|
||||||
|
retry +=1
|
||||||
|
if retry > 10:
|
||||||
|
raise ValueError("Too much retries")
|
||||||
|
|
||||||
background = pygame.image.load(back_path).convert()
|
background = pygame.image.load(back_path).convert()
|
||||||
|
|
||||||
if not check_map(carte):
|
if not check_map(carte):
|
||||||
raise ValueError("Invalid Map.")
|
raise ValueError("Invalid Map.")
|
||||||
else:
|
|
||||||
print("Map checked and valid!")
|
|
||||||
|
|
||||||
for room in carte:
|
|
||||||
print(room)
|
|
||||||
|
|
||||||
return(carte,(int(room_side/2),int(room_side/2)),background)
|
return(carte,(int(room_side/2),int(room_side/2)),background)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue