| 3 | | # Create your models here. |
| | 4 | class Game(models.Model): |
| | 5 | unique_key = models.CharField() |
| | 6 | started = models.DateTimeField(auto_now_add=True) |
| | 7 | finished = models.DateTimeField() |
| | 8 | # TODO: いろいろゲームの設定 |
| | 9 | timeout = models.IntegerField(default=100) |
| | 10 | is_finished = models.BooleanField() |
| | 11 | |
| | 12 | |
| | 13 | class Round(models.Model): |
| | 14 | index = models.IntegerField() |
| | 15 | game = models.ForeignKey(Game, blank=True, null=True) |
| | 16 | |
| | 17 | |
| | 18 | class Turn(models.Model): |
| | 19 | index = models.IntegerField() |
| | 20 | round = models.ForeignKey(Round, blank=True, null=True) |
| | 21 | |
| | 22 | |
| | 23 | class Play(models.Model): |
| | 24 | player = models.ForeignKey("Player", blank=True, null=True) |
| | 25 | turn = models.ForeignKey(Turn, blank=True, null=True) |
| | 26 | card = models.PositiveSmallInteger() |
| | 27 | |
| | 28 | |
| | 29 | class User(models.Model): |
| | 30 | # AI のことはとりあえず忘れる。small start |
| | 31 | user_id = models.SlagField() |
| | 32 | password = models.SlagField() |
| | 33 | nickname = models.CharField() |
| | 34 | |
| | 35 | |
| | 36 | class Player(models.Models): |
| | 37 | index = models.IntegerField() |
| | 38 | game = models.ForeignKey(Game) |
| | 39 | hands = models.ManyToManyField(Card) |
| | 40 | round_score = models.IntegerField(default=0) |
| | 41 | game_score = models.IntegerField(default=0) |
| | 42 | is_bot = models.BooleanField() |
| | 43 | |
| | 44 | |
| | 45 | class ChatMessage(models.Models): |
| | 46 | by = models.ForeignKey(Player, blank=True, null=True) |
| | 47 | msg = models.CharField(blank=True) |
| | 48 | |