diff --git a/.readme/0_IntelliJ.png b/.readme/0_IntelliJ.png new file mode 100644 index 0000000..7d0daa0 Binary files /dev/null and b/.readme/0_IntelliJ.png differ diff --git a/.readme/0_NotUltimate.png b/.readme/0_NotUltimate.png deleted file mode 100644 index 8ecbaa0..0000000 Binary files a/.readme/0_NotUltimate.png and /dev/null differ diff --git a/.readme/9_Refactor.png b/.readme/10_Refactor.png similarity index 100% rename from .readme/9_Refactor.png rename to .readme/10_Refactor.png diff --git a/.readme/10_CompletionSettings.png b/.readme/11_CompletionSettings.png similarity index 100% rename from .readme/10_CompletionSettings.png rename to .readme/11_CompletionSettings.png diff --git a/.readme/11_DocumentationPopup.png b/.readme/12_DocumentationPopup.png similarity index 100% rename from .readme/11_DocumentationPopup.png rename to .readme/12_DocumentationPopup.png diff --git a/.readme/12_TeamErstellen.png b/.readme/13_TeamErstellen.png similarity index 100% rename from .readme/12_TeamErstellen.png rename to .readme/13_TeamErstellen.png diff --git a/.readme/13_TeamBennenung.png b/.readme/14_TeamBennenung.png similarity index 100% rename from .readme/13_TeamBennenung.png rename to .readme/14_TeamBennenung.png diff --git a/.readme/1_DownlaodIDEA.png b/.readme/1_DownlaodIDEA.png deleted file mode 100644 index 296ca07..0000000 Binary files a/.readme/1_DownlaodIDEA.png and /dev/null differ diff --git a/.readme/1_DownloadIntelliJ.png b/.readme/1_DownloadIntelliJ.png new file mode 100644 index 0000000..f80cdb8 Binary files /dev/null and b/.readme/1_DownloadIntelliJ.png differ diff --git a/.readme/2_InstallIntelliJ.png b/.readme/2_InstallIntelliJ.png new file mode 100644 index 0000000..31c2c08 Binary files /dev/null and b/.readme/2_InstallIntelliJ.png differ diff --git a/.readme/2_IstallIDEA.png b/.readme/2_IstallIDEA.png deleted file mode 100644 index 4b0b74b..0000000 Binary files a/.readme/2_IstallIDEA.png and /dev/null differ diff --git a/.readme/3_InstallGIT.png b/.readme/3_InstallGIT.png deleted file mode 100644 index b19d91e..0000000 Binary files a/.readme/3_InstallGIT.png and /dev/null differ diff --git a/.readme/3_InstallGit.png b/.readme/3_InstallGit.png new file mode 100644 index 0000000..577da12 Binary files /dev/null and b/.readme/3_InstallGit.png differ diff --git a/.readme/4_ConfigureJDK.png b/.readme/4_ConfigureJDK.png deleted file mode 100644 index 858e6d5..0000000 Binary files a/.readme/4_ConfigureJDK.png and /dev/null differ diff --git a/.readme/4_ProjektVertrauen.png b/.readme/4_ProjektVertrauen.png new file mode 100644 index 0000000..18a88e5 Binary files /dev/null and b/.readme/4_ProjektVertrauen.png differ diff --git a/.readme/5_ConfigureJDK.png b/.readme/5_ConfigureJDK.png new file mode 100644 index 0000000..5e258a5 Binary files /dev/null and b/.readme/5_ConfigureJDK.png differ diff --git a/.readme/5_RunPlanetSudo.png b/.readme/6_RunPlanetSudo.png similarity index 100% rename from .readme/5_RunPlanetSudo.png rename to .readme/6_RunPlanetSudo.png diff --git a/.readme/6_Configurations.png b/.readme/7_Configurations.png similarity index 100% rename from .readme/6_Configurations.png rename to .readme/7_Configurations.png diff --git a/.readme/7_ServerImplement.png b/.readme/8_ServerImplement.png similarity index 100% rename from .readme/7_ServerImplement.png rename to .readme/8_ServerImplement.png diff --git a/.readme/8_DownloadSources.png b/.readme/9_DownloadSources.png similarity index 100% rename from .readme/8_DownloadSources.png rename to .readme/9_DownloadSources.png diff --git a/README.md b/README.md index ae794bc..1a30f83 100644 --- a/README.md +++ b/README.md @@ -1,62 +1,64 @@ # Planet Sudo -Zwei unterschiedliche Roboterteams erobern einen für sie unbekannten Planeten. Ihre Mutterschiffe sind bereits gelandet und sie erkundschaften die Umgebung und sammeln in Konkurrenz über den Planeten zufällig verstreute Ressourcen ein, die sie anschließend zum Mutterschiff bringen. +Zwei unterschiedliche Roboterteams erobern einen für sie unbekannten Planeten. Ihre Mutterschiffe sind bereits gelandet und sie erkunden die Umgebung und sammeln in Konkurrenz über den Planeten zufällig verstreute Ressourcen ein, die sie anschließend zum Mutterschiff bringen. Ziel des Spiels ist es mit dem im Mutterschiff vorhandenen Treibstoff so viele Ressourcen wie möglich einzusammeln und zum Mutterschiff zu befördern. -Die Roboter selber verbrauchen den Treibstoff und müssen diesen Regelmäßig beim Mutterschiff wieder auftanken. Andererseits bleiben sie auf dem Spielfeld ohne Funktionalität zurück. Zum einsammeln der Ressourcen wird eine gewisse Zeit benötigt, zudem sind Roboter die eine Ressource zum Mutterschiff transportieren, langsamer als normal. +Die Roboter selber verbrauchen den Treibstoff und müssen diesen regelmäßig beim Mutterschiff wieder auftanken. Ansonsten bleiben sie auf dem Spielfeld ohne Funktionalität zurück. Zum Einsammeln der Ressourcen wird eine gewisse Zeit benötigt, zudem sind Roboter die eine Ressource zum Mutterschiff transportieren, langsamer als normal. Das Spiel endet, wenn der Treibstoff beider Teams verbraucht ist. ## Installation via IntelliJ IDE ### Intellij installieren -- IntelliJ ***Community Edition*** (nicht die Ultimate Edition!) - *um zur Community Edition zu kommen muss man herunterscrollen* - [herunterladen](https://www.jetbrains.com/idea/download/) und installieren.

-![Downloadseite der Ultimate Edition](.readme/0_NotUltimate.png)

-![Downloadseite der Community Edition](.readme/1_DownlaodIDEA.png)

-![Installationsübersicht der IntelliJ IDEA](.readme/2_IstallIDEA.png)

+- IntelliJ [herunterladen](https://www.jetbrains.com/idea/download/) und installieren.

+![Downloadseite von IntelliJ](.readme/0_IntelliJ.png)

+![Downloadseite von IntelliJ Schritt 2](.readme/1_DownloadIntelliJ.png)

+![Installationsübersicht der IntelliJ IDEA](.readme/2_InstallIntelliJ.png)

### Git installieren -- In IntelliJ auf `Get from VSC` klicken, dann auf `Repository URL`. +- In IntelliJ auf `Clone Repository` klicken, dann auf `Repository URL`. +![Übersicht des Get from Version Control Fensters](.readme/3_InstallGit.png)

- Version control auf `Git` einstellen. - Sollte die Fehlermeldung `Git is not installed` auftauchen auf `Download and Install` klicken.

-![Übersicht des Get from Version Control Fensters](.readme/3_InstallGIT.png)

### Planet Sudo installieren - In IntelliJ im selben Fenster die URL `https://github.com/openbase/planetsudo` einfügen und auf `Clone` klicken. -- Sollte die Fehlermeldung `JDK "17" is missing` auftreten auf `Configure...` --> `Download JDK` gehen und dann `Eclipse Temurin` auswählen und installieren.

-![Das Download JDK Fenster](.readme/4_ConfigureJDK.png)

+- Planet Sudo Project vertrauen +![Das Project vertrauen Fenster](.readme/4_ProjektVertrauen.png)

+- Sollte die Fehlermeldung `JDK "20" is missing` auftreten auf `Configure...` --> `Download JDK` gehen und dann `Microsoft OpenJDK` auswählen und installieren.

+![Das Download JDK Fenster](.readme/5_ConfigureJDK.png)

- Die Datei `src/main/kotlin/org.openbase.planetsudo/main/PlanetSudo.kt` öffnen (Doppelklick). -- Jetzt kann PlanetSudo gestartet werden. Dazu einen Rechtsklick auf `Planet Sudo` und dann auf `Run 'Planet Sudo'`

-![Wie man Planet Sudo Startet](.readme/5_RunPlanetSudo.png)

+- Nach kurzer Wartezeit wegen des Downloads, kann PlanetSudo gestartet werden. Dazu einen Rechtsklick auf `Planet Sudo` und dann auf `Run 'Planet Sudo'`

+![Wie man Planet Sudo Startet](.readme/6_RunPlanetSudo.png)

- Wenn du dich mit einem PlanetSudo Server verbinden willst, kannst du diesen in IntelliJ wie folgt einstellen (Vorher muss PlanetSudo wie oben beschrieben gestartet werden): Dazu oben rechts auf `PlanetSudo` klicken dort auf `Edit Configuration` und dann unter `Programm arguments: --server YOUR_SERVER_NAME` eingeben. Dann das ganze mit `Apply` bestätigen.

- ![Öffnen der Configurations](.readme/6_Configurations.png)

-![Einstellen des Servers](.readme/7_ServerImplement.png)

+![Öffnen der Configurations](.readme/7_Configurations.png)

+![Einstellen des Servers](.readme/8_ServerImplement.png)

- Als Nächstes muss die Dokumentation heruntergeladen werden. Dazu in IntelliJ rechts an der Seite das Gradle-Menü öffnen und auf `Download Sources` klicken.

-![Herunterladen der Dokumentation](.readme/8_DownloadSources.png)

+![Herunterladen der Dokumentation](.readme/9_DownloadSources.png)

## Anlegen einer neuen KI - In IntelliJ zur Klasse "DefaultStrategy.kt" navigieren (`src/main/kotlin/org/openbase/planetsudo/game/strategy`) und hier die `DefaultStrategy.kt` mit einem Rechtsklick auf die Klasse (`Refactor` --> `Copy`) kopieren.

-![Wie man eine Klasse umbenennt](.readme/9_Refactor.png)

+![Wie man eine Klasse umbenennt](.readme/10_Refactor.png)

- Die neue Strategieklasse kann nun erweitert werden. - Informationen über mögliche Funktionalitäten könnt ihr über die Methoden Dokumentation herausfinden. - Dazu in der Strategie `agent.` schreiben und dann Strg + Leertaste drücken. - Nun werden die möglichen Funktionen aufgeführt. Um eine detaillierte Beschreibung über die Funktionen zu erhalten, geht auf die drei Punkte und dort auf `Code Completion Settings`.

-![Öffnen der Code Completion Settings](.readme/10_CompletionSettings.png)

+![Öffnen der Code Completion Settings](.readme/11_CompletionSettings.png)

- Dort aktiviert man `Show the documentation popup in X ms` und stellt die Zeit nach Belieben ein (z.B. 10 ms).

-![Ändern der Einstellungen](.readme/11_DocumentationPopup.png) +![Ändern der Einstellungen](.readme/12_DocumentationPopup.png) ## Anlegen eines neuen Teams - Sofern ihr zuvor eine neue Strategieklasse angelegt habt, bitte zunächst PlanetSudo beenden und anschließen neu starten. - Anschließend in PlanetSudo unter `Einstellungen` auf `Team erstellen` klicken. - Wichtig ist hierbei, dass eine gültige Strategie angegeben wird. Hier erfolgt die Eingabe des Namens der zuvor erstellten Strategieklasse. Der Dateityp (".kt") wird hierbei nicht benötigt.

-![Wie man ein Team erstellt](.readme/12_TeamErstellen.png)

-![Wie man sein Team benennt](.readme/13_TeamBennenung.png)

+![Wie man ein Team erstellt](.readme/13_TeamErstellen.png)

+![Wie man sein Team benennt](.readme/14_TeamBennenung.png)

## Mit dem Server synchronisieren @@ -71,4 +73,4 @@ Das Spiel endet, wenn der Treibstoff beider Teams verbraucht ist. - Oder kontaktiert uns per [Mail](mailto:support@openbase.org) -Copyright (C) 2009 - 2024 [openbase.org](http://www.openbase.org) +Copyright (C) 2009 - 2026 [openbase.org](http://www.openbase.org)