added some stuff
This commit is contained in:
44
Tutorium/tut10/src/spacearena.py
Normal file
44
Tutorium/tut10/src/spacearena.py
Normal file
@ -0,0 +1,44 @@
|
||||
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
|
Reference in New Issue
Block a user