Pong – First steps with python

Pong is my first pygame & python game. Read about my first impressions about python, get some hints about good tutorials and check the game out on github.

Hi there, about a half year ago i’ve started learning about python. First, to lazy to read a book, i’ve watched an online tutorial made by thenewboston. Knowing other programming languages before, the tutorial was slight fare. But thenewbosten has a nice way to teach and video tutorials are a good way to relax and learn ;). If you like to watch that tutorials too, check them out on youtube.

After programming a game described below, and some additional server-scripts I think python is quite nice. It’s possible to gain fast results and the way the source code is structured in python grants a smooth read.

But i disliked some parts of python too. Injecting self in every method, the missing switch and missing typesafety are only some disadvantages. Also the version chaos distracted me a lot. Major changes in python 3.x broke 2.x programms and although python 3.x is out for a bit (3.0 was released in 2008) most of the librarys where not refactored to run with it.

But there are not only diversifications between 2.x and 3.x. py2exe as an example is released to handle 2.5 python programms, while the 2.x branch reached 2.7 a time ago.

Despite all difficulties, i’ve begun to make a game with python and pygame. There is also video tutorials by thenewboston on youtube to gain some fast impressions about pygame. I liked the online book about pygame developing on http://inventwithpython.com/chapters/ a lot. It offers explainations bout every part of pygame in a detailed way.

My first game is a pong clone. Very minimalistic but i gained a lot of experience :) You can only play against a cpu enemy. Sounds where gatherd from http://www.freesound.org – check out the info.txt for exact information what sounds are used.

Pong - nullpointer

Check it out on Github

https://github.com/thefake/pong

or on pygame

http://pygame.org/project-pong-2029-.html

Python and Pygame required ;)

Have fun ponging

Ähnliche Artikel:

  • Noch keine vorhanden.

Minecraft pre 1.8 Screenshots

Ssome screenshots from my minecraft buildings created before patch 1.8. Mario 2d figures, a maze, a copy of the Leaning Tower of Pisa and the king-sized skull.

Programming isn’t all. In my spare time i’d like to play some games. Discovered Minecraft a long time ago, it still makes a lot of fun. So I’d like to provide some screenshots from my minecraft buildings created before patch 1.8. Some Mario 2d figures, an about 42×45 sized maze, a copy of the Leaning Tower of Pisa and the king-sized skull. But this time less words, more impressions ;)

Ähnliche Artikel:

Split – Einen String mit der Pipe | spalten?

Strings splitten mit der Pipe, was dabei in Java zu beachten ist um nicht fehlerhaft aufzutrennen wurde in diesem Artikel erklärt. String#split im Detail bzw. wie der Compiler dabei mit der Regex umgeht wird ebenfalls beschrieben.

In Java einen String spalten ist keine große Hexerei, die String Klasse selbst liefert die dafür vorgesehene Funktionalität frei haus:

String#split(String seperator)

Ich hab bewusst nicht den selben Bezeichner für den Parameter gewählt wie in der API angeschrieben, denn das ist der flotte Blick den Programmierer auf diese Methode zu haben scheinen. Man gibt einen Seperator an und der String wird entsprechend aufgesplittet

String s = "Franz,Heinz,Sepp,Josef,Martin,Lukas,Jonas,Holger,Alexander";

Diesen String würde man zB folgendermaßen in die einzelnen Vornamen aufsplitten:

String[] vornamen = s.split(",");

Funktioniert einwandfrei, was jedoch wenn die Vornamen wie folgt aufbereitet sind:

String p = "Franz|Heinz|Sepp|Josef|Martin|Lukas|Jonas|Holger|Alexander";

Geht man hier nach obrigem Schema vor

String[] vornamen_pipe = p.split("|");

Splittet er den String nach jedem einzelnen Zeichen. Warum? Der eigentliche Funktionsaufruf den wir hierbei durchführen ist String#split(String Regex). In einer Regular Expression steht die Pipe für „oder“. In diesem speziellen Fall ist also der Befehl: Teile den String p bei null oder null. Mehr über Regular Expressions gibts z.B. hier

Man muss sich hierbei mit einem Escape Zeichen helfen, damit die Regular Expression die Pipe als Zeichen wertet und nicht als Syntax. Dies wäre mit dem Backslash zu erreichen:

\|

Damit wird in der Regular Expression nach einer Pipe gesucht. Würden wir die Regex zB über eine Konsole abfragen wären wir hier fertig. Da wir diese jedoch mit in den Code compilieren schreitet zuerst der Java Compiler ein und Übersetzt für sich dass hier eine Pipe gemeint ist, sprich \| wird für ihn zu | – diese wird dann erst als Regex ausgewertet und wir laufen in den selben Fehler wie zuvor, daher müssen wir auch noch den Backslash escapen:

String[]vornamen_pipe_ok = p.split("\\|");

Und schon erfolgt der Split wie gewünscht.

Happy splitting

Ähnliche Artikel:

New TrayRSS release! New localization in 1.2.0!

I’m proud to announce, that i’ve finished the new TrayRSS Version last week. Big changes occure in this release! Check it out or read about the changes.

Hi there,

I’m proud to announce, that i’ve finished the work on the new TrayRSS Version last week. Big changes occure in this release! The first one could be recognized at the startup of TrayRSS if you’re a previous user. To enhance the new modern look of TrayRSS a new SplashScreen and a new TaskIcon where drawn. Besides some gui fixes like the fitting table cells in the feed config window, TrayRSS got a new localization solution. All the strings used in the RSS Reader are now taken from propertie files. This provides the chance to translate the programm in some more languages within the next releases. If you’re interested in a translation to your mother tongue, feel free to contact me, perhaps with an comment on this blog entry?

A complete list of the changes can be found in the changelog

Today I’ve allready started the developement of the next version. It key features will be a new notificationwindow and a feedbrowser where you will be able to review all the feed entries and interact with them in some ways (mark to reed later, share them, search). Not all of those interactions will be part of the next relase, but they are on the roadmap of TrayRSS.

If you are interested in it, give it a try and download it at sourceforge

Have fun using TrayRSS

Ähnliche Artikel:

20 Dinge über Browser und das Web

20 Dinge über Browser und das Web – eine einsteigertaugliche Lektüre, um das Web kennenzulernen und sein Surferlebnis sicherer zugestalten. Was einem in diesem virtuellen Buch erwartet gibts in diesem Artikel.

Die Google Chrome Entwickler haben gezeigt was mit HTML 5 möglich ist und dabei auch noch etwas gutes getan! Sie haben ein Online-Buch verfasst in das sie 20 Kapitel Wissen über Browser und das Web erstellt haben.

20 Dinge die ich über das Internet gelernt habe
20 Dinge, die ich über Browser und das Web gelernt habe

Bei erstmaligem Lesen des Artikels habe ich schon bei Kapitel 4 oder 5 das Interesse verloren. Für mich als Technik- und T-affiner Mensch waren die Inhalte alt bekannt und der Schreibstil zu ausführlich für ein derart allgemeines Dokument. Somit würde ich mich eindeutig nicht als Person aus der Zielgruppe sehen. Anders ist das natürlich bei Verwandten und anderen „kannst du meinen PC richten?“-Bekanntschaften.

Das virtuelle Buch fasst dabei leicht verständlich die Technische Basis für das World Wide Web zusammen und verschafft dem Leser einen Überblick über die Entwicklungen des Webs von statischem HTML bis hin zu AJAX und dem neuen HTML 5 ohne zu sehr ins Detail zu gehen. Auch das Werkzeug, der Browser wird vorgestellt, sowie sein Zusammenspiel mit Plugins, Cookies, Sync-Methoden. Auch die Problematik der Browserversionen wird angesprochen. Direkt über Cookies kommen die Verfasser zu sicherheitsrelevanten Themen wie Datenschutz, Maleware und Phishing. Man bekommt Hinweise darauf wie man sich selbst neben den anwendungsinernen Mechanismen mit dem eigenen wachsamen Auge vor diversen Fallen schützt. Dabei werden Internetdomainen und DNS rudimentär erklärt.

Das Google Chrome Team verhält sich dabei relativ neutral und benennt stehts alternativen zu den Softwareprodukten aus dem eigenen Hause.

Vielleicht nützt es ja dem ein oder anderen dabei einem seiner Sorgenkinder etwas Verständnis und damit Selbstschutz auf den Web zu geben.

So long,
Greets

Ähnliche Artikel: