ebermergen-td/server/ebermergen/__init__.py

54 lines
1013 B
Python
Raw Normal View History

2020-01-03 01:43:38 +01:00
import json
from flask import Flask, jsonify
2020-01-03 02:06:15 +01:00
from flask_cors import CORS
2020-01-03 01:43:38 +01:00
2020-01-03 15:04:17 +01:00
from ebermergen.models.game import Game
2020-01-03 01:43:38 +01:00
from .lib import generate_map
2020-01-03 01:25:48 +01:00
2020-01-07 19:27:05 +01:00
from .lib.ebermergen_game import EbermergenGame
2020-01-03 01:25:48 +01:00
app = Flask(__name__)
2020-01-03 02:06:15 +01:00
CORS(app)
2020-01-03 01:25:48 +01:00
2020-01-07 19:27:05 +01:00
games = {}
2020-01-03 01:25:48 +01:00
@app.route('/')
def index():
return 'Hello World'
2020-01-03 01:43:38 +01:00
@app.route('/generate')
def generate():
2020-01-03 15:04:17 +01:00
return jsonify(generate_map((10, 8)))
2020-01-03 01:43:38 +01:00
@app.route('/generate/<int:x>/<int:y>')
def generate_var(x, y):
2020-01-03 15:04:17 +01:00
return jsonify(generate_map((x, y)))
@app.route('/state')
def state():
a = Game()
a.seed_map()
return jsonify(a.serialize())
2020-01-07 19:27:05 +01:00
@app.route('/lala')
def lala():
return jsonify({k: v.state for (k, v) in games.items()})
@app.route('/new-game/<name>', methods=['GET', 'POST'])
def new_game(name):
games[name] = EbermergenGame()
games[name].start_game()
return jsonify({'message': 'success'})
@app.route('/action/<name>/<type>')
def action(name, type):
games[name].perform_action(type, {})
return jsonify({'message': 'success'})