File size: 1,112 Bytes
ad89580
1
{"cells": [{"cell_type": "markdown", "id": 302934307671667531413257853548643485645, "metadata": {}, "source": ["# Gradio Demo: tictactoe"]}, {"cell_type": "code", "execution_count": null, "id": 272996653310673477252411125948039410165, "metadata": {}, "outputs": [], "source": ["!pip install -q gradio "]}, {"cell_type": "code", "execution_count": null, "id": 288918539441861185822528903084949547379, "metadata": {}, "outputs": [], "source": ["import gradio as gr\n", "\n", "with gr.Blocks() as demo:\n", "    turn = gr.Textbox(\"X\", interactive=False, label=\"Turn\")\n", "    board = gr.Dataframe(value=[[\"\", \"\", \"\"]] * 3, interactive=False, type=\"array\")\n", "\n", "    def place(board, turn, evt: gr.SelectData):\n", "        if evt.value:\n", "            return board, turn\n", "        board[evt.index[0]][evt.index[1]] = turn\n", "        turn = \"O\" if turn == \"X\" else \"X\"\n", "        return board, turn\n", "\n", "    board.select(place, [board, turn], [board, turn])\n", "\n", "if __name__ == \"__main__\":\n", "    demo.launch()"]}], "metadata": {}, "nbformat": 4, "nbformat_minor": 5}