This commit is contained in:
Administrator 2022-08-26 15:52:42 +03:00
parent 5b3f169e63
commit cb7a4a379e
3 changed files with 24 additions and 9 deletions

View File

@ -0,0 +1,18 @@
# Generated by Django 3.2.15 on 2022-08-26 12:52
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('battleship', '0003_auto_20220826_1242'),
]
operations = [
migrations.AddField(
model_name='player',
name='attended',
field=models.BooleanField(default=False),
),
]

View File

@ -22,6 +22,7 @@ class Player(models.Model):
field = models.CharField(max_length=100, default=' ' * 100) field = models.CharField(max_length=100, default=' ' * 100)
number = models.IntegerField() number = models.IntegerField()
token = models.CharField(max_length=30, default=generate_token) token = models.CharField(max_length=30, default=generate_token)
attended = models.BooleanField(default=False)
class Meta: class Meta:
constraints = [ constraints = [

View File

@ -17,16 +17,15 @@ def new_game(request):
player1 = Player.objects.create( player1 = Player.objects.create(
game=game, game=game,
number=0, number=0,
token=generate_token() attended=True
) )
player2 = Player.objects.create( player2 = Player.objects.create(
game=game, game=game,
number=1, number=1,
token=generate_token()
) )
return JsonResponse({ return JsonResponse({
'game_id': game.id, 'game_id': game.id,
'player_token': player2.attend_token, 'player_token': player2.token,
'my_token': player1.token 'my_token': player1.token
}) })
@ -38,10 +37,10 @@ def attend_game(request):
data = json.loads(request.body.decode('utf-8')) data = json.loads(request.body.decode('utf-8'))
game_id = data['game_id'] game_id = data['game_id']
attend_token = data['attend_token'] attend_token = data['attend_token']
player = Player.objects.get(game_id=game_id, attend_token=attend_token) player = Player.objects.get(game_id=game_id, token=attend_token)
if player.token is not None: if player.token is not None:
return JsonResponse({}, status=403) return JsonResponse({}, status=403)
player.token = generate_token() player.attended = True
player.save() player.save()
return JsonResponse({ return JsonResponse({
'token': player.token 'token': player.token
@ -75,10 +74,7 @@ def check_opponent(request):
token = data['token'] token = data['token']
player = Player.objects.get(game_id=game_id, token=token) player = Player.objects.get(game_id=game_id, token=token)
player2 = Player.objects.filter(game_id=game_id, number=(1 - player.number)).first() player2 = Player.objects.filter(game_id=game_id, number=(1 - player.number)).first()
if player2.token is None: value = {"attend": player2.attended, "ready": 'o' in player2.field}
return JsonResponse({"attend": False, "ready": False})
print(player2.field)
value = {"attend": True, "ready": 'o' in player2.field}
print(value) print(value)
return JsonResponse(value) return JsonResponse(value)