Browse Source

Dateien hochladen nach „“

master
Sonja Portisch 2 years ago
parent
commit
7719bfa838
1 changed files with 111 additions and 0 deletions
  1. 111
    0
      111 Botserver.ipynb

+ 111
- 0
111 Botserver.ipynb View File

@@ -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",
"<code>./bots </code>\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",
"<code>port to listen for players, default is 63187 </code>"
]
},
{
"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",
"<code>./bots training</code>\n",
"\n",
"Nach dem Start wartet der Server, dass sich ein Client verbindet.\n",
"\n",
"<code>waiting for players (at least 1) to join ...</code>\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
}

Loading…
Cancel
Save