Ninja-Jump-and-run/scripts/models.py

29 lines
731 B
Python
Raw Normal View History

2026-04-17 16:45:10 +00:00
from dataclasses import dataclass
@dataclass
class Tile:
type: str
variant: int
pos: list[int]
def grid_key(self) -> str:
"""Erzeugt den String-Key für die Tilemap."""
2026-04-24 16:45:31 +00:00
return f"{self.pos[0]};{self.post[1]}"
2026-04-17 16:45:10 +00:00
def to_dict(self) -> dict:
"""Konvertiert zurück in ein Dict (für JSON-Speicherung)."""
2026-04-24 16:45:31 +00:00
return {
'type': self.type,
'variant': self.variant,
'pos': list(self.post)
}
2026-04-17 16:45:10 +00:00
@staticmethod
2026-04-24 16:45:31 +00:00
def from_dict(data: dict) -> 'Tile':
2026-04-17 16:45:10 +00:00
"""Erstellt ein Tile aus einem Dictionary."""
2026-04-24 16:45:31 +00:00
return Tile(
type=data['type'],
variant=data['variant'],
pos=list(data['pos']),
)