refractor + some doc
This commit is contained in:
		
							parent
							
								
									d74f304330
								
							
						
					
					
						commit
						e2301ec1e7
					
				| @ -1,23 +1,58 @@ | ||||
| import string | ||||
| import random | ||||
| 
 | ||||
| 
 | ||||
| # Map of all actively running games | ||||
| # game_lists["game.id"]-> game info linked to that id | ||||
| game_lists = {} | ||||
| 
 | ||||
| def random_string(length): | ||||
| def random_string(length: int) ->str: | ||||
|     """ | ||||
|     This function create a random string as long as the lint passed as  | ||||
|     parameter | ||||
|      | ||||
|     : param length: the lenght of the random string | ||||
|     : type length : int | ||||
|     : return      : a random string | ||||
|     : return type : string | ||||
|     """ | ||||
|     return "".join(random.choice(string.ascii_letters) for _ in range(length)) | ||||
| 
 | ||||
| class GameInfo: | ||||
|     """ | ||||
|     The game info class stores all information linked to a active game | ||||
| 
 | ||||
|     Game.start_token : str,  | ||||
|     Game.id : str, the game identifier of the game | ||||
|     """ | ||||
|     def __init__(self): | ||||
|         self.start_token = None | ||||
| 
 | ||||
| def create_game(): | ||||
|     """ | ||||
|     This function creates a new game by creating a GameInfo object and stores  | ||||
|     it into the game_lists dictionnary | ||||
| 
 | ||||
|     : return      : a new GameInfo | ||||
|     : return type : GameInfo | ||||
|     """ | ||||
|     game = GameInfo() | ||||
|     game.id = random_string(6) | ||||
|     game.start_token = random_string(64) | ||||
|     game_lists[game.id] = game | ||||
|     #TODO ADD A WEBSOCKET IF THE GAME IS KNOWN TO BE MULTIPLAYER | ||||
|     return game | ||||
| 
 | ||||
| def get_game_info(game_id): | ||||
|     """ | ||||
|     This function retrieve a the GameInfo object linked to the game_id | ||||
|     passed as parametter | ||||
| 
 | ||||
|     : param game_id : the lenght of the random string | ||||
|     : type game_id  : str | ||||
|     : return        : The GameInfo Object linked to the gameId | ||||
|     : return type   : GameInfo | ||||
|     """ | ||||
|     if game_id in game_lists: | ||||
|         return game_lists[game_id] | ||||
|     else: | ||||
|  | ||||
| @ -6,16 +6,25 @@ api_routes = flask.Blueprint("api", __name__) | ||||
| 
 | ||||
| @api_routes.route("/createGame") | ||||
| def create_game(): | ||||
|     return "Created game {}".format(game_api.create_game().id) | ||||
|     response = {} | ||||
|     response["status"] = "ok" | ||||
|     response["gameId"] = game_api.create_game().id | ||||
|     return response | ||||
|      | ||||
| @api_routes.route("/getGameInfo") | ||||
| def get_game_info(): | ||||
|     response = {} | ||||
|     gameid = flask.request.args.get("gameid") | ||||
|     if gameid == None: | ||||
|         return "No 'gameid' argument" | ||||
|         response["status"] = "No 'gameid' argument" | ||||
|         return response  | ||||
|     game = game_api.get_game_info(gameid) | ||||
|     if game == None: | ||||
|         return "Game {} does not exist".format(gameid) | ||||
|         response["status"] = "Game {} does not exist".format(gameid) | ||||
|         return response  | ||||
|     else: | ||||
|         return "Game {} start token : {}".format(gameid, game.start_token) | ||||
|         response["status"] = "ok" | ||||
|         response["gameid"] = gameid | ||||
|         response["token"] = game.start_token | ||||
|         return response | ||||
|      | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user