Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

24.07.2006, 20:43

Designfrage

Hab das Buch "C++ für Spieleprogrammierer" durch und dachte mir, ich erweiter das mini-spiel am ende um eine funktion um für abgeschossene Meteorieten punkte zu kriegen.

Wo gehört diese Punkteanzeige den jetzt hin? Ist Score eine eigene Klasse wert, oder nur eine Membervariable von der Klasse Player.

Die Ausgabe für der Punkteanzahl, wo sollte die stattfinden? wenn ich den Background rendere oder wenn ich den spieler rendere?!

Anonymous

unregistriert

2

24.07.2006, 20:51

Re: Designfrage

Zitat von »"YetAnotherNoob"«

Ist Score eine eigene Klasse wert, oder nur eine Membervariable von der Klasse Player.


Oo Hö? Wie kommst du denn jetzt dadrauf????

Erstell einfach eine int Variable und erhöhe diese immer, wenn der Spieler
Punkte erzielt. z.B.

C-/C++-Quelltext

1
2
if(finished)
   Punkte += 50


Und Gib diese Variable auf dem Bildschirm aus. Und natürlich muss diese
Variable bei jedem Frame geupdated werden. Hoffe ich konnte dir helfen.

3

24.07.2006, 21:02

Re: Designfrage

Zitat von »"DarkRaider"«

Zitat von »"YetAnotherNoob"«

Ist Score eine eigene Klasse wert, oder nur eine Membervariable von der Klasse Player.


Oo Hö? Wie kommst du denn jetzt dadrauf????

Erstell einfach eine int Variable und erhöhe diese immer, wenn der Spieler
Punkte erzielt. z.B.

C-/C++-Quelltext

1
2
if(finished)
   Punkte += 50


Und Gib diese Variable auf dem Bildschirm aus. Und natürlich muss diese
Variable bei jedem Frame geupdated werden. Hoffe ich konnte dir helfen.


Vermutlich denke ich wieder zu komplex und seh den Baum vor lauter Wald nicht. So wie ich das verstanden hab, muss ich für Textausgabe in der SDL einzusetzen einen großem Umweg gehen und z.b. auf die SDL_TTF zurückgreifen oder auf diese vorgefertige Möglichkeit http://cone3d.gamedev.net/cgi-bin/index.pl?page=tutorials/gfxsdl/tut4

gibt scheinbar keinen direkten weg text auszugeben ala "drawtext", d.h. ich muss da noch eine ganze menge anderer dinge machen, bevor ich überhaupt in der lage bind irgendwas auszugeben. Dachte mir, das leg ich alles in das objekt score..... daher die frage.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

4

24.07.2006, 21:07

Tip: Mach was im Dos und trainier das was du im Buch gelernt hast. Es ist immernoch kein Meister vom Himmel gefallen, und fang mit Sowas wie Tetris/Pong an.

Anonymous

unregistriert

5

24.07.2006, 21:07

Mh genau so war das... Also ich würde eine Font Klasse schreiben und damit
die Score ausgeben. Für eine Highscore Liste dann auch nochmal eine Klasse.
Aber für die Score an sich reicht locker eine Variable. Mit DDraw kann
man auch keinen Text ausgeben, guck dir doch einfach mal diese
Klasse aus dem Tutorial an:

http://old.germangamedev.de/index.php?site=article&id=17

Damit solltest du etwas anfangen können.

EDIT @ koschka: :D Da sind wir ja wieder bei Dos :) Aber ich mein er
will ja kein Game schreiben, sondern das aus dem Buch erweitern. Klar
ist es hilfreich erst was mit Dos zu machen, aber ich habe wie schon gesagt
auch nie etwas in Dos gemacht (Also keine Spiele) Nur Zahlenraten und
so einen Kleinkram.

6

24.07.2006, 21:28

Zitat von »"koschka"«

Tip: Mach was im Dos und trainier das was du im Buch gelernt hast. Es ist immernoch kein Meister vom Himmel gefallen, und fang mit Sowas wie Tetris/Pong an.


ich bin zu blöd "hallo" auszugeben......wie soll ich den da pong oder gar tetris gebacken kriegen :?

Die verlinkte Seite auf germangamedev scheint directx zu nutzen?! da directdraw und directinput benutzt werden - ich wollte das schon gerne mit der SDL lösen.

Ist echt frustrierend wenn man nicht mal ein int ausgegeben bekommt.

koschka

Community-Fossil

Beiträge: 2 862

Wohnort: Dresden

Beruf: Student

  • Private Nachricht senden

7

24.07.2006, 21:39

Wenn du nach dem Buch nicht mal im Dos etwas ausgegeben bekommst, dann hast du definitiv etwas falsch gemacht.

Man muss einfach gefestigte Kenntnisse in C++ haben um in irgendwelche API's eindringen zu könne, bei SDL ist das relativ einfach da es auf der Hauptseite eine sehr gute Doku dazu gibt. Nur das alles bringt einfach nichts wenn man sich mal unter einfachen Bedingungen (Dos) auch mal gedanken gemacht hat, wie bekom m ich das hin das sich da was bewegt, wie bekomm ich das schneller hin... wie bekomm ich das Flackern heraus - auch hier kann man sowas wie einen Backbuffer definieren, hab ich sogar mal für jemanden gemacht.

Alles das kann man dann unmittelbar auf andere API's übertragen, mein Favorit ist eben nicht die SDL, sondern WinAPI. Man kann dort sehr schön einen Backbuffer sich bauen, einen Frontbuffer und mal dort hinein, anders funktioniert das in der SDL auch nicht, nur man bekommt davon schlichtweg nichts mit. Gerade am Anfang ist es doch wichtig zu verstehen und eben nicht nur Code abzukopieren. - Und am Ende ist man dann auch viel Stolzer, man versteht was da steht und sagt nicht "ja das macht eben die SDL für mich"

Wenn man soweit ist, kann man auch unmittelbar in DX einsteigen und wird auch Erfolg haben.

Shit jetzt bin ich wieder total aus meiner Aufgabe... nochmal alles von vorn :cry:

Anonymous

unregistriert

8

24.07.2006, 21:43

Zitat von »"YetAnotherNoob"«

Zitat von »"koschka"«

Tip: Mach was im Dos und trainier das was du im Buch gelernt hast. Es ist immernoch kein Meister vom Himmel gefallen, und fang mit Sowas wie Tetris/Pong an.


ich bin zu blöd "hallo" auszugeben......wie soll ich den da pong oder gar tetris gebacken kriegen :?

Die verlinkte Seite auf germangamedev scheint directx zu nutzen?! da directdraw und directinput benutzt werden - ich wollte das schon gerne mit der SDL lösen.

Ist echt frustrierend wenn man nicht mal ein int ausgegeben bekommt.


Oo Hä? Du kannst nicht mal eine Variable ausgeben????? Hatte grad das
Gefühl, dass du uns nur verarschen willst...

Und zum Tutorial auf germangamedev: Ja nutzt DDraw aber die Font
Klasse sollte auch auf SDL laufen, aber so wie es aussieht, wirst du es ja
zumindest jetzt doch noch nicht brauchen.

Oo

9

24.07.2006, 21:47

Mit der Winapi hab ich mich auch schon beschäftigt, die basics(was ich als basics definiere) hab ich verstanden. Natürlich kann ich in dos mit cout was ausgeben, so schlimm ist es zum glück nicht ;-).

Backbuffer versteh ich auch soweit, nur jetzt in diesem beispiel mit der SDL auf einen grünen Zweig zu kommen, sprich einfach einen text auszugeben, scheint meine kenntnisse dann doch weit zu überschreiten.

Bin mir grad da was ganz häßliches am zusammen schuster, in der hoffnung das es dann klappt. hab eine header/source datei für das darstellen der von fonts. die frimel ich jetzt irgendwie an eine stelle wo ich glaube sie richtig verwenden zu können. Aber wirklich selber herzuleiten, was zu tun ist.......da bin cih total überfordert und starre wie ein auto gegen die wand.

Mein einzigster erfolg ist eine kleine consolenanwendung, mit der man seine kontakte verwalten kann und diese in der datenbank abspeichern.

Jungs ich bin total frustiert.

Anonymous

unregistriert

10

24.07.2006, 21:51

Naja, du brauchst dich nur damit beschäftigen... Wenn du dir die Seite von
germandgamedev anguckst, sollte es dich weiterbringen. Du baust einfach
die Font Klasse bei dir ein (Ist auch erlaubt ;) ) und guckst, wie du die
verwenden kannst. Wenn Befehle auftauchen, die du für das ausgeben
brauchst und nicht kennst, dann schau in der MSDN nach und versuche
einen gleichen Befehl in der SDL zu suchen, der dann natürlich anders heißt.
Ansonsten: Erst Dos Games...

P.S.: Man war ich geschockt, dachte du packst es nicht mal eine Variable
in Dos auszugeben :D

Werbeanzeige