 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
Manuel

Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
Verfasst am: 24.08.2008, 19:30 Titel: [Python] [Windows / Linux] Pong (gegen Spieler oder CPU) |
|
|
Hi @ all,
Tjoar, ich habe mich gestern und heute vorm Bildschirm geklemmt und mir durch diverse Übungen versucht, Python mit Pygame beizubringen. Nun, mittlerweile ist etwas herausgekommen, was ich wohl als Veröffentlichungswürdig bezeichnen würde^^:
Hier ein Screenshot:
Und hier die Downloadlinks:
pong-win.exe (für Windowsnutzer, mit Source Code)
pong.tar.bz2 (Quellcode mit allen Ressourcen)
Ich hoffe, dass ich alle Pakete richtig gebaut habe^^. Windowsnutzer brauchen normalerweise nur entpacken und dann "pong.exe" ausführen.
Linuxuser packen sich den Quellcode, installieren python + pygame (unter Ubuntu mit "sudo apt-get install python python-pygame") und führen die darin enthaltene ".py"-Datei aus ("python pong.py").
Sourcecode ist in beiden Fällen die Datei "pong.py".
---
Mittlerweile kann man das Spiel nicht nur zu zweit, sondern auch alleine gegen einen CPU-Gegner zocken
In der LIESMICH.TXT ist normalerweise alles Wichtige beschrieben. Dennoch eine kurze Tastenanweisung:
Pfeiltasten: Paddle 1 bewegen
w, a, s, d : Paddle 2 bewegen
ESC: Beenden
Tjoar, viel Spaß damit. Hoffe, dass jemand damit was anfangen kann
EDIT: Wer das Spiel im Vollbildmodus starten will, muss beim Start zusätzlich entweder "-F" oder "--fullscreen" als Parameter mitgeben.
EDIT²:
Zitat: | Changelog:
Version 0.55
========
- Das Spiel sollte nun auf jedem halbwegs aktuellen Rechner gleich schnell laufen (getestet mit 800 MHz + mit 2800 MHz)
- CPU-Gegner integriert. Beim Spielstart kommt künftig die Frage, ob man gegen die CPU oder einen weiteren Spieler spielen will
- Eine Anzeige wurde integriert, welches die Anzahl der verlorenen Bälle je Spieler anzeigt.
- Beim Abprall des Balls wird nun ein kleiner Zufallswert miteinberechnet. Das verhindert, dass man den Ball bis zum Sankt Nimmerlandstag zwischen zwei nie bewegenden Paddles hin- und herspringenlassen kann
- Der Abprallwinkel sollte nun ein wenig präziser als bisher berechnet werden
- Windowsnutzer müssen nun weder bei der LIESMICH.TXT noch beim Quellcode WordPad o.Ä. bemühen, die Texte werden jetzt auch unter Notepad korrekt angezeigt
- Diverse Geschwindigkeitsoptimierungen (im Detail: Bildschirmaktualisierungen finden jetzt nur noch in den Bereichen statt, in denen es auch notwendig ist). Das verringert die CPU-Last z.T. drastisch (von 40% auf 2,8 GHz auf fast 4% unter Windows!)
- Grafiken wurden von BMP nach PNG konvertiert
Version 0.51
========
- Das Spiel benötigt nun nicht mehr ganz soviel Prozessorleistung
- Spielgeschwindigkeit (und damit die Schwierigkeit) ein wenig erhöht
Version 0.5
========
- Erste Version |
_________________ DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Zuletzt bearbeitet von Manuel am 05.09.2008, 08:52, insgesamt 10-mal bearbeitet |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4700 Wohnort: ~/
|
Verfasst am: 24.08.2008, 21:41 Titel: Re: [Python] [Windows / Linux] Pong für 2 Spieler |
|
|
Manuel hat Folgendes geschrieben: | (unter Ubuntu mit "sudo apt-get install python && sudo apt-get install python-pygame") |
Code: | sudo apt-get install python python-pygame |
müsste doch reichen, oder nicht?
edit: lustig, vor allem wenn man bedenkt, dass ich bisher nur unter BASIC eine ordentliche Grafikausgabe hinbekommen habe.
Habe aber das chr(13) aus der ersten Zeile nehmen müssen, dann klappt auch die magic line.  _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Manuel

Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
Verfasst am: 25.08.2008, 07:27 Titel: Re: [Python] [Windows / Linux] Pong für 2 Spieler |
|
|
nemored hat Folgendes geschrieben: | Manuel hat Folgendes geschrieben: | (unter Ubuntu mit "sudo apt-get install python && sudo apt-get install python-pygame") |
Code: | sudo apt-get install python python-pygame |
müsste doch reichen, oder nicht? | Ok, reicht natürlich auch  Zitat: | edit: lustig, vor allem wenn man bedenkt, dass ich bisher nur unter BASIC eine ordentliche Grafikausgabe hinbekommen habe.  | Hehe, bei mir ist es genau umgekehrt: Es ist das erste Mal, das ich überhaupt eine Grafikausgabe hinbekomme, dafür ohne BASIC. Nach all den ASCII-Spielchen ist es (für mich) eigentlich eine Premiere, endlich mal was Grafisches vorzustellen  Zitat: | Habe aber das chr(13) aus der ersten Zeile nehmen müssen, dann klappt auch die magic line.  | Ah, da liegt der Hund begraben. Ich hab mich schon gewundert, warum ich das unter Linux (trotz chmod +x) nicht direkt zum Laufen gebracht habe, sondern immer mit dem Interpreter aufrufen musste. Thx, muss ich demnächst mal ändern... _________________ DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 25.08.2008, 18:43 Titel: |
|
|
Hallo!
ich finde das Spiel toll, nur läuft es auf meinem alten 1,2 GHz PC viel zu langsam und dieser Prozessor ist völlig ausgelastet (siehe Screenshot).
Im Screenshot bin ich übrigens mit beiden Pads in einer Position, in der der Ball immer gleich hin und her springt, ohne dass ich die Position verändern muss.
LG,
St_W _________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
Manuel

Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
Verfasst am: 26.08.2008, 06:29 Titel: |
|
|
St_W hat Folgendes geschrieben: | Hallo!
ich finde das Spiel toll, nur läuft es auf meinem alten 1,2 GHz PC viel zu langsam und dieser Prozessor ist völlig ausgelastet (siehe Screenshot). | Puh, das habe ich völlig vergessen, noch mitzutesten... Ich habe eine neue Version hochgeladen, die jetzt weniger Prozessorleistung frisst (30% bei meinen 2.8 GHz und 50% bei 800 MHz...). Link für Quellcode + Windows-Paket ist derselbe. Leider läuft das Spiel auf älteren Prozessoren immer noch langsam, ich bin dabei, das zu lokalisieren und zu beheben...(EDIT: behoben) Zitat: | Im Screenshot bin ich übrigens mit beiden Pads in einer Position, in der der Ball immer gleich hin und her springt, ohne dass ich die Position verändern muss.
LG,
St_W | EDIT: Korrigiert
Allgemein: Danke für die Kritik
Ist schon lustig, ich bekomme derzeit mit Python Geschwindigkeitsprobleme bei unterschiedlichen Prozessoren, ähnlich wie unter QBasic wenn man keine Vorkehrungen trifft... Ich seh zu, dass ich den Bug noch behebe... _________________ DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Zuletzt bearbeitet von Manuel am 01.09.2008, 14:03, insgesamt 2-mal bearbeitet |
|
Nach oben |
|
 |
Manuel

Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
Verfasst am: 31.08.2008, 23:44 Titel: |
|
|
*Update*
Das Spiel läuft jetzt auf allen halbwegs aktuellen PCs gleich schnell, außerdem wurde ein CPU-Gegner und ein Zähler für verlorene Bälle je Spieler integriert. Es hat relativ viele (kleinere) Änderungen gegeben, am Besten lest ihr euch das Changelog im ersten Beitrag durch . Downloadlink für Quelltext und Windows-Programm ist jeweils derselbe im ersten Beitrag.
@nemored: Es wär super wenn du mir sagen würdest, was genau du gemacht hast, um es unter Linux problemlos ausführbar zu machen. Ich kriege das irgendwie nicht hin und habe nach zig Versuchen zähneknirschend aufgegeben... Ist leider der Nachteil, wenn man das Projekt mal unter Windows und mal unter Linux bearbeitet... _________________ DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu
Zuletzt bearbeitet von Manuel am 05.09.2008, 08:55, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4700 Wohnort: ~/
|
Verfasst am: 01.09.2008, 01:07 Titel: |
|
|
Eigentlich musst du nur die Zeilenumbrüche konvergieren ... genauer gesagt habe ich nur den Zeilenumbruch von Zeile 1 zu Zeile 2 gelöscht und neu eingegeben. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Manuel

Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
Verfasst am: 01.09.2008, 10:22 Titel: |
|
|
nemored hat Folgendes geschrieben: | genauer gesagt habe ich nur den Zeilenumbruch von Zeile 1 zu Zeile 2 gelöscht und neu eingegeben. | Und mit welchem Editor? Ich kriege das irgendwie weder unter gedit noch unter vim zum Laufen, egal wie oft ich beide Zeilen lösche/verbinde oder neu schreibe... Ich habs mit sed und Tools wie "dos2unix" versucht, ge"cat"ttet in eine neue Datei etc., ich krieg das irgendwie ums Verrecken nicht hin... Das kann doch nicht so schwer sein  _________________ DL Walk (Denkspiel) | DL Malek (Denkspiel) | DL Warrior (ASCII-Adventure) | DL Sokodos (Sokoban-Klon)
---
www.astorek.de.vu |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4700 Wohnort: ~/
|
Verfasst am: 01.09.2008, 11:33 Titel: |
|
|
Manuel hat Folgendes geschrieben: | mit welchem Editor? |
gedit
Aus "ausführbar" hast du die Datei ja gesetzt, oder?
Irgendwelche Fehlermeldungen? _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
Manuel

Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 01.09.2008, 13:05 Titel: |
|
|
nemored hat Folgendes geschrieben: | Eigentlich musst du nur die Zeilenumbrüche konvergieren ... genauer gesagt habe ich nur den Zeilenumbruch von Zeile 1 zu Zeile 2 gelöscht und neu eingegeben. |
g und t liegen nah beieinander, aber dass man zeilenumbrüche konvergiert, ist mir neu  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4700 Wohnort: ~/
|
Verfasst am: 01.09.2008, 16:29 Titel: |
|
|
Lass mich doch - Mathematiker konvergieren nun einmal gerne.
btw: lim \r->0 \r+\n = \n
(hoffentlich ist der String nicht 0-terminiert ...) _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|