Nauč se Python > Kurzy > Začátečnický kurz PyLadies > Téma na přání – Webový server > Webový server - rozhraní k piškvorkám

Webový server - rozhraní k piškvorkám – Řešení [2]

# webpiskvorky.py

# Spouštění (v příkazové řádce):
# export FLASK_APP=webpiskvorky.py
# export FLASK_DEBUG=1
# flask run

# (na Windows "set" místo "export")

from flask import Flask, render_template, request

from util import tah
from ai import tah_pocitace

app = Flask(__name__)

@app.route('/')
def hra():
    if 'pole' in request.args:
        pole = request.args['pole']
    else:
        pole = '-' * 20
    if 'cislo' in request.args:
        cislo_policka = int(request.args['cislo'])
        pole = tah(pole, cislo_policka, 'x')
        pole = tah_pocitace(pole, 'o')

    return render_template(
        'hra.html',
        ocislovane_pole=enumerate(pole),
        pole=pole,
    )
<!DOCTYPE html>
<html>
    <head>
        <title>Piškvorky</title>
        <meta charset="utf-8">
    </head>
    <body>
        <h1>Piškvorky</h1>
        <form>
            <input type="hidden" name="pole" value="{{ pole }}">
            <div>
                {% for cislo, znak in ocislovane_pole %}
                    {% if znak == '-' %}
                        <input type="radio" name="cislo" value="{{ cislo }}">
                    {% else %}
                        {{ znak }}
                    {% endif %}
                {% endfor %}
            </div>
            <input type="submit" value="Odeslat!">
        </form>
        <a href="{{ url_for('hra') }}">Reset</a>
    </body>
</html>

Toto je stránka lekce z kurzu, který probíhá nebo proběhl naživo s instruktorem.