Mercurial > maze-src
view game.rb @ 0:1eef88068f9f tip
initial commit of maze game source
| author | ferencd |
|---|---|
| date | Sun, 15 Sep 2019 11:46:47 +0200 |
| parents | |
| children |
line wrap: on
line source
# # A class to encapsulate methods for generating a game # class Game GAME_STRING_STORY = 'S' GAME_STRING_ADVENTURE = 'A' GAME_STRING_TIMERUN = 'T' # # Will generate a URL for the given string # The first 6 characters are the encryption key of the type # What comes after is the encrypted game type (SG, AG, TG) # def Game.gen_game_url (type) key = Utils.random_hex_string 6 encrypted_game_type = type.encrypt(key) return key + encrypted_game_type end # # Will create a new sotry game, generate ID and put it in the database # def Game.create_new_story_game # Story game IDs always start with 'S' game_id = Database.create_valid_game_id(GAME_STRING_STORY) # Insert the ID in the DB Database.insert_game_id_to_db(game_id, 1, 'S') handle_maze_with_number(1, game_id) end # # Will create a new sotry game, generate ID and put it in the database # def Game.create_new_adventure_game # Adventure game IDs always start with 'A' game_id = Database.create_valid_game_id(GAME_STRING_ADVENTURE) level_number = rand(1..Integer::MAX) % 2147483647 # Insert the ID in the DB and associate it with the given level Database.insert_game_id_to_db(game_id, level_number, 'A') Database.update_level_number_for_gid(level_number, game_id) handle_maze_with_number(level_number, game_id, MAIN_HTML, GAME_TYPE_ADVENTURE) end # # Will create a new sotry game, generate ID and put it in the database # def Game.create_new_maze_game # Pure maze game IDs always start with 'T' game_id = Database.create_valid_game_id(GAME_STRING_TIMERUN) level_number = rand(1..Integer::MAX) % 2147483647 # Insert the ID in the DB and associate it with the given level Database.insert_game_id_to_db(game_id, level_number, 'T') Database.update_level_number_for_gid(level_number, game_id) handle_maze_with_number(level_number, game_id, MAIN_HTML, GAME_TYPE_MAZE) end # # Will create a game, with the specified type # def Game.create_game(game_type) code, retv = create_new_story_game if game_type == 'SG' code, retv = create_new_adventure_game if game_type == 'AG' code, retv = create_new_maze_game if game_type == 'TG' return code, retv end end
