Я делаю многопользовательскую текстовую карточную игру для развлечения в Джанго, где каждая карта позволяет каждому игроку совершать некоторые стандартные действия (взять больше карт, получить золото, получить очки и т. Д.) И, возможно, некоторые другие способности (например, уничтожить карту из руки противника, дать противнику минус очки и многое другое).
Я создал класс карты:
class Card(models.Model):
name = models.CharField(max_length=255, verbose_name="Name")
description = models.TextField(verbose_name="Description")
victory = models.BooleanField("Victory Card")
action = models.BooleanField("Action Card")
reaction = models.BooleanField("Reaction Card")
treasure = models.BooleanField("Treasure Card")
attack = models.BooleanField("Attack Card")
plus_action = models.IntegerField(max_length=2, verbose_name="Plus actions", null=True, blank=True)
plus_card = models.IntegerField(max_length=2, verbose_name="Plus cards", null=True, blank=True)
plus_buy = models.IntegerField(max_length=2, verbose_name="Plus buy", null=True, blank=True)
plus_gold = models.IntegerField(max_length=2, verbose_name="Plus gold", null=True, blank=True)
plus_victory = models.IntegerField(max_length=2, verbose_name="Plus victory", null=True, blank=True)
cost = models.IntegerField(max_length=2, verbose_name="Cost")
Моя проблема в том, что я не знаю, как представить другие способности. Я думал о свойствах, но я не уверен, так ли это и нужно.
Ребята, у вас есть предложения? Заранее спасибо!
С уважением,
Андри