|
@@ -18,7 +18,7 @@ class Game(db.Model):
|
|
|
players = db.relationship("Player", lazy=True, backref="game")
|
|
|
|
|
|
@staticmethod
|
|
|
- def create(timer, rounds, only_america=False):
|
|
|
+ def create(timer, rounds, only_america, coords):
|
|
|
game_id = str(uuid.uuid4())
|
|
|
while Game.query.get(game_id) is not None:
|
|
|
# basically impossible collision, but let's be safe
|
|
@@ -32,11 +32,7 @@ class Game(db.Model):
|
|
|
)
|
|
|
db.session.add(new_game)
|
|
|
|
|
|
- for round_num in range(rounds):
|
|
|
- maybe_coord = generate_coord(only_america=only_america)
|
|
|
- while maybe_coord is None:
|
|
|
- maybe_coord = generate_coord(only_america=only_america)
|
|
|
- (lat, lng) = maybe_coord
|
|
|
+ for (round_num, (lat, lng)) in enumerate(coords):
|
|
|
coord = Coordinate(
|
|
|
game_id=game_id,
|
|
|
round_number=round_num+1,
|
|
@@ -96,21 +92,6 @@ class Player(db.Model):
|
|
|
def add_timeout(self, round_num):
|
|
|
self.add_guess(round_num, -200, -200, None)
|
|
|
|
|
|
- def to_dict(self):
|
|
|
- return {
|
|
|
- "name": self.player_name,
|
|
|
- "currentRound": self.get_current_round(),
|
|
|
- "totalScore": self.get_total_score(),
|
|
|
- "guesses": {
|
|
|
- str(g.round_number): {
|
|
|
- "lat": g.latitude,
|
|
|
- "lng": g.longitude,
|
|
|
- "score": g.round_score,
|
|
|
- "timeRemaining": g.time_remaining,
|
|
|
- } for g in self.guesses
|
|
|
- },
|
|
|
- }
|
|
|
-
|
|
|
|
|
|
class Coordinate(db.Model):
|
|
|
game_id = db.Column(db.String, db.ForeignKey("game.game_id"), primary_key=True)
|