Tworzę grę przeglądarkową, w której, jak można się domyślić, każdy gracz będzie miał monety – z możliwością ich zarabiania, bądź wydawania. Stworzyłem osobną apkę (monety), a w pliku models ("monety/models.py") znajduje się poniższy kod
class Waluta(models.Model):
def dodaj(x):
global ilosc
ilosc += x
def odejmij(y):
global ilosc
ilosc -= y
nazwa = models.CharField(default="Kaktus Coin", max_length=50)
ilosc = models.IntegerField(default=5)
def __str__(self):
return self.nazwa
Jednakże, po namyśle dochodzę do wniosku, że w praktyce stworzenie jednej Waluty z nazwą "Kaktus Coin" oznaczać będzie, że każde konto będzie miało tyle samo monet co inni gracze: dodanie/odjęcie na jednym koncie, spowoduje zmianę na innych. Nie planuje wdrożyć quasikomunizmu do mojej aplikacji, więc naturalnie jest do zachowanie niepożądane. I tutaj clue pytania: jak to dobrze zrobić, aby każdy gracz miał swoje monety, niezależne od innych? Myślałem nad tym, żeby przy tworzeniu konta, każdy gracz tworzył nową Walutę, aby wszystkie były poindeksowane tzn. gracz nr. 63 miałby walutę nr. 63 i wszelkie działania na jego koncie wpływały by tylko na wartość tejże waluty ponumerowanej. Tylko że to rozwiązanie wydaje mi się mocno zagmatwane w praktyce, wymagałoby dużego zautomatyzowania i mam obawy, że na moim poziomie (ledwo jedną stronę w django wcześniej napisałem) byłoby to zbyt skomplikowane.
Czy da się to zrobić prościej? Z góry dziękuję za odpowiedź i zaangażowanie.