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:
Joel Klimont 2022-11-09 17:07:03 +01:00
parent 67947116ec
commit a5274c2232

View file

@ -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]: