Render paths
This commit is contained in:
parent
146aa11675
commit
d9916579b6
8 changed files with 132 additions and 26 deletions
|
|
@ -2,7 +2,7 @@ import random
|
|||
from typing import List
|
||||
|
||||
import map.quest_map
|
||||
from map.quest_map import QuestMap, MapEncounter, EncounterType
|
||||
from map.quest_map import QuestMap, MapEncounter, EncounterType, QuestPath as QP
|
||||
|
||||
|
||||
def generate_encounter_inaccessible() -> MapEncounter:
|
||||
|
|
@ -21,6 +21,10 @@ def generate_encounter_town():
|
|||
|
||||
def generate_map() -> QuestMap:
|
||||
quest_map = QuestMap()
|
||||
|
||||
# Generate encounters
|
||||
|
||||
# TODO: Use sample as if drawing from a deck
|
||||
encounters_rows = []
|
||||
for r in range(11):
|
||||
row: List[MapEncounter] = []
|
||||
|
|
@ -39,4 +43,21 @@ def generate_map() -> QuestMap:
|
|||
encounters_rows.append(row)
|
||||
|
||||
quest_map.encounters = encounters_rows
|
||||
|
||||
# Generate paths
|
||||
diagonals_deck = [QP.NO_PATH] * 8 + [QP.FORWARD_LEFT] * 5 + [QP.FORWARD_RIGHT] * 5
|
||||
random_paths_it = iter(random.sample(diagonals_deck, len(diagonals_deck)))
|
||||
path_rows = []
|
||||
for r in range(11 - 1):
|
||||
row: List[QP]
|
||||
if r == 0:
|
||||
row = [QP.FORWARD, QP.NO_PATH, QP.FORWARD, QP.NO_PATH, QP.FORWARD]
|
||||
elif r == 9:
|
||||
row = [QP.NO_PATH, QP.FORWARD_RIGHT, QP.FORWARD, QP.FORWARD_LEFT, QP.NO_PATH]
|
||||
else:
|
||||
row = [QP.FORWARD, next(random_paths_it), QP.FORWARD, next(random_paths_it), QP.FORWARD]
|
||||
path_rows.append(row)
|
||||
|
||||
quest_map.paths = path_rows
|
||||
|
||||
return quest_map
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue