From 7719bfa838a8b008723575aa2d61723788e4a645 Mon Sep 17 00:00:00 2001 From: Sonja Portisch Date: Wed, 23 Feb 2022 07:50:16 +0000 Subject: [PATCH] =?UTF-8?q?Dateien=20hochladen=20nach=20=E2=80=9E=E2=80=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 111 Botserver.ipynb | 111 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) create mode 100644 111 Botserver.ipynb diff --git a/111 Botserver.ipynb b/111 Botserver.ipynb new file mode 100644 index 0000000..d4ce11f --- /dev/null +++ b/111 Botserver.ipynb @@ -0,0 +1,111 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Software Entwicklung\n", + "\n", + "## Kapitel 11: Bots\n", + "\n", + "### 11.2 Bot-Server\n", + "\n", + "Die wilde Welt des Donut-Planten wird von einem Bot-Server simuliert, der die Aktionen des Bots\n", + "entgegennimmt und eine aktualisierte Welt zurückliefert. In einer Wettkampfsituation wird dieser\n", + "Server von der Wettkampfleitung zur Verfügung gestellt, während der Entwicklung sollte jeder aber\n", + "seinen eigenen Bot-Server nutzen können. In diesem Jupyter-Notebook wird erläutert, wie ein\n", + "eigener Bot-Server gestartet werden kann." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 11.2.1 Lösungsansatz\n", + "Der Bot-Server ist ein C-Programm, das von Leuten bei [KURZ Digital](https://www.kurzdigital.com/)\n", + "entwickelt und gepflegt wird. Der Quellcode ist Open Source und\n", + "auf [Github](https://github.com/markusfisch/bots.git) verfügbar. Dort findet sich auch eine\n", + "Anleitung zu den Optionen des Bot-Servers.\n", + "\n", + "Im Moodle-Kurs werden ausführbare Programmdateien der\n", + "Serversoftware für alle notwendigen Betriebssysteme zum\n", + "Download bereitgestellt." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 11.2.2 Starten des Bot-Servers\n", + "\n", + "Nach der Installation kann die Serversoftware über einen\n", + "Kommandozeilenbefehl im Installationsverzeichnis gestartet werden.\n", + "\n", + "./bots \n", + "\n", + "Das Ergebnis ist die Anzeige der möglichen Betriebsmodi des\n", + "Servers und deren Optionen. Der\n", + "Port, auf dem der Server lauscht, besitzt standardmäßig die\n", + "Portnummer 63187.\n", + "\n", + "port to listen for players, default is 63187 " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 11.2.3 Starten im Trainingsmodus und Verbinden eines Bots\n", + "\n", + "Der Bot-Server besitzt einen Trainingsmodus, in dem\n", + "man seinen Bot ohn konkrete Aufgabe über die Oberfläche\n", + "manövrieren kann.\n", + "\n", + "./bots training\n", + "\n", + "Nach dem Start wartet der Server, dass sich ein Client verbindet.\n", + "\n", + "waiting for players (at least 1) to join ...\n", + "\n", + "Das Client-Skript, das den Bot auf dem Donut steuert, soll dann als\n", + "separates Python-Skript erstellt werden.\n", + "Die Verbindungsdaten, die für die Kontaktaufnahme notwendig sind,\n", + "sind die IP-Nummer des Servers (hier: *localhost* 127.0.0.1) und der Port 63187." + ] + }, + { + "cell_type": "markdown", + "metadata": { + "pycharm": { + "name": "#%% md\n" + } + }, + "source": [ + "Um die Vorgehensweise bei der Clientprogrammierung zu verdeutlichen,\n", + "wird [hier](112%20Botclient.ipynb) ein grundlegender Client gezeigt,\n", + "der von den Kursteilnehmern als Start für eigene Implementierungen herangezogen werden kann." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.8.2" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} \ No newline at end of file