Files
2025-04-13 16:26:35 +02:00

34 lines
885 B
Python

#!/usr/bin/env python3
# Script Version: 0.5
# Description: EmojiTrail game backend (no Flask) — switch to FastAPI
from fastapi import FastAPI, Request
from fastapi.responses import FileResponse, JSONResponse
from fastapi.staticfiles import StaticFiles
import random
import os
app = FastAPI()
app.mount("/static", StaticFiles(directory="static"), name="static")
@app.get("/")
def serve_index():
return FileResponse("static/index.html")
@app.post("/generate")
async def generate(request: Request):
body = await request.json()
level = body.get("level", 1)
trail = random.choices(EMOJIS, k=level)
distractor_count = 12 - len(trail)
distractors = random.sample([e for e in EMOJIS if e not in trail], distractor_count)
options = list(set(trail + distractors))
random.shuffle(options)
return JSONResponse({"trail": trail, "options": options})