Beiträge von MarkusH

    Mit den Wörterzähler Beispielprogramm werden die Wörter gezählt und angezeigt wie oft ein Wort verwendet wird. Ausserdem wird die Anzahl der Großbuchstaben ermittelt. Der Text kann hineingeschrieben oder hineinkopiert werden. Das Programm ist mit Python programmiert und läuft unter allen anderen Betriebssystemen, auf denen Python läuft. Für die Oberfläche habe ich Tkinter verwendet.


    Screenshot Wörterzählen:

    Das Bild zeigt das Programm unter Linux.


    Installation


    Python ist eine Programmiersprache / Interpreter, es gibt für Windows, MacOS und Linux zum Download. Auf dieser Seite lädest du für dein Betriebssystem die richtige Version herunter http://www.python.org/download/ . Das Programm installierst du auf deinem Rechner. Dann nur noch den Wörterzähler Quelltext von dieser Seite in einen Texteditor kopieren und speichern als wörterzähler.py. Dann kannst du die Datei mit einem Doppelklick starten.


    Quelltext bei gist.github.com oder als zip.


    Bei Windows ist es einfacher die Python Idle aufzurufen und das Programm mit F5 oder mit einem Doppelklick im Dateimanager starten.


    Bei Linux kann der Quelltext im einem Editor abgespeichert werden und über die Komandozeile mit python Wörterzählen.pyw . Etwas eleganter würde es sein, die Datei als "Ausführbar" im Dateimanager zu markieren und dann mit einem Dopellklick zu starten oder in der Kommandozeile mit ./Wörterzählen.pyw.


    Das Programm läuft mit Python 2.7 und 3.x, da ich mit den try, except ImportError Befehl den richtigen Import starte abhäning von der verwendeteten Version. Wer bereits eine Python Version installiert hat, kann somit bei seiner Version bleiben und bei einer Neuinstallation würde ich die neueste Version verwenden.


    try:
    import Tkinter as tk
    except ImportError:
    import tkinter as tk
    try:
    import tkinter.scrolledtext as tkscrolledtext
    except ImportError:
    import ScrolledText as tkscrolledtext


    Beschreibung


    Mit dem neueste Quelltext werden auch dir Großbuchstaben gezählt und in der unteren Zeile angezeigt. Die Funktion hierbei ist sum(c.isupper() for c in text). Soll angezeigt werden das Großbuchstaben im Text vorhanden sind (true/false), fängt die Zeile mit any statt sum an.


    Die Beschreibung der Funktion Text analysieren: Den Text einlesen, Satzzeichen entfernen, in die Liste Variable die Wörter ausgeben, in die Index Variable die Anzahl des jeweiligen Wortes angeben. Am Ende Anzahl der Zeichen, Wörter und Großbuchstaben ausgeben.


    Funktion createWidgets: Aufbau der Tk Oberfläche, Position und Eigenschaften der Textfelder und Bedienschalter.


    Den Code könnt ihr frei verwenden und ändern!

    Mit diesem Python Beispielprogramm wird ein Passwort generiert. Es können verschiedene Arten ausgewählt werden, z.B. nur Großbuchstaben oder Zahlen, diese können auch kombiniert werden. Aus den Anwahlen werden zufällig die Zeichen ausgewählt. Das Bild zeigt das Programm unter Linux. Das Programm ist mit Python programmiert und läuft unter allen anderen Betriebssystemen, auf denen Python läuft. Für die Oberfläche habe ich Thinker verwendet.


    Quellcode für Python 2.7 und 3.x bei gist.github.com oder als zip.


    Bei Windows ist es einfacher die Python Idle aufzurufen und das Programm mit F5 zu starten oder wenn nur eine Pythonversion installiert mit einem Doppelklick im Dateimanager.


    Bei Linux kann der Quelltext im einem Editor abgespeichert werden und gestartet über die Komandozeile mit

    Code
    1. python passwortgenerator.py


    Etwas eleganter würde es sein, die Datei als "Ausführbar" im Dateimanager zu markieren und dann mit einem Dopelklick zu starten oder in der Kommandozeile mit ./passwortgenerator.py.


    Das Programm läuft mit Python 2.7 und 3.x, da ich mit den try, except ImportError Befehl den richtigen Import starte, abhäning von der verwendeteten Version.


    Den Code könnt ihr frei verwenden und ändern.

    Summe, Min und Maxwert


    Mit Python ist es sehr einfach durch die eingebauten Funktionen die Summe, Min und Maxwert aus Werten zu bilden. Dazu gibt es die Funktionen sum(), min() und max(). Das ist ganz schön Praktisch, wie in diesem Beispiel seht.


    Code
    1. >>> a = (1.3, 4.7, 7.0, 5.2)
    2. >>> print sum(a)
    3. 18.2
    4. >>> print min(a)
    5. 1.3
    6. >>> print max(a)
    7. 7.0


    Diese Funktionen habe ich zum Beispiel im Programm SimpleImageRuler angewendet um die einzelnen Abstände auszuwerten.


    Iteratoren bei Python


    Bei menzerat.eu gibt es einen interressanten Artikel von Iteratoren bei Java.


    Und da Python diese Möglichkeit ebenso bietet möchte ich auch ein paar Beispiele zeigen, aber möchte nicht Java und Python vergleichen. Noch kurz erklärt, ein Iterator kann auf jedes Element in einer Struktur zugreifen und kann eine "for" Schleife ersetzen. Zu den Beispielen:


    In der ersten Zeile wird der tuple der Variable t zugewiesen, mit " ".join(t) (auf Deutsch: zusammenfassen) wird der tuple als ein String ausgegeben. bei " ".join(c.upper() for c in t) wird jede Stringvariable im tuple aus Großbuchstaben ausgegeben. Und mit " ".join(c[:2] for c in t) werden die ersten zwei Zeichen von jedem String im tuple ausgegeben sum(c.isupper() for c in t) werden die großgeschrieben String im tuple ausgegeben sum(d.isupper() for d in " ".join(t)) werden alle großgeschrieben Zeichen ausgegeben


    Und das nochmal zu verdeutlichen wird in der sechsten Ausgabe " ".join(d for d in " ".join(t)) jedes Zeichen einzeln ausgeben.


    Code
    1. t = ("Hallo", "ich", "BIN", "ein", "Tuple")
    2. print " ".join(t)
    3. print " ".join(c.upper() for c in t)
    4. print " ".join(c[:2] for c in t)
    5. print sum(c.isupper() for c in t)
    6. print sum(d.isupper() for d in " ".join(t))
    7. print " ".join(d for d in " ".join(t))


    Ausgabe:

    Beispiel für den Datentyp dictionary


    Oft ist es so das nicht ein großes Programm die Probleme löst, oft sind es die kleinen Dinge die den Computeralltag leichter machen. Ich meine damit einfach die wiederkehrenden Sachen ein wenig automatisieren und dabei denke ich nicht an die jährliche Steuererklärung, auch wenn das schön wäre. Sondern an: Wenn ich abends den Computer einschalte und dem
    Internetbrowser starte, schaue ich mir drei Seiten im Internet an um zu sehen was passiert ist. Einen kleinen Ablauf in eine Scriptdatei eintragen die dann der Computer automatisch erledigt. Es ist aber schwierig einen solchen Ablauf zu erkennen und zu sagen da bin ich mit einem Script schneller, denn es muss ja auch erstellt werden. Oder wie bei diesem Beispiel: Das Script soll Werte aus dem Input in eine .csv Datei schreiben und die Werte der richtigen Spalte zuordnen.
    Der Input sieht so aus, hinter dem @-Zeichen ist der Schlüssel und nach dem Doppelpunkt steht der Wert:


    Code
    1. @SYS:4563@MON:7896@ID:MOBIL21@SKST:0897@ECOA:567


    Ziel des Scriptes ist es aus der Zeichenfolge die Schüssel und Werte zu
    trennen und dem Wert den Schlüsseln zuzuordnen. Dazu gibt es in der
    Programmiersprache Python dem Datentyp dictionary.


    Code
    1. einlesen = ('@SYS:4563@MON:7896@ID:MOBIL21@SKST:0897@ECOA:567@LSTAR:AAABBB@MAT:88666553333@COW:77,9')
    2. daten = einlesen.strip('@').split('@')
    3. daten_dict = dict(c.split(':') for c in daten)
    4. print daten_dict
    5. print ("Ausgabe:")
    6. print ("SYS;ID;SKST")
    7. print ("{0};{1};{2}".format(daten_dict['SYS'],
    8. daten_dict['ID'], daten_dict['SKST']))

    Ein interresantes Thema ist die Lambda Funktion in Python. Dazu möchte ich nur ein wenig dazu schreiben.


    Lambda Funktion


    Die Lambda Funktion wird bei diveintopython.net so beschrieben:

    Code
    1. >>> def f(x):
    2. ... return x*2
    3. ...
    4. >>> f(3)
    5. 6
    6. >>> g = lambda x: x*2
    7. >>> g(3)
    8. 6
    9. >>> (lambda x: x*2)(3)
    10. 6


    Also eine Formel definieren und ausrechnen lassen.


    Ich habe neulich einen interresanten Beitrag gelesen, da wurde eine Schulaufgabe mit dieser Funktion gelöset. Die Aufgabe war, finde die Zahlen die durch 2 geteilt mit dem Rest 1, durch 3 mit Rest 2, durch 4 mit Rest 3, 5 Rest 4, 6 Rest 5 und geteilt durch 7 mit Rest 0 im Bereich von 1 bis 1000.


    Also die Zahlen x/2 Rest 1 sind 1, 3, 5,... x/3 Rest 2 sind 5, 8, 11, 14...


    Programmtechnisch lässt die Aufgabe so ausdrücken:

    Code
    1. x % 2 = 1
    2. x % 3 = 2
    3. x % 4 = 3
    4. x % 5 = 4
    5. x % 6 = 6
    6. x % 7 = 0
    7. mit 1 <= x < 1000


    Lösungsweg


    Es gibt die Möglichkeit die Zahlen mit einer Formel auf den selben Nenner zu bringen und dann nach x auflösen.


    Da ich aber hier die lambda Funktion zeigen möchte, wähle ich den brutalen Weg, alle Zahlen von 1 bis 1000 nach diesen Bedienungen zu prüfen und auszuwerten.


    Dazu brauche ich eine Schleife welche die Zahlen von 1 bis 1000 durchläuft. Und mit IF Abfragen jeden Wert prüfen ob es passen würde.
    In etwa so:

    Code
    1. for i in range(1, 1001):
    2. if i % 2 == 1:
    3. if i % 3 == 2:
    4. ... usw


    Aber das ist ein sich wiederholender Code und ist verpöhnt. Denn bei einen Fehler oder Änderung muss an allen Stellen ausgebessert werden. Besser ist es eine Funktion zu schreiben die alle Werte überprüft.
    Das sieht für x % 2 = 1 so aus:

    Code
    1. funcs = lambda x: x % 2 == 1

    Und das Testergebniss in der Python Idle:

    Code
    1. >>> funcs = lambda x: x % 2 == 1
    2. >>> funcs(3)
    3. True
    4. >>> funcs(5)
    5. True
    6. >>> funcs(4)
    7. False


    Das könnte für jede Bedienung wiederholt werden, aber das wäre ebenso wieder Spagetticode.


    Es ist besser Iteratoren zu verwenden.
    Die Abfrage für geteilt durch 7 mit Rest mit append zu der erstellte Liste hinzufügen und dann die Liste mit einer zweiten Schleife abfragen und auswerten.


    fertiges Programm


    Dann sieht das fertige Programm so aus:

    Code
    1. funcs = [lambda x, n=n: x % n == n - 1 for n in range(2, 7)]
    2. funcs.append(lambda x: x % 7 == 0)
    3. for i in range(1, 1001):
    4. if all(f(i) for f in funcs):
    5. print(i)


    Die Idee zu diesem Beitrag habe ich von www.python-forum.de

    Die Seite codecademy.com möchte das Programmieren vor allem Anfängern nahe bringen und macht es auf spielerische Weise. Es werden verschiedene Aufgaben oder Lektionen
    vorgegeben. Als Beispiel, so schieht der Python Track aus. Ist die Aufgabe ausgewählt wird links die Aufgabe angezeigt und erläutert, in der Mitte soll der Code eingegeben werden und rechts wird die Auswertung angezeigt. Leider ist es noch nicht komplett in Deutsch, aber das wird bestimmt noch geändert. Die französische Übersetzung wurde auch erst kürzlich hinzugefügt.


    Eine weitere Seite in dieser Art ist http://www.checkio.org.


    Dort sind die Übungen ein wenig schwerer.

    In XML Dateien können Daten strukturiert abgelegt werden und werden als
    Datenaustauschformat häufig verwenden. Dabei ist ein einfacher Zugriff
    auf die Daten wichtig, wie das bei Python aussieht möchte ich in diesem
    Beitrag euch erklären.


    Möchte an dieser Stelle nur ein kurzes Beispiel zeigen wie einfach die
    XML Bearbeitung mit dem Python lxml Modul funktioniert.


    Hier im Beispiel werden nur Daten von einer XML ausgegeben:


    Die Ausgabe sieht so aus:
    Element H hat die Ordungszahl 1
    Element He hat die Ordungszahl 2


    Das Beispiel funktioniert mit Python 2.x und 3.x. Die XML Daten lässt
    sich auch als Datei einlesen.


    Das Modul lxml wird in Debian so installiert:


    Code
    1. apt-get install python3-lxml python-lxml

    Published: Fr 07 März 2014
    Updated: So 19 September 2015
    By MarkusH


    Lizenz: MIT/X, Webseite


    Das Python-Programm Dosage kann online verfügbare Comic-Strips oder andere Bildinhalte herunterladen. Das Kommandozeilenprogramm hat keine aufwendige Konfiguration, alle Einstellungen werden beim Aufruf als Parameter übergeben. Dosage hat bereits Daten zu einer Vielzahl von Comics hinterlegt.


    Die Liste aller verfügbaren Comics wird mit dem Parameter -l angezeigt. In der Liste kann mit den Pfeiltasten angeschaut werden und mit q wird sie wieder beendet. Bei deutschsprachigen wird mit [lang:de] angezeigt, ich habe so nach deutschsprachigen Comics gesucht: ./dosage -l |grep lang:de. Und diese gefunden: AhoiPolloi, DasLebenIstKeinPonyhof, DemolitionSquad, DerTodUndDasMaedchen, FonFlatter, KatzenfutterGeleespritzer, MyCartoons, NichtLustig, ParallelUniversum, Ruthe, SandraAndWooGerman, Schuelert, WormWorldSagaGerman, Zwarwald.


    Die Comics werden als Unterverzeichnisse im Verzeichnis Comics abgelegt. Um das aktuelle Comic einer Serie herunterzuladen dosage und Name der Serie. Für alle Teile der Serie ein -a hinten dem Aufruf.


    Download und Start


    das Programm herunterladen . Für Windows User steht eine .exe Datei zur Verfügung.


    Wer den Quellcode direkt starten möchte, benötigt Python 2.7 oder 3.x.


    Bei Linux ist Python meist schon vorhanden.


    Über pip ist die Installation auf jedem Betriebsystem einfach:
    pip install dosage. Aber auch direkt vom Quellcode kann as Programm gestartet werden: ./dosage oder python dosage. Aber davor unbediengt das Programmsetup aufrufen mit:
    python setup.py build


    Ausblick


    Dosage wird regelmässig weiterentwickelt und das kann bei dem Commits beobachten und die Änderungen mitverfolgen.


    Viel Spaß bei Testen

    Published: Fr 04 September 2015
    Updated: Fr 04 September 2015
    By MarkusH


    Awlsim ist eine kostenlose Step 7 kompatibel AWL / STL Soft-SPS mit Python und Qt geschrieben. In Abhängigkeit von dem verwendeten Rechner und dem verwendete Python-Interpreter, erzielt die Software eine gute Leistung von mehreren tausend, Millionen von AWL / STL-Operationen pro Sekunde. Deutsche und Englische S7 AWL / STL Anweisungen werden unterstützt.


    Awlsim können CPUs mit zwei und vier Akkumulatorregister (S7-3xx und S7-4xx) emulieren. Das Projekt möchte so nah wie möglich an der realen SPS-Hardware mit dem AWL / STL Code sein. Fehlende Funktionen und Unterschiede zwischen awlsim und Step 7 sind in den COMPATIBILITY.txt und todo.txt Dateien dokumentiert. Wenn Sie irgendwelche undokumentierten Bugs und Inkompatibilitäten zu einer echten SPS-CPU zu finden, kontaktieren Sie Awlsim.


    Awlsim ist Open Source Freie Software unter der GNU General Public License v2 + lizenziert. Das bedeutet, dass der vollständigen Quellcode verfügbar ist.


    Dieser Text ist meine freie Übersetzung von der Awlsim Webseite.

    Published: Fr 07 März 2014
    Updated: Mo 21 September 2015
    By MarkusH


    Möchte euch das Programm pyLottoVerwaltung vorstellen, das Programm speichert die Gewinnzahlen und die Zahlen von dem Lottoschein in einer Datendank an und vergleicht ob in den Zahlen des Lottoscheines die Gewinnzahl dabei waren. Die Funktionen werden immer weiter erweitert und die derzeitigen Funktionen sind: Lottoschein erstellen mit Zufallszahlen, Lottoschein/Gewinnzahlen zu Datenbank hinzufügen, aufrufen und löschen. Auswertung des Lottoscheins. Aufruf dieser Webseite von Programm.


    Der Quelltext kann bei Github heruntergeladen werden: https://github.com/MarkusHackspacher/pyLottoverwaltung




    Das Programm benötigt Python 2.7 oder 3. http://www.python.org/download und pyQt4 bzw pyQt5 für Python.


    Start mit:


    python lotto.pyw


    Das Programm hat die GPL Lizenz und kann kostenlos heruntergeladen und weitergegeben werden.


    Was noch fehlt: Eine Auswertung welche Zahlen am häufigsten / am wenigsten gezogen wurden, (Eingabefeld für den Zeitraum), Darstellung der Auswertung als Punktwolke Export / Import der Zahlen in der Datei Druckvorschau und Druck des Lottoscheines (nach Datum auswählbar) Es fehlt noch die Sicherung der Datenbank, Und die Datenbank wird langsam bei vielen Daten


    Ob nun Hobbyprojekt oder ein größeres Projekt, der Quellcode sollte immer gut dokumentiert sein, deswegen habe ich mit den epydoc Programm eine Dokumentation https://github.com/MarkusHacks…ster/pdf/api.pdf?raw=true erstellt-
    Dialoge:


    Auswertung: Gewinnzahlen: Lottoschein:


    Um bei Anzeigen der Daten im Textfeld so schnell wie möglich zu sein werden die Daten zuerst in ein virtuelles Feld geschrieben und dann in das richtige kopiert, siehe hierzu das Beispiel:



    Zuerst brauchst du auf deinen Rechner diese Programme, Python selbst, pyQt4 bzw. pyQt5, python-lxml und optimal die Versionsverwaltung Git. Diese Installierst du mit diesem Befehl:


    sudo apt-get install python-lxml python-qt5 git


    Dann kopiert du den offenen Quellcode des Programmes auf deinem Rechner, entweder das zip Datei von den Projektseite herunterladen oder eleganter mit Hilfe der Versionsverwaltung herunterladen:


    git clone https://github.com/MarkusHackspacher/pyLottoverwaltung.git


    Dieser Befehl läd den Quelltext herunter und kopiert ihn in das pyLottoverwaltung Verzeichniss.


    In das Verzeichniss wechseln::


    cd pyLottoverwaltung


    Das Programm starten::


    ./lotto.pyw

    Published: 04 Januar 2015
    Updated: 25 September 2015
    By MarkusH


    Space Invader
    Das Spiel Space Invader hat jemand für Python 2.7 programmiert. Den fast 1000 Zeilen langen Quellcode findet ihr bei www.python-forum.de . Den Text in einer Datei speichern, z.B. Space.py und mit Python ausführen. Es wird zusätzlich noch das Modul PIL benötigt.


    Die Oberfläche wurde mit Tkinter erstellt.
    AICivGame / VillagerSim
    Das Spiel VillagerSim hat das Ziel ein Spielwelt zu besiedeln, so wie beim großen Vorbild Civilization. Noch aber steckt das Projekt in den Kinderschuhen, es sind gerade einmal vier Gebäude verfügbar. Kein Speichern oder Laden ist möglich. Aktuelle Infos gibt es auf der VillagerSim Homepage. Und warum ich das Spiel vorstelle, ich wollte es testen, aber es kamen Fehlermeldungen, das die Dateinamen nicht richtig sind. Es ist der Unterschied das bei Linux, im Gegensatz zu anderen Betriebssystemen bei den Dateinamen auf Groß/Kleinschreibung geachtet wird. Habe die diesen und paar weitere Mängel im Quelltext behoben und dem Entwicklern wieder zur Verfügung gestellt.
    Starten
    Wer das Spiel VillagerSim mal testen möchte, dem Quellcode könnt ihr bei https://github.com/JarvistheJellyFish/AICivGame herunterladen.
    Damit das Spiel auf euerm Computer läuft, muss Python 2.7 und pygame installiert sein.
    Gestartet wird es mit python NewVillagerSim.py
    Ausblick
    Die Entwickler sind hochmotiviert, so wie es aus der Projektseite und der PyGame Seite hervorgeht, doch das Projekt steht noch ganz am Anfang. So gebe ich VillagerSim einen von fünf Sternen.
    Miner
    Das Spiel Miner wurde im Rahmen des Programmierwettbewerb pyweek17 von Marcus Møller erstellt. Das Spiel habe ich dann auf der pygame Seite entdeckt. Ich habe mir dann den Quelltext heruntergelden und den Code nach dem pep8 Vorschrift überarbeitet, also Zeilenlänge auf 80 Zeichen begrenzt, Rechenoperationen sollen von Leerzeichen umgeben sein . Diese Änderungen sind entzwischen wieder in das Stammprojekt zurückgeflossen.
    Spielablauf
    Der auf dem kleinen Mond gelandeter Sam, muss vor seiner Rückkehr zur Erde noch eine heikle Mission erfüllen. Er so in kurze Zeit die RESOURCES finden und vor der Zeit wieder an der Mondoberfläche sein. Und fünf Runden überstehen, geht es zurück zur Erde. Die Pfeiltasten steuern SAM, mit Taste X springen, C Blöcke sprengen und wenn auch selten benutzt, V erzeugt Blöcke, aber benötigt 4 Rohstoffe.
    Start
    Python 2.7 und Pygame auf dem Rechner installieren.
    Den Quelltext herunterladen und entpacken.
    Starten mit python run_game.py
    Ransack
    Seit den 15.7.2014 habe ich einen Schreibzugriff auf das ransack-python Projekt bei GitHub. Dazu ist es gekommen, ich habe mir auf der pygame Seite nach interresanten Spielen umgeschaut und der Quellcode auf GitHub liegt. Bei ransack-python habe ich paar Stellen im Quellcode überarbeitet. Wer mithelfen möchte das Spiel weiter zu verbessern und nicht bei GitHub angemeldet ist, kann z.B. Die Ausgabe von git diff bzw. die Änderungen hier unten in den Kommentar posten, aber auch Ideen oder Anregungen.


    Spiel
    Das Spiel beginnt im "Dorf". Derzeit hat das Dorf einen Item-Shop, Zauberladen, Taverne, Schmied und Waffenkammer. Das Spiel nur gesichert werden, wenn der Held am Gasthaus (dreistöckige Gebäude) ist.
    Das Grundstück ist derzeit sehr einfach - suche den König im Schloss, dann sich mit dem Held in den Dungeon wagen und versuchen, den Skelettkönig in seiner Festung zu besiegen.
    In den Kerker, werden neue Ebenen automatisch generiert. Jeder Dungeon hat einen Schlüssel, der die Tür zu den nächsten Treppen hinunter entriegelt. Versuchen Sie, die "geheime" Dungeon (Tipp: Blick auf die Minikarte) zu finden.
    Treppen führen den Held zum nächsten oder vorherigen Ebene. Wenn nächste Stufe noch nicht besucht wurde, wird sie automatisch erzeugt. Das Spiel gipfelt in der Festung mit dem "Skelettkönig". Die Festung beginnt bei Level 10.
    Spielsteuerung
    Das Spiel ist noch der Beta-Phase. Der Held kann die Ebenen erkunden, Gegenstände zu sammeln, Monster bekämpfen und sich mit den Bewohnern austauschen.
    Gesteuert wird der Held mit den Pfeiltasten. Monster sind in den Dungeon. Wenn der Held sich ein Monster nähert, drücken Sie die Eingabetaste um Kampf zu beginnen, auch können die Monster die Schlacht beginnen.
    Mit der Eingabetaste können Sie auch ein Gespräch mit den Menschen im Dorf oder der Burg beginnen.
    'c' zeigt das Zauber-Menü und "i" zeigt den Inventar. 'a' / 'w' zeigt das Rüstung / Waffen Menü. Wählen Sie eine Waffe / Rüstung von hier und es wird automatisch bestückt. Die aktuelle Rüstung wird nicht im Menü aufgelistet. 'm' zeigt Mini-Karte, mit dem aktuellen Niveau. 's' zeigt Charakterwerte. 't' speicht den Screenshot.
    Installieren
    Es benötigt Python 2.7 und Pygame, das Spiel kann hier kostenlos heruntergeladen werden. Gestartet wird es mit python ransack.py


    PythonFarmGame
    Ich habe noch ein PyGame Empfehlung für diese Woche: PythonFarmGame. Ein Spiel das ein wenig süchtig macht.
    Der Spielinhalt ist recht einfach, Gemüse anbauen, ernten und verkaufen. Von dem Erlös kann eine neuere Farm gekauft werden und auch auf ihr kann Gemüse anbauen, ernten und verkaufen werden. Zwischen den Farmen kann mit X und Y, bzw. bei Linux X und Z gewechselt werden. Das Gemüse wächst weiter auch wenn das Spiel beendet ist und wer nicht regelmässig nach seinem Garten schaut, dem verdorrt das Gemüse.

    Download
    Der Download ist kostenlos und der Quelltext ist frei, den das Programm das die Lizenz GPL v3. Und kann auf meinem GitHub Verzeichnis heruntergeladen werden:

    Geschichte
    Der Ersteller des Spieles ist orneo1212. Aber seit zwei Jahren gibt es keine Änderungen mehr an seinem Projekt. Ich habe mit den Quellcode angeschaut und zuerst an die Codedesign Vorschrift pep8 angepasst um ihn lesbarer zu machen und den Code ihm wieder zu Verfügung gestellt. Damit ich Screenshot für diese Vorstellung erstellen konnte, habe ich den Quelltext um die Funktion "Taste A erstellt einen Screenshot" erweitert.
    SolarWolf
    SolarWolf ist ein Klassiker unter den PyGame Spielen bzw. ein PyGame Vorzeigeprojekt. Und auf meiner Seite, das aktionreichste Spiel. Und der Quellcode ist ebenso ein Klassiker, die letzte Änderung liegt schon 10 Jahrer zurück. Der Quellcode selbst und paar .exe sind auf der PyGame Webseite gehostet.
    Spiel
    Das Spielprinzip ist einfach, die Tonnen einsammeln und keine Teffer von den feindlichen Schiffen kassieren, Und dier Weltraumminen umfliegen, das gibt Schaden am eigenen Raumschiff. Ab und zu fliegen Satelliten diese enthalten oft einen Bonus. Und damit es nicht zu langweilig wird müssen die Missionen innerhalb einer bestimmten Zeit erfüllt werden. Die Tonnen sind nach Farbe gekenzeichnet ob sie beim ersten Überflug oder nach mehreren Überflügen von der Bildfläche verschwinden. Die Idee stammt von Spiel SolarFox für den Atari 2600.
    Ein Let\'s (Quickly) Play Solar Wolf in Englisch auf Youtube
    Fazit
    Es ist sicherlich kein Spiel das einem Tagen vor den Bildschirm fesselt, aber so kurz zum datteln ist es nicht schlecht. Die ersten Runden sind sehr leicht aber der Schwierigkeitsgrad steigert sich kontinuierlich.Das Spiel ist technisch durchdacht und mir sind keine Abstürzte aufgefallen. So das ich davon ausgehe das der Quellcode fehlerfrei ist.
    Installieren
    Den Quellcode als .zip Datei kostenlos herunterladen, entpacken und mit python solarwolf.py starten. Python und PyGame sollten zuvor schon installiert sein.
    Avoid
    Vielleicht ist das Wort Spiel schon zu viel gesagt, auf den Feld kommen von allen Seiten runzlige Gesichter herbeigeflogen und Du musst diesen Ausweichen. Und es werden immer mehr Gesichter. Das Ausweichen wird immer schwieriger. Und es kommt zum Unausweichlichsten, eine Kollision mit dem Gegner. Das Spiel ist zu Ende und es bleibt ein Eintrag in die Bestenliste.
    So zu kurz zum Darüberschauen ist es ok, aber nach zehn Minuten, war mein Nervfaktor erreicht. Die Spielmotivation wird durch eine Rangliste noch ein wenig angehoben. Aber das war es auch schon. Zum Empfehlen ist es aber nur für eingefleischte Kurzspiel Fans.


    Download:
    https://github.com/jasongosen/avoid
    Avoid the angry frowny face dudes, isr mit Python 2.7 und mit Pygame 1.9.1 programmiert und hat eine GNU GPL Lizenz.
    Zombie-Defense-Game
    ein weiteres Klasse-C Spiel ist das Zombie-Defense-Game.
    Ziel des Spiele ist die Grundlinie gegen die Zombie zu verteidigen. Der Snowpea kann auf und ab bewegt werden und mit der Leertaste werden Schüsse auf die Zombies abgefeuert. Verloren ist das Spiel wenn 10 Zombies über die Linie kommen oder der Snowpea berührt einen der Zombies. Benötigt ebenso Python und pygame, ist kostenlos und hat eine GNU GPL Lizenz.
    Download:
    https://github.com/MarkusHackspacher/Zombie-Defense-Game
    Entwicklung
    Der Ersteller des Spieles ist handsomestone. Aber seit dem 23 September 2012 gibt es keine Änderung mehr an seinem Projekt. Ich habe den Quellcode nach dem Python Design Vorschlag pep8 überarbeitet um ihn lesbarer zu machen und diesen Code wieder ihm zur Verfügung gestellt.

    Da sich die Softwareprojekten immer weiter entwickeln und neuen Funktionen eingearbeitet werden. Gibt es immer wieder Veränderungen an den Schnittstellen. So war bei Wechsel auf die Python (Programmiersprache) Version 3 vor paar Jahren. Und jetzt steht der Wechsel von Qt4 auf Qt5 an. Qt ist ein Framework für die Benutzeroberfläche.


    Bis pyLottoSimu Version 1.4 läuft mit Qt4 ab 1.5 mit Qt5, aber wenn Qt5 nicht installiert ist mit Qt4.


    15. Juni 2015
    pyLottoSimu kann nur noch mit pyQt5 gestartet werden. Qt ist eine Klassenbibliothek des Grafische Toolkit der das eigentliche Fenster zeichnet. Qt in der Version 4 gibt es seit 2005, die Version 5 seit 2012.


    Der Grund ist hauptsächlich das ich keine einfache Möglichkeit haben den Code mit pyQt4 zu testen. Weitere Gründe sind das pyQ5 moderner ist und weiterentwickelt wird, was bei Qt4 nicht der Fall ist. Es war eine Frage der Zeit wann das sein würde. Auf dem pyLottoSimu Gitter-Kanal habe ich es am 24.6.2015 bekannt gegeben.


    Die letzte startbare pyLottoSimu Version mit pyQt4 ist die Version 1.6 auf Github 76e4f43ce87ba1d4724c53c2820b23f61f58cc75 vom 12. Juni 2015.


    17.9.2015:
    es ist möglich das Programm mit pyside zu starten, wenn pyQt5 nicht installiert ist. Aber der Programmcode für pyside wird nicht getestet und wenn es eine Fehlermeldung gibt, bitte Bescheid geben.

    Da sich die Softwareprojekten immer weiter entwickeln und neuen Funktionen eingearbeitet werden. Gibt es immer wieder Veränderungen an den Schnittstellen. So war bei Wechsel auf die Python (Programmiersprache) Version 3 vor paar Jahren. Und jetzt steht der Wechsel von Qt4 auf Qt5 an. Qt ist ein Framework für die Benutzeroberfläche.


    Bis pyLottoSimu Version 1.4 läuft mit Qt4 ab 1.5 mit Qt5, aber wenn Qt5 nicht installiert ist mit Qt4.


    15. Juni 2015
    pyLottoSimu kann nur noch mit pyQt5 gestartet werden. Qt ist eine Klassenbibliothek des Grafische Toolkit der das eigentliche Fenster zeichnet. Qt in der Version 4 gibt es seit 2005, die Version 5 seit 2012.


    Der Grund ist hauptsächlich das ich keine einfache Möglichkeit haben den Code mit pyQt4 zu testen. Weitere Gründe sind das pyQ5 moderner ist und weiterentwickelt wird, was bei Qt4 nicht der Fall ist. Es war eine Frage der Zeit wann das sein würde. Auf dem pyLottoSimu Gitter-Kanal habe ich es am 24.6.2015 bekannt gegeben.


    Die letzte startbare pyLottoSimu Version mit pyQt4 ist die Version 1.6 auf Github 76e4f43ce87ba1d4724c53c2820b23f61f58cc75 vom 12. Juni 2015.


    17.9.2015:
    es ist möglich das Programm mit pyside zu starten, wenn pyQt5 nicht installiert ist. Aber der Programmcode für pyside wird nicht getestet und wenn es eine Fehlermeldung gibt, bitte Bescheid geben.

    Neueste Studien haben aber herausgefunden , dass (ab) 4 Tassen Kaffee am Tag das Risiko , an bestimmten Krebsarten zu erkranken, senken können. Wieso das so ist, weiß man noch nicht genau. Man vermutet aber, dass das Koffein der Wirkstoff ist, der den Schutz verbessert.

    Die neueste Studien sind aber auch schnell wiederlegt oder auch nicht!
    http://www.medien-doktor.de/me…darmkrebs-oder-auch-nicht

    Seit dem letzten Post ist über ein Jahr vergangen und es hat sich ein wenig getan, es ist jetzt möglich zwischen vier Lottosysteme zu wählen, das Deutsche 6 aus 49 ist default das Österreichische 6 aus 45 mit einer Zusatzzahl, die EuroMillionen 5 aus 50 mit zwei Superzahlen zwischen 1 und 11 und sowie die Amerikanische Powerball Lottery 5 aus 59 und eine Zusatzzahl im Bereich 1 bis 35.
    Das Programm hat jetzt die Versionsnummer 1.6. Unter der Haube ist die Programmlogik von der Oberfläche unabhäniger und es wird in der nächsten Version auch das Programm ohne eine grafische Oberfläche geben. So wird die Programmsktuktur übersichtlicher und es lassen sich besser Programmteile in anderen Programmen wiederverwenden.
    um zeitnah über die Entwicklung zu Infomieren habe ich einen Chat eingerichtet bei http://gitter.im/MarkusHackspacher/pyLottoSimu
    Desweiten lässt sich mit Pythonsystemtools eine .exe Datei erstellen: python setup.py py2exe Wenn jemand diese Programm als Gimmick auf seiner Homepage anbieten möchten und dabei den Link zur Homepage anpasst kann es gern tun, Feel free. Download ist wie überlich unter den bisherigen Link: http://github.com/MarkusHackspacher/pyLottoSimu


    Viel Spass mit dem Programm

    Seit dem letzten Post ist über ein Jahr vergangen und es hat sich ein wenig getan, es ist jetzt möglich zwischen vier Lottosysteme zu wählen, das Deutsche 6 aus 49 ist default das Österreichische 6 aus 45 mit einer Zusatzzahl, die EuroMillionen 5 aus 50 mit zwei Superzahlen zwischen 1 und 11 und sowie die Amerikanische Powerball Lottery 5 aus 59 und eine Zusatzzahl im Bereich 1 bis 35.
    Das Programm hat jetzt die Versionsnummer 1.6. Unter der Haube ist die Programmlogik von der Oberfläche unabhäniger und es wird in der nächsten Version auch das Programm ohne eine grafische Oberfläche geben. So wird die Programmsktuktur übersichtlicher und es lassen sich besser Programmteile in anderen Programmen wiederverwenden.
    um zeitnah über die Entwicklung zu Infomieren habe ich einen Chat eingerichtet bei http://gitter.im/MarkusHackspacher/pyLottoSimu
    Desweiten lässt sich mit Pythonsystemtools eine .exe Datei erstellen: python setup.py py2exe Wenn jemand diese Programm als Gimmick auf seiner Homepage anbieten möchten und dabei den Link zur Homepage anpasst kann es gern tun, Feel free. Download ist wie überlich unter den bisherigen Links: http://markush.cwsurf.de/jooml…o-generator-und-simulator und http://github.com/MarkusHackspacher/pyLottoSimu


    Viel Spass mit dem Programm

    Habe ein Cup Tippspiel Programm geschreiben. Der Name der Python Software heißt pyCupBetting. Auf der Seite gibt es Screenshots und ein Video.
    Der Sinn des Tools ist die Vorrundenergebnise und den Sieger eines Tunieres zu Tippen.
    Die Grundfunktionen wären alle Spiele auf eine Seite auszudrucken und dann diese den Tipper zum Ausfüllen zu Verfügung stellen, natürlich auch die Tipp- und Ergebnisseingabe. Dazu kommt die Ergebnissrechnung, für den richtigen Siegen gibt es einen Punkt, für den richtigen Torabstand zwei Punkte und für das exakte richtige Ergebniss drei Punkte. Und den Ausdruck des Ergebniss, das Ganze habe ich ohne eine grafische Oberfläche realisiert, die Eingaben können in der Kommandozeile gemacht werden.
    Zu der technischen Seite, ich habe einen Datenbankmanager mit Objektrelationale Abbildungverwendet und bin damit echt super zufrieden. Und damit habe ich mir echt viel Entwicklungszeit gespart und kann SQLAlchamy nur weiter empfehlen.
    Das Programm kann in Deutsch, Englisch und seit neuesten, dank Sascha in Esperanto gestartet werden.


    Den Quelltextkönnt ihr bei Github anschauen und herunterladen.