22 lines
607 B
Python
22 lines
607 B
Python
|
|
import chess
|
||
|
|
import chess.variant
|
||
|
|
from flask import Flask, jsonify, request
|
||
|
|
from flask_cors import CORS
|
||
|
|
|
||
|
|
app = Flask(__name__)
|
||
|
|
CORS(app)
|
||
|
|
|
||
|
|
@app.route("/move", methods=["POST"])
|
||
|
|
def make_move():
|
||
|
|
fen = request.get_json().get("fen")
|
||
|
|
board = chess.variant.AtomicBoard(fen)
|
||
|
|
uci = request.get_json().get("uci")
|
||
|
|
print(uci)
|
||
|
|
move = chess.Move.from_uci(uci)
|
||
|
|
move_str = board.san(move)
|
||
|
|
if (move in board.legal_moves):
|
||
|
|
board.push(move)
|
||
|
|
else:
|
||
|
|
return jsonify({ "fen": board.fen(), "valid": False })
|
||
|
|
return jsonify({ "fen": board.fen(), "san": move_str, "valid": True })
|