Exemplo n.º 1
0
    def post(self):
        user = users.get_current_user()
        if not user:
            raise Exception("Anonymous not allowed")

        game = Game.get_by_key_name(user.user_id())
        if not game:
            raise Exception("No game for user %s" % user.user_id())

        print self.request.get("setup")
Exemplo n.º 2
0
    def get(self):
        user = users.get_current_user()
        if not user:
            raise Exception("Anonymous not allowed")

        game = Game.get_by_key_name(user.user_id())
        if not game:
            raise Exception("No game for user %s" % user.user_id())

        s = scenario.get_scenario(game.scenario)
        self.response.out.write(json.dumps(s.starting_pieces()))
Exemplo n.º 3
0
 def get(self):
     user = users.get_current_user()
     if not user:
         self.redirect(users.create_login_url(self.request.uri))
     else:
         game = Game.get_by_key_name(user.user_id())
         if not game:
             draw(self.response, "pick-scenario.html", {})
         elif game.setup():
             draw(self.response, "setup.html", {"nickname": user.nickname()})
         elif game.playing():
             draw(self.response, "game.html", {"nickname": user.nickname()})
         elif game.finished():
             # display finished state and let them start again
             raise Exception("Not Implemented")
         else:
             raise Exception("Not Implemented")
Exemplo n.º 4
0
    def validate_name(self, gamename ='gamename'):
        '''validate authentication
        returns:
            True if validation is OK
        '''
        self.game_name = self.request.get(gamename)
        if not self.game_name:
            self.response.set_status(400)
            self.response.out.write('variable %s not found' % gamename)
            return False

        self.game = Game.get_by_key_name( self.game_name )
        if not self.game:
            self.response.set_status(400)
            self.response.out.write('game not found %s' % self.game_name)
            return False
        return True
Exemplo n.º 5
0
    def post(self):
        user = users.get_current_user()
        if not user:
            self.redirect("/")
        else:
            game = Game.get_by_key_name(user.user_id())

            if game:
                self.redirect("/play")
            else:
                scenario_name = self.request.get("scenario")
                historical = self.request.get("historical")
                game = Game(
                    key_name=user.user_id(), player=user, scenario=scenario_name, historical=(historical == "on")
                )
                s = scenario.get_scenario(scenario_name)
                s.setup(game)
                game.put()
                self.redirect("/play")