GALAXIS electronic (1980 von Ravensburger) für Win, Linux und Mac

  • Habe aus Spass und zur Python-Übung das Ravensburger Spiel "GALAXIS electronic" von 1980 gecodet.


    Installation:


    Windows-User müssen Python 3.7 oder höher installieren (siehe Installation von Python unter Windows 10 – Bodos Blog ). Nach der Installation einen Reboot machen!

    In Linux Systemen sollte Python3.x bereits vorinstalliert sein. Da muss aber meistens pip nachinstalliert werden ( sudo apt install pip ).


    Zip entpacken und galaxis.py im entstandenen Verzeichnis starten.

    Fehlende Bibliotheken sollten beim Erststart automatisch installiert werden.


    So sah das Original aus:


    Spiel Anleitung:


    Es sind 4 Raumschiffe in der Galaxis verloren gegangen.

    Diese gilt es zu finden.

    Mit rechter Maustaste auf einen Punkt im Koordinatensystem klicken.

    Es wird nach Raumschiffen gesucht. Und zwar horizontal, vertikal und diagonal.

    Die Anzahl erkannter Raumschiffe wird dann auf diesem Punkt angezeigt.

    Raumschiffe hinter einem Raumschiff werden natürlich nicht erkannt.

    Mit der linken Maustaste können Punkte, in welchen kein Raumschiff sein kann, schwarz markiert werden.

    Erneuter Klick darauf entfernt die Markierung wieder.

    ZBsp bei einer 0 sind in allen 8 Richtungen von diesem Punkt aus sicher keine Raumschiffe mehr zufinden. Diese Punkte können schwarz markiert werden.

    Das Spel ist fertig, wenn alle 4 Raumschiffe gefunden wurden.



    Ich arbeite an einer Netzwerk Version.

    Ist allerdings nicht ganz einfach für einen Python Anfänger wie ich.


    PS:

    Der Sound stammt übrigens vom original Gerät!


    Download jeweils im letzten Post oder bei github!

  • Nice! Ich hatte das Spiel als Kind und war trotz seines simplen Spielprinzips (quasi eine Variante von Minefield) ziemlich süchtig danach. :) Deine Version funktioniert unter meinem Ubuntu 20.04 mit Python 3.8 problemlos.


    Zum Sound: Beim Suchen hört man den Tastendruck am Gerät. Kannst Du den vielleicht noch wegeditieren? Er ertönt ja (fast?) gleichzeitig mit dem ersten Suchsound, da sich dieser aber wiederholt, könntest Du vielleicht den ersten mitsamt der Taste entfernen und einen der folgenden verdoppeln – es sei denn, Du willst den Tastendruck aus Nostalgie mit dabei haben.


    Das Spiel und die Sounds haben jedenfalls einige knarrende Kellertüren in meinem Gedächtnis geöffnet. ^^

  • Danke für den Hinweis.

    Der Sound hat aber momentan keine Priorität.

    Die Netzwerk Version hat Vorrang ^^

    Werde die Sound-Kosmetik am Schluss machen, wenn alles Andere dann läuft.

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

  • Hallo

    Es freut mich, die erste Beta Version der Netzwerkvariante vorzustellen.

    Mit galaxis.py {nickname} wird die 2 Spieler Netzwerk Variante gestartet. Ohne Nickname die offline Version.

    Sobald ein zweiter Spieler anwesend ist, wird man automatisch mit dem verbunden.

    Unterschied zur Offline Variante:

    Wenn man ein eigenes Raumschiff verrät (auf dessen Position anpeilt), ertönt ein langer Summton und dem Gegner wird dies als Fund gutgeschrieben.


    Später werde ich noch einen 60 Sekunden Countdown einfügen.

    Hier versteckt jeder Spieler die Raumschiffe selbst und der Gegner soll die finden.

    Wie gesagt, ist es noch im Beta-Stadium.

    Feedback ist sehr willkommen.


    Das starter Script für den Desktop-Starter sieht so aus:

    Bash
    #!/bin/sh
    
    read -p "Gib Deinen Nickname ein: " var
    cd /home/daniel/galaxis.electronic
    ./galaxis.py $var

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

    5 Mal editiert, zuletzt von treki ()

  • Musste ein paar Verbesserungen am Server machen. Nun sollte das Ganze sauber laufen.

    Problem war, dass wenn sich ein Client verabschiedet (Netzunterbruch usw), der andere Client ins leere lief und das Spiel blieb stehen.

    Nun schliesst sich das Fenster, wenn der Gegner plötzlich fehlt.

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

  • Kleine Ergänzung.

    Bringt mehr Infos für den Spieler.

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

    Einmal editiert, zuletzt von treki ()

  • Grösseres Update.

    Such-Sound verkürzt und bereinigt.

    60s Timer bei online Spiel eingefügt.


    Als nächstes werde ich eine Lobby oder einen Chat einfügen.

    Das wird aber eine Weile dauern ;)

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

    Einmal editiert, zuletzt von treki ()

  • Div kleine Anpassungen, um die Benutzerfreundlichkeit zu verbessern.

    Unbedingt die anleitung.txt lesen!

    Die aktuellste Version ist übrigens immer hier zu finden:

    https://www.ltspiceusers.ch/th…burger-python3-spiel.989/


    ....falls ich mal vergesse, diese hier zu posten ;)

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

    14 Mal editiert, zuletzt von treki ()

  • Die neuste Version läuft nun scheinbar stabil.

    Konnte Timeouts unterbinden, wenn jemand lange auf einen Gegner wartet.

    Auch handelt der Server ireguläre Logoffs nun korrekt.


    Der nächste Schritt ist nun eine Lobby oder mini Chat einzubauen.

    Das dürfte allerdings eine Weile dauern.


    Ich wünsche viel Spass beim Raumschiffe suchen.


    Aktuelle Anleitung:

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

    Einmal editiert, zuletzt von treki ()

  • Kleines Detail bei der Versionsüberprüfung geändert.

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

    Einmal editiert, zuletzt von treki ()

  • Die Lobby und der mini Chat läuft bereits bei mir im Test.

    Könnte interessierte Tester gebrauchen!

    Bitte sonst melden.

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

  • Hier die erste Version mit Lobby und mini Chat.

    Im Terminal Fenster läuft ein live Chat.

    Da werden auch Gegner die online sind angezeigt.

    Einfach im Chat gegner={gegner-name} eingeben und das Spiel geht los.


    Ich hoffe auf Feedback

    Die andere Version ist weiterhin lauffähig. Der Server hat beide drauf.


    Edit:

    Dieser Server ist momentan ausser Betrieb >>> Fehlersuche :(

    Verwende die "alte" Version.

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

    7 Mal editiert, zuletzt von treki ()

  • Server ist wieder online.

    Bei mir funzt das mit dem Chat.


    Bitte melden, wenn's nicht korrekt läuft ^^

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

  • Hier die starter.bat für Windows User:

    Code
    @echo off
    
    echo Gib Deinen Nickname ein (mit ENTER bestaetigen):
    set /p num1=
    galaxis.py %num1%

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

  • Musste eine Korrektur im Clienten machen.

    Fehler:

    Code
    Traceback (most recent call last):
      File "./0client.userliste.py", line 1083, in <module>
        if galax.Galaxis() == False:
      File "./0client.userliste.py", line 869, in Galaxis
        if mouse_presses[2] and self.angepeilt[ypos][xpos]==0 and self.turn == True:
    IndexError: list index out of range

    wenn man unten in das Textfeld klickt.

    Ist jetzt ok.

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

    Einmal editiert, zuletzt von treki ()

  • Neue Version. Auch auf https://github.com/ltspicer/GALAXIS.electronic . Da ist auch die compilierte Windows exe zufinden. Diese benötigt keine Python Installation.

    Natürlich auch hier: https://www.ltspiceusers.ch/th…hon3-spiel.989/#post-2754

    - Terminal Ausgabe übersichtlicher

    - Doppelter Nickname > Automatische Umbenennung

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

    3 Mal editiert, zuletzt von treki ()

  • V2.3

    Neue Version auf https://github.com/ltspicer/GALAXIS.electronic


    Changelog:

    - Grafisches Fenster für Nicknamen Eingabe

    - Angepasster Starter


    Habe festgestellt, dass unter Windows der Starter nicht notwendig ist. Einfach nur galaxis.exe anklicken!

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

    4 Mal editiert, zuletzt von treki ()

  • V2.4


    - Farbige Terminal Ausgabe

    - Farben Windows Terminal kompatibel



    25.4.2022

    - Abfrage ob tkinter installiert ist, eingefügt

    - Anleitung angepasst

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

    8 Mal editiert, zuletzt von treki ()

  • V2.7

    - Abfrage, ob ein weiteres Spiel

    - TKinter Problem bei OSX umgangen (Terminal Eingabe bei OSX)

    "Ich weiß nicht, mit welchen Waffen wir im 3. Weltkrieg kämpfen werden, aber im 4. werden wir uns wieder mit Keulen prügeln."

    (Albert Einstein)

    5 Mal editiert, zuletzt von treki ()