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

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

21

06.02.2013, 18:53

Vergiss Singletons wieder. Schmeiß das Buch weg und nimm eins ohne. Die schlimmste Unart, die man in einem Anfängerbuch bringen kann, das sind Singletons. Vergiss sie, überspring sie, lass sie weg. Ehrlich, die sind da fehl am Platz und werden als falscher Ersatz für globale Variablen verwendet. Das ist schlecht. Sehr schlecht.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

22

06.02.2013, 18:54

Soweit ich weiß benutzt Heiko im Buch Singletons nur für seine Logbuchklasse. Singletons sind so eine Sache. Wenn wir jetzt hier davon anfangen bricht vermutlich wieder eine riesen Diskussion los;) Wenn du nicht verstehst was da genau abläuft ist das halb so wild. Gut dass du dein Wissen über Klassen aufgefrischt hast, sowas ist löblich, aber an dieser Stelle kannst du vermutlich einfach weiter machen im Buch. Wie gesagt bei der Logbuch-Klasse benutzt Heiko ein Singleton. Vielleicht verstehst du an dieser Stelle dann den "Sinn" dahinter. Und selbst wenn nicht ist es halb so schlimm. Gewöhne dir die Dinger einfach gar nicht erst an. Als Anfänger (und auch als Fortgeschrittener) Programmierer kann man da vieles falsch machen. Man verschleiert damit mehr oder weniger hässlichen Code. Aber das kannst du dir alles hinterher noch mal in Ruhe angucken. Wenn du das Buch durchgearbeitet hast siehst du das Kapitel möglicherweise anders. Ansonsten Kannst du dir später aber auch weiterführende Lektüre zu solchen Themen angucken. Für den Anfang versuch einfach zu akzeptieren was da passiert ohne es zu verstehen.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

23

06.02.2013, 19:42

:) alles klar danke euch schonmal für die antworten.

Ich Nehme mir jetzt nochmal das Kapitel Klassen zur hand und wiederhole es nochmal.
Die Singleton lasse ich dann einfach aussen weg und gehe dann einfach zum nächsten was dann vectoren sind ^^ .

24

09.02.2013, 19:36

danke schonmal für deine Antwort.
Die Vererbung ist mir soweit schon bewusst.

Ich habe eher schwierigkeiten bei der umsetzung.

Die klassen Spieler und Gegner haben ja eine x-y Koordinate also eine Position.

Sagen wir mal ich mache nun eine klasse die map zeichnen heißt.

Hier hänge ich sozusagen, weil ich nicht genau weiß, wie ich mit klassen da umgehen soll.
Jede für sich stellt ja ein Objekt da.
Ich würde jetzt x und y Koordinate in den klassen privat machen, was aber heißt ich kann die variablen nicht in die Map klasse bringen, weil sie ja privat in den anderen wären.

Und genau da hab ich eben das problem mit dem denken.
Es heißt, Koordinaten sollten eigentlich privat sein, da es schwierigkeiten gibt, wenn der quelltext größer wird und ich dann zufällig im programm einfach auf diese zugreife und diese verändere(public)

^^ Ich weiß halt dementsprechend momentan nicht wie ich die Spieler auf die Map dann setzen soll, wenn die Koordindaten der Spieler Privat in der Klasse selbst sind und in die Klasse map reingebracht werden müssen
Das ist nicht so schwer zum beispiel erstellst du dir eine structur die zwei koordinaten enthält nennst diese dann Coord oder sowas in der art. Nun erstellst du dir eine Klasse mit

C-/C++-Quelltext

1
Coord My_Coord
als private variable rein. Diesen weist du dann einen wert zu und erstellt dir eine public funktion die ungefähr so läuft:

C-/C++-Quelltext

1
Coord returnCoord(){ return My_Coord; }
mit dieser funktion kannst du jetzt so gut wie überall auf deine Coordinaten zugreifen sie werden dir dann als "Coord" zurückgegeben natürlich geht auch sowas wie

C-/C++-Quelltext

1
int returnX(){ return My_Coord.x;}

BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

25

09.02.2013, 21:24

returnCoord, returnX? Üblich wäre ja getCoord und getX ;)
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

26

09.02.2013, 22:58

returnCoord, returnX? Üblich wäre ja getCoord und getX ;)
Jaaa war jetzt nur ein beispiel von mir aus kann er es auch ReturnPeachFromBowser nennen ;)

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Farmär« (09.02.2013, 23:08)


BlueCobold

Community-Fossil

Beiträge: 10 738

Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer

  • Private Nachricht senden

27

09.02.2013, 23:07

Lass solche Oma (und vorsichtshalber auch Mutter) Anspielungen bitte. Ich habe verstanden, was Du sagen wolltest, aber das geht auch anders.
Teamleiter von Rickety Racquet (ehemals das "Foren-Projekt") und von Marble Theory

Willkommen auf SPPRO, auch dir wird man zu Unity oder zur Unreal-Engine raten, ganz bestimmt.[/Sarkasmus]

Werbeanzeige