function to set random seed and to generate a random number are now private static functions in the Seeding gamestate
This commit is contained in:
parent
67947116ec
commit
a5274c2232
1 changed files with 14 additions and 14 deletions
|
@ -7,16 +7,16 @@ import numpy as np
|
|||
logger = logging.getLogger("complib-logger")
|
||||
|
||||
|
||||
def set_random_seed(seed: int):
|
||||
logger.debug(f"Seeding seed to: {seed}")
|
||||
np.random.seed(seed)
|
||||
|
||||
|
||||
def get_random_number(min: int, max: int):
|
||||
return np.random.randint(256 ** 4, dtype='<u4', size=1)[0] % (max - min + 1) + min
|
||||
|
||||
|
||||
class Gamestate:
|
||||
@staticmethod
|
||||
def __set_random_seed(seed: int):
|
||||
logger.debug(f"Seeding seed to: {seed}")
|
||||
np.random.seed(seed)
|
||||
|
||||
@staticmethod
|
||||
def __get_random_number(min: int, max: int):
|
||||
return np.random.randint(256 ** 4, dtype='<u4', size=1)[0] % (max - min + 1) + min
|
||||
|
||||
def __str__(self) -> str:
|
||||
return f"""Seed: {self.seed}
|
||||
Heu Color: {self.heu_color}
|
||||
|
@ -34,17 +34,17 @@ Logistic Centers: {self.logistic_center}"""
|
|||
|
||||
logger.debug(f"Creating gamestate with seed: {seed}")
|
||||
self.seed = seed
|
||||
set_random_seed(seed)
|
||||
self.__set_random_seed(seed)
|
||||
|
||||
self.heu_color = get_random_number(1, 2)
|
||||
self.heu_color = self.__get_random_number(1, 2)
|
||||
|
||||
self.materials = [0, 0, 0, 0]
|
||||
self.material_pairs = []
|
||||
for i in range(0, 4):
|
||||
num1 = get_random_number(0, 3)
|
||||
num1 = self.__get_random_number(0, 3)
|
||||
self.material_pairs.append([num1, num1])
|
||||
while self.material_pairs[i][1] == num1:
|
||||
self.material_pairs[i][1] = get_random_number(0, 3)
|
||||
self.material_pairs[i][1] = self.__get_random_number(0, 3)
|
||||
|
||||
flat = [item for sublist in self.material_pairs for item in sublist]
|
||||
for i in range(0, 4):
|
||||
|
@ -55,7 +55,7 @@ Logistic Centers: {self.logistic_center}"""
|
|||
visited = [5, 5, 5, 5]
|
||||
|
||||
def __logistic_plan_generator(i: int):
|
||||
drive_to = get_random_number(0, 3)
|
||||
drive_to = self.__get_random_number(0, 3)
|
||||
for j in range(0, 4):
|
||||
drive_to = (drive_to + j) % 4
|
||||
if visited[drive_to] <= 0 or drive_to == self.logistic_plan[i - 1]:
|
||||
|
|
Reference in a new issue