Files
eidp-2023/Tutorium/tut10/src/spacearena.py
2023-12-16 10:52:49 +01:00

44 lines
1.0 KiB
Python

from dataclasses import dataclass, InitVar
from enum import Enum
from typing import Optional
class Difficulty(Enum):
EASY = 0.5
NORMAL = 1.0
HARD = 2.0
@staticmethod
def get_difficulty(input: str) -> Optional['Difficulty']:
for e in list(Difficulty):
if e.name == input:
return e
def __str__(self):
return self.name
@dataclass
class SpaceArena:
_difficulty: InitVar[Difficulty] = Difficulty.NORMAL
def __post_init__(self, difficulty: Difficulty = Difficulty.NORMAL) -> None:
self.__difficulty = difficulty
self.__is_running = True
@property
def difficulty(self) -> Difficulty:
return self.__difficulty
@difficulty.setter
def difficulty(self, new_diff: Difficulty):
self.__difficulty = new_diff
@property
def is_running(self) -> bool:
return self.__is_running
def stop(self):
self.__is_running = False