|
JLI Spieleprogrammierung
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 15.09.2007, 21:27 Titel: Tetris-Tutorial |
|
|
Das Tutorial soll Anfängern und Fortgeschrittenen in der Spieleprogrammierung mit C++ einen Grundstein legen, um zu verstehen, wie ein Spiel aufgebaut ist und welche Überlegungen und Arbeiten vorher nötig sind.
Ziel des Tutorials soll ein kompletter und verständlicher Tetris-Klon stehen.
Neben dem technischen Aspekt der Programmierung soll vor allem auch der logische Aspekt der Spielmechanik im Vordergrund stehen und erläutert werden. Es soll nicht nur gezeigt werden, wie die technischen Hilfsmittel zu benutzen sind, sondern vorrangig welche Denkarbeit geleistet werden muss.
Achtung: Vorkenntnisse in C++ erforderlich.
Download [3.86 MB] | Onlineversion
Also bitte beachten, dass die Zielgruppe nicht jeden umfasst _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
DirectXer Dark JLI'ler
Anmeldedatum: 05.02.2005 Beiträge: 1201 Wohnort: Köln Medaillen: Keine
|
Verfasst am: 16.09.2007, 16:31 Titel: |
|
|
hi,
ich hab mal so über das tutorial drübergeschaut und muss sagen, dass es mir richtig gut gefällt. Du bist hier ja nat. auch schon ein "alter Hase" , also du kennst die Design- und Stilprobleme die wir hier immer bemängeln, deshalb finde ich schön dass du diese (z.B. singletons, namespaces etc.) in dem Tutorial berücksichtigt hast. Dein Stil gefällt mir auch, nur ist mir das manchmal etwas "eng" mit den Zuweisungen und so, aber das ist ja geschmackssache. Schön finde ich auch die extensions (kap: weitere features) am ende, die zeigen, wie leicht man neues integrieren kann wenn man vorher schön programmiert hat.
Gruß DXer |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 16.09.2007, 17:01 Titel: |
|
|
Ich habe es jetzt auch nur grob überflogen. Was mir negativ aufgefallen war, sind die globalen Variablen. Ich meine, wieso macht man einen namespace Tetris, um da dann globale Variablen und Funktionen rein zu tun? Eine Klasse Tetris wäre doch prinzipiell genauso, vom Aufwand her, jedoch irgendwie um einiges besser.
Ansonsten scheint das Tutorial ganz gut zu sein. Ich finde es wichtig, Leuten mal so etwas wie Spiellogik zu erklären, den oft gibt es welche, die zwar schon irgendwie programmieren können, jedoch an sehr simplen Problemen hängen, die man mit ein wenig Nachdenken leicht lösen kann. Und eben dieses Nachdenken muss man lernen. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 16.09.2007, 20:58 Titel: |
|
|
Danke für euer Feedback
Jonathan_Klein hat Folgendes geschrieben: | Ich habe es jetzt auch nur grob überflogen. Was mir negativ aufgefallen war, sind die globalen Variablen. Ich meine, wieso macht man einen namespace Tetris, um da dann globale Variablen und Funktionen rein zu tun? Eine Klasse Tetris wäre doch prinzipiell genauso, vom Aufwand her, jedoch irgendwie um einiges besser. |
Prinzipiell genauso, nur mehr Aufwand(entweder man macht nen Singleton, dann wird der Zugriff komplexer oder man nimmt ne "normale" Klasse, dann muss man zuerst noch eine Instanz erstellen...). Bloß was genau wäre an einer Klasse besser?
Nach meinem Kenntnisstand wurden Namespaces genau dafür entworfen, dass Variablen nicht global dastehen und es zu Namenskonflikten kommen kann. Was braucht man da mehr als diesen Schutz? _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
Nach oben |
|
|
Jonathan_Klein Living Legend
Alter: 37 Anmeldedatum: 17.02.2003 Beiträge: 3433 Wohnort: Siegerland Medaillen: Keine
|
Verfasst am: 16.09.2007, 22:26 Titel: |
|
|
Naja, es fühlt sich mit Klassen einfach "richtiger" an.
Wenn man namespaces verwendet, erschwert man die Kapselung. Ich denke in größeren Projektion, ist es schon nicht schlecht zu wissen, dass man eine Klasse hat, die ein Interface hat und jeder der dieses Interface benutzt muss sich über die interne Logik keinerlei Gedanken mehr machen.
Naja, bei Tetris wird sich nicht viel daran ändern, dass man ein Array als Spielfeld hat, deshalb kann man es schon so machen, wie du, nur denke ich, dass es kein "guter" Weg für größere Spiele ist.
Aber zugegebener Maßen, halte ich selber wenig von Regeln, ich finde man sollte seine Möglichkeiten kennen, und selber entscheiden, wo was am meisten Sinn macht. _________________ https://jonathank.de/games/ |
|
Nach oben |
|
|
The Lord of Programming Living Legend
Alter: 37 Anmeldedatum: 14.03.2003 Beiträge: 3122
Medaillen: Keine
|
Verfasst am: 17.09.2007, 22:46 Titel: |
|
|
Naja, richtiger fühlt sich das für mich nicht wirklich an.
Es gibt Dinge, bei denen es keinen Sinn macht, zu kapseln. Ein Interface für jede Klasse wollte ich Anfängern jetzt auch nicht zumuten
Sollte es tatsächlich später gewünscht sein, kann man die globalen Variablen ohne Probleme in ne Klasse stecken, ohne zu viel ändern zu müssen. _________________ www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console
Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet... |
|
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.
|
Powered by phpBB © 2001, 2005 phpBB Group Deutsche Übersetzung von phpBB.de
|