Was muss ich können um Spiele wie z.B. Tetris zu programmieren?

...komplette Frage anzeigen

7 Antworten

Hallo GreenDay,

bei mir war das Schreiben eines Spieles ein Weg, programmieren zu lernen. Es macht Spaß und bringt sofort ein greifbares Ergebnis. Nur Mut.

Der Weg führte über Basic hin zu Java. Java ist eine ausgezeichnete Programmiersprache und sie ist heute auch sehr schnell. Du kannst dich überzeugen: http://www.haller-mtl.de/homepage/breakout/breakout.html

Auch ohne Matrizrechnung ist ein Tetris zu programmieren.

Folgende erste Schritte sind erforderlich:
* Grafiken (gif oder jpg) erzeugen, für die Steine.
* Ein Spielfeld als Fenster definieren.
* Ein Raster definieren.
* Einen Stein definieren, ihm die Grafik zuordnen und seine Position im Raster(x,y).
* Den Stein im Spielfeld anzeigen
* Einen Takt definieren, nach dem der Stein seine Position verändert.
* Den Stein an seiner alten Position löschen und danach an seiner neuen Position anzeigen lassen.

Es folgen Berechnungen der Position. Dazu schlage ich dir vor, das Spielfeld in ein Raster einzuteilen und die einzelnen Segmente der Steine jeweils im entsprechenden Raster zu registrieren. So kannst du ganz einfach prüfen, ob ein Rasterfeld bereits mit einem Segment besetzt ist oder nicht.

Wichtig ist, dass du beim Löschen des Steines an seiner alten Position jedes Mal die Segmente des Steines aus dem Raster abmeldest. Beim Zeichnen des Steins meldest du diesem im Raster erneut an.

Wenn sich dann auf dem Bildschirm etwas bewegt, dann wirst du dich mit Methoden beschäftigen, Tastaturbefehle abzufragen, um zu erfahren, nach welcher Seite dein Stein gedreht werden soll. Du wirst erfahren, dass es klug ist, eine zweite Welt im Hintergrund zu erzeugen, um die Abfragen einfacher machen zu können.

Für all diese Aufgaben eignet sich besonders die objektorientierte Programmierung von Java. Mit Java schreibst du Applets, die du dann auch im Internet präsentieren kannst.

Viel Erfolg
und tschüs
Uwe

Du musst Programmieren lernen. Ob Du dann Spiele oder Bankensoftware programmierst, ist prinzipiell wurscht - Du benutzt halt lediglich andere APIs und anderes mathematisches Wissen (z.B. Matritzenrechnung). Außerdem werden graphische Programme notwendig sein (Gimp, Photoshop etc.).

Wenn Du hoch hinaus möchtest, würde ich immer erst mit einem guten Fachbuch anfangen. Dort findest Du neben der richtigen(!) Programmierung von guten(!) Spielen sicherlich auch Programmvorschläge.

Wenn es um den Einstieg geht (Tetris ist schnell machbar): Die Programmiersprache ist erstmal egal - später (viiiel später) wird es vielleicht auf die Geschwindigkeit der Sprache ankommen. Vorerst würde ich aber mit dem langsamen Java anfangen. Das ist umsonst, Du lernst alles Wichtige und es gibt sogar Java3D, mit dem Du relativ leicht auch in der dritten Dimension etwas tun kannst. Außerdem ist es plattformunabhängig und mit JavaME kannst Du Deine Spielchen auch auf das Handy bringen.

Am Ende wirst Du außerdem sicherlich spezielle Software zum Entwickeln von Spielen benötigen. Schließlich möchtest Du nicht jede Wand von Hand zusammenpixeln.

Und: Durchhalten. Der Weg ist lang.

Du kannst dir TurboDelphi kostenlos herunterladen und auch kleine kommerzielle Projekte damit erzeugen!
TurboDelphi basiert auf der Sprache Pascal, die mE einfacher als C und ihre Dialekte ist.
Auf manchen Heft-CDs ist gelegentlich das MS VisualStudio Personal drauf, womit du VisualBasic, VisualC und weitere programmieren kannst. Außerdem ist die ausführliche Programmierhilfe für Windows dabei, wo jeder Befehl der API erläutert wird (in Englisch).

Gar nichts... Schau dir mal den Game Maker 7 von Yoyo Games an. Ansonsten kann das mit Jeder Programmiersprache machen.. Ich empfehle dir C#, daher ich C# im Bereich Spieleentwicklung als top Kandidat sehe... -> XNA Framework!

Du kannst Tetris schon mit BASIC umsetzen. Doch ideal wäre C bzw. C++

Eine Programmiersprache, die graphische Elemente beinhaltet: Basic, Java, Pearl.... uvm. Such Dir eine aus.

Assembler

Dummfug

0
@Scarecrow69

Mit Assembler bekommt man kleinere Programme hin und kann manchen Kniff machen, den die Hochsprachen nur umständlich bereitstellen!

0

Was möchtest Du wissen?