Dateien hochladen nach „“
This commit is contained in:
parent
e7cd8b28c5
commit
7719bfa838
111
111 Botserver.ipynb
Normal file
111
111 Botserver.ipynb
Normal 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…
x
Reference in New Issue
Block a user