8000 GitHub - FabiolaBusch/Breakthrough: A students group project in my 2nd Semester. · GitHub
[go: up one dir, main page]

Skip to content

About

A students group project in my 2nd Semester.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Latest commit

 

History

1 Commit

Folders and files

Repository files navigation


88""Yb 88""Yb 888888    db    88  dP 888888 88  88 88""Yb  dP"Yb  88   88  dP""b8 88  88
88__dP 88__dP 88__     dPYb   88odP    88   88  88 88__dP dP   Yb 88   88 dP   `" 88  88
88""Yb 88"Yb  88""    dP__Yb  88"Yb    88   888888 88"Yb  Yb   dP Y8   8P Yb  "88 888888
88oodP 88  Yb 888888 dP""""Yb 88  Yb   88   88  88 88  Yb  YbodP  `YbodP'  YboodP 88  88



               ein Spiel im Rahmen des allgemeinen Programmierpraktikums 
                       an der Fakultaet fuer Informatik im SS2016



                                    by CodeSalat:
                                 
                                Fabiola Buschendorf
                                    A. Z.
                                    H. A.
                                    J. B.

                              Betreuer: J. R.



SPIEL & SPIELREGELN
-------------------

Die Idee des Spiels besteht darin, die Reihen des Gegners zu durchbrechen, bevor dieser 
das bei den eigenen tut. Hierzu besitzt jeder Spieler auf einem Spielbrett, welches zwi-
schen 2 und 26  Feldern breit und zwischen 6 und 26 Feldern hoch ist, Spielfiguren. 
Diese sind entweder rot oder blau. Ihre Anzahl richtet sich nach der Geometrie des Bret-
tes. 

Jeder Spielstein kann nur ein Feld vorwärts bewegt werden. Erlaubt sind dabei Züge nach 
vorne links, ein Feld gerade auf den Gegner zu oder ein Feld nach vorne rechts. Es her-
rscht zugzwang. Gegnerische Spielsteine können geschlagen werden, wenn sie der nächste 
Stein auf einer Diagonalen eines eigenen Steins liegen. Schlagen gilt als ein Zug und 
der eigene Stein nimmt dann die Position des geschlagen Steins an. Es dürfen keine Stei-
ne übersprungen werden. 

Ein Spieler gewinnt das Spiel, wenn er es schafft die gegnersiche Grundlinie zu erreich-
en oder alle Steine des Gegners auszulöschen. Hierbei ist es unerheblich ob dies durch 
einen Zug oder das Schlagen eines gegnerischen Steins geschieht.


ABHAENGIGKEITEN
---------------

- ant 1.9
- javac
- java

ENTPACKEN DES ARCHIVES
-----------------------

Unter Linux kann das gelieferte Archiv wie folgt entpackt werden:

	$ tar -xf breakthroughppCodeSalat.tar 

Unter Windows kann dies mit einem geeigneten Tool erfolgen.

Der nächste Schritt besteht in der Kompilation des Projekts.


KOMPILIEREN
-----------

Um das Spiel selbst zu kompilieren kann die Buildumgebung ant verwendet werden:

	$ ant

Dies generiert einen Ordner "dest" in dem ausfuehrbare jar Dateien "breakthrough.jar"
und "breakthrough-net.jar" abgelegt wurden.



SPIEL STARTEN
-------------

Mit dem Befehl

	$ java -jar dest/breakthrough.jar

kann das einfache Spiel mit 2 interaktiven Spielern ohne graphische Ausgabe gestartet werden.

Um hinter einer Firewall ueber ein geeignetes Netzwerk oder gegen Computergegner zu spielen kann der Befehl

	$ java -jar dest/breakthrough-net.jar 

verwendet werden.

Fuer die verschiedenen Optionen und Kommandozeilenparameter siehe unten.



KOMMANDOZEILENPARAMETER breakthrough.jar
----------------------------------------

Kombinierbare optionale Einstellungen:
-d							Anzeigen des Spielbretts und zusätzlicher Informationen zum Ablauf des
							Spiels. Die Standardeinstellung ist aus.
-s <Zeilen> <Spalten>		Definiert die Spielfeldgröße. Die Standardeinstellung ist die maximale
							Feldgröße 26 26
-l <Dateiname>			Lädt einen vorher gespeicherten Spielstand mit zwei interaktiven
							Spielern, welche in der Konsole auf einem Brett mit der gespeicherten
							Spielfeldgröße spielen
-c                   Farbige Ausgabe des Spielbrettes auf der Konsole



KOMMANDOZEILENPARAMETER breakthrough-net.jar
--------------------------------------------

Kombinierbare optionale Einstellungen:
-d							Anzeigen des Spielbretts und zusätzlicher Informationen zum Ablauf des
							Spiels. Die Standardeinstellung ist aus.
-s <Zeilen> <Spalten>		Definiert die Spielfeldgröße. Die Standardeinstellung ist die maximale
							Feldgröße 26 26
-m IP|SC|AC|AI IP|SC|AC|AI	Wahl der Arten der Spieler die gegeneinander spielen sollen: 
									IP: interaktiver Spieler
									SC: Computerspieler der mit Zufall spielt
									AC: etwas besserer Computerspieler
									AI: noch besserer Comuterspieler
							Standardwahl: IP IP
-b <int> <int>				Definiert die Art der Ausgabe und ggf. der Eingabe für die mit option
							"-m" gewählten Computerspieler:
								0:	IP:			Standard, Ein- und Ausgabe im Terminal
									SC|AC|AI:	Standard, keine Ausgabe									
								1:	IP:			Ein- und Ausgabe mithilfe eines GUI											
									SC|AC|AI:	Ausgabe im Terminal, oder im GUI wenn der -w Schalter gesetzt ist. 
-w <ms>						Nur erlaubte option zusammen mit -m SC|AC|AI SC|AC|AI. Die Zahl definiert 
							die Zeit, die zu einem Zug hinzuaddiert wird, um einen gegnerischen Zug
							zu verzögern, Standardwert ist 0 ms
 								mit -n local: Beide Spieler werden in einer GUI dargestellt
 								mit -n offer|receive (<IP>): Zeigt separate GUI der verschiedenen
										Farben auf den beteiligten Rechnern
-l <Dateiname>				Lädt einen vorher gespeicherten Spielstand mit zwei interaktiven
							Spielern, welche in der Konsole auf einem Brett mit der gespeicherten
							Spielfeldgröße spielen. Erlaubt nur mit "-n local"
-n offer|receive (<IP>)|local	Erlaubt das Spielen hinter einer Firewall in einem geeigneten
								Netzwerk:
 								offer:	Bietet einen Spieler auf dem aktuellen Computer an (guest).
										Er akzeptiert die durch den anbietenden Computer
										festgesetzte Größe des Spielfeldes. Der offerierende Spieler 
										ist rot. Der Gegner bestimmt die Spielfeldgröße.
 								receive (<IP>): Sucht einen Spieler bei einer <IP> und managed das
									daraus resultierende Spiel (host). Wenn <IP> nicht angegeben
									wird, wird der Spieler im Fortgang zur Eingabe der selbigen
									aufgefordert. Ist das Spiel zuende kann der receive-spieler eine
									neue Anfrage senden, ohne das ein neues Angebot gesendet werden muss.
 								local: Standardoption für lokales Spielen
								Die angebotenen bzw. die Spieler, die mit von anderen Computern 
								angebotenen Spielern zusammen spielen, werden durch die erste 
								Option von "-m" beschrieben
-t <int>					Ungefähre Zeit, die ein Computer mit "-n receive (<IP>)" auf einen 
							anderen Spieler bei der IP warted, bevor ein Fehler entsteht. Standard-
							einstellung ist 10 s
-c                          Farbige Ausgabe des Spielbrettes auf der Konsole

Kombinationen die zu Fehlern führen:
-l <fileName> und -n offer
-l <fileName> und -n receive
-w <int> und -m IP IP
-w <int> und -m SC|AC|AI IP
-w <int> und -m IP SC|AC|AI


Ein Beispiel für das Spielen über Netzwerk:
	Erster Spieler:

	$ java -jar dest/breakthrough-net.jar -n offer 

	Zweiter Spieler (starten mit GUI):

	$ java -jar dest/breakthrough-net.jar -n receive <IP> -s X X -b 1 1


DOKUMENTATION
-------------

Die Dokumentation wird automatisch im Ordner "docs" abgelegt wenn das ganze Projekt mit

    $ ant

gebaut wird. Wenn nicht das ganze Projekt sondern nur die Dokumentation generiert werden soll kann das mit

    $ ant javadoc

gemacht werden.

Um die Dokumentation zu oeffnen muss die Datei "docs/index.html" mit einem Browser geoffnet werden:

    $ firefox docs/index.html &
    $ google-chrome docs/index.html &

About

A students group project in my 2nd Semester.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

0