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

CBenni::O

1x Contest-Sieger

  • »CBenni::O« ist der Autor dieses Themas

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

21

17.02.2010, 17:10

Zitat von »"idontknow"«

Ich würd das ganze nich Framework nennen :P. Nen Framework ist doch etwas mehr als 2 Klassen ;).


Wie dann? :D

Zitat von »"drakon"«


Dafür gibts Möglichkeiten das zu testen..

Danke ;)

Zitat

Ich wüsste nicht, wie das mehrarbeit bedeuten könnte und der Vorteil ist meistens nicht unerheblich. (Exceptionsicherheit, Kopierbarkeit usw.)

Ja, das tut mir leid, aber als ich den Code durchguckte, fand ich nur 2-3 Stellen, wo man sie(auto_ptr's) einsetzen kann... Und in RAII muss ich mich erst einmal einarbeiten... Versin 010 oder so :D

Danke für euer Feedback!

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

22

17.02.2010, 17:12

Zitat von »"CBenni::O"«

Zitat von »"idontknow"«

Ich würd das ganze nich Framework nennen :P. Nen Framework ist doch etwas mehr als 2 Klassen ;).

Wie dann? :D


B³ oder BBB. :)
Benni's Bastel Box

CBenni::O

1x Contest-Sieger

  • »CBenni::O« ist der Autor dieses Themas

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

23

17.02.2010, 17:35

Zitat von »"TrikkieMikkie"«

Zitat von »"CBenni::O"«

Zitat von »"idontknow"«

Ich würd das ganze nich Framework nennen :P. Nen Framework ist doch etwas mehr als 2 Klassen ;).

Wie dann? :D


B³ oder BBB. :)
Benni's Bastel Box

Made my Day :lol:

Aber ich arbeite noch an einem Resource Manager... Und es bildet die Grundlage für mein eigentliches Projekt...

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

24

17.02.2010, 18:27

Zitat von »"CBenni::O"«

Ich habe mich dagegen entschieden, RAII bzw. auto_ptr's einzusetzen, da damit zu viel arbeit für zu wenig Ergebnis anfällt.
Sehr schlechte Entscheidung.

Dadurch hast du Probleme wie dieses hier (und das ist nur eine von vielen Stellen):

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
sf::Image* img = new sf::Image;
MyTypeNums.push_back(0);
if(!img->LoadFromFile(filenames[i]))
{
    if(i != err_fallback)
    { // Datein konnte nicht geladen werden? Auf Fallback zurückgreifen...

        delete img;
        img = new sf::Image;
        if(!img->LoadFromFile(filenames[err_fallback]))return;
    }else return;
}

Setz dich jetzt mit RAII, Wertsemantik und Speicherverwaltung auseinander! Was bringt es, das aufzuschieben? Wenn du deinen Ressourcenmanager – wahrscheinlich ein relativ wichtiger Teil deines Projekts – schon so schlecht programmierst, wie soll dann der restliche Code aussehen? Du wirst ernsthafte Probleme bekommen, wenn so zentrale und speicherintensive Dinge wie Ressourcenverwaltung Memory Leaks haben.

Das tönt vielleicht etwas hart, ist aber nicht persönlich gemeint. Ich habe selbst schon die Erfahrung gemacht, wie demotivierend es ist, wenn Grundbausteine eines Projekts schlecht designt und implementiert sind. Man wird dadurch gezwungen, den darauf aufbauenden Code entsprechend anzupassen und bringt immer weniger sauber zustande, je komplexer das Projekt wird. Diese Erfahrung möchte ich dir eigentlich ersparen. Von daher solltest du unbedingt ein wenig Zeit in moderne C++-Techniken investieren (evtl. sogar ein weiterführendes Buch lesen), das lohnt sich auf alle Fälle. Darum herum kommst du eh nicht, wenn du später grössere Projekte mit C++ angehen willst. Da müssen solche grundlegenden Dinge wie der korrekte Umgang mit dynamischer Speicherverwaltung einfach sitzen.

Ansonsten finde ich aber sehr gut, dass du bereits einige der genannten Punkte angepasst hast. Du bist schon auf dem richtigen Weg, jetzt nur nicht den Anschluss verlieren. ;)

CBenni::O

1x Contest-Sieger

  • »CBenni::O« ist der Autor dieses Themas

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

25

17.02.2010, 18:30

Ich habe jetzt ein wenig nach guten Büchern gesucht, aber bei Effective C++ habe ich sehr viele verschiedene Versionen gefunden... Gibt es da unterschiede? Könnt ihr mir ein bestimmtes empfehlen?

Danke ;)

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

26

17.02.2010, 18:38

http://www.weltbild.de/3/15503484-1/buch…grammieren.html

Des hab ich, ist das von Scott Meyers und sehr empfehlenswert.

CBenni::O

1x Contest-Sieger

  • »CBenni::O« ist der Autor dieses Themas

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

27

17.02.2010, 18:39

Aah, das ist wunderbar, sogar deutsch :D

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

drakon

Supermoderator

Beiträge: 6 513

Wohnort: Schweiz

Beruf: Entrepreneur

  • Private Nachricht senden

28

17.02.2010, 19:32

@Nexus:
Interessant. Als ich das gesehen habe dachte ich auch, ob ich das posten soll, dass man genau solche Probleme nicht hat, aber wenn es Exceptionsicher wäre, wäre auch der Fall abgedeckt. (wahrscheinlich).

CBenni::O

1x Contest-Sieger

  • »CBenni::O« ist der Autor dieses Themas

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

29

08.03.2010, 22:34

Soo, die nächste und vorerst letzte Version ist raus:

Version 1.00

Changelog:
  • Namespace CBenni::O in BBB umbenannt ;)
  • Exeptionsicherheit
  • Resourcen-Manager hinzugefügt
  • Bugs repariert
  • Memory-Leak bei Floating-Obj repariert (ich habe jetzt - laut vld - keine mehr :))
  • Das beispiel angepasst...
  • Ene art "Lizenz" erstellt... Will mir das jemand korregieren? Ich habe keine Ahnung von LGPL & co. :p
Ich habe noch einiges vor, aber jetzt will ich endlich wieder Spiele programmieren ;)

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

CBenni::O

1x Contest-Sieger

  • »CBenni::O« ist der Autor dieses Themas

Beiträge: 1 145

Wohnort: Stuttgart

  • Private Nachricht senden

30

09.03.2010, 17:39

Hat keiner ne Meinung dazu? :D

mfg CBenni::O
Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.
42!
Aufräumen kann jeder, nur das Genie überblickt das Chaos!
Metal will never die!
1. Sppro Gamecontest - mein Beitrag

Werbeanzeige