You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ebermergen-td/server/ebermergen/__init__.py

54 lines
1013 B
Python

import json
from flask import Flask, jsonify
from flask_cors import CORS
from ebermergen.models.game import Game
from .lib import generate_map
from .lib.ebermergen_game import EbermergenGame
app = Flask(__name__)
CORS(app)
games = {}
@app.route('/')
def index():
return 'Hello World'
@app.route('/generate')
def generate():
return jsonify(generate_map((10, 8)))
@app.route('/generate/<int:x>/<int:y>')
def generate_var(x, y):
return jsonify(generate_map((x, y)))
@app.route('/state')
def state():
a = Game()
a.seed_map()
return jsonify(a.serialize())
@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'})