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

11

02.03.2009, 21:20

Welches Flag muss ich denn setzen um das ganze als Text zu speichern?
Also statt

C-/C++-Quelltext

1
ifstream Input ("PacmanMap", ios::binary) 

Ich habe festgestellt das man sich mit Visual C++ 6.0 den Inhalt der PacmanMap als (ich schätze das sind Hex Werte oderso) anzeigen lassen kann. Naja irgendwie komme ich da immer noch nicht weiter vielleicht muss ich das ganze doch in ein Eindimensionales Array umwandeln aber bis ich das raushabe :?
"Der Wald wäre sehr leise, wenn nur die begabtesten Vögel singen würden."

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

12

02.03.2009, 22:45

Es geht auch mit "2D" Array.

13

03.03.2009, 10:39

Quellcode

1
ifstream Input ("PacmanMap", ios::binary)

ios::binary weglassen.
If it were not for laughter, there would be no Tao.

14

03.03.2009, 15:29

Ha - ich habe das Problem gelöst! :)

Dazu habe ich in der saveMap Funktion meines Mapeditors einfach
folgendes geändert. Mit dem Auslesen gab es dann keine Probleme.

C-/C++-Quelltext

1
2
3
4
5
6
7
for(int i=0; i<HEIGHT; i++)
{
   for(int j=0; j<WIDTH; j++)
   { 
      Output.write((char*) &Ground[i][j], sizeof(Ground[i][j]));
   }
}


Hab das im Beitrag oben geändert!
"Der Wald wäre sehr leise, wenn nur die begabtesten Vögel singen würden."

15

03.03.2009, 23:20

Zitat von »"Andreas2"«

Visual C++ 6.0
Benutz doch einen aktuellen Compiler, zum Beispiel Microsoft Visual C++ 2008 Express. Die Version 6 ist hoffnungslos veraltet und nicht wirklich standardkonform.

Zudem kommt mir dein Quellcode ein wenig prozedural vor, man könnte zum Beispiel mit Klassen bestimmt einiges vereinfachen. Auch Aufteilung in mehrere Dateien wäre sicherlich nicht das Schlechteste.

Ich würde auch eher reinterpret_cast als C-Casts einsetzen, da diese grundsätzlich sicherer sind und man gleich sieht, was getan wird. Aber das ist auch ein wenig Geschmackssache...

K-Bal

Alter Hase

Beiträge: 703

Wohnort: Aachen

Beruf: Student (Elektrotechnik, Technische Informatik)

  • Private Nachricht senden

16

04.03.2009, 09:24

Zitat von »"Nexus"«


Ich würde auch eher reinterpret_cast als C-Casts einsetzen, da diese grundsätzlich sicherer sind


Der reinterpret ist ja wohl einer der gefährlichsten Casts überhaupt, mit dem kannste ja ganz wilde Sachen zusammencasten ;)

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

17

04.03.2009, 09:30

Man muss natürlich wissen was man macht aber er ist in vielen Fällen unverzichtbar (außerdem ist das ja auch nichts anderes als der C Cast in solchen Fällen machen würde).

18

06.03.2009, 18:30

Zitat von »"K-Bal"«

Der reinterpret ist ja wohl einer der gefährlichsten Casts überhaupt, mit dem kannste ja ganz wilde Sachen zusammencasten ;)
reinterpret_cast ist aber von seiner Gefährlichkeit in ganz anderen Dimensionen als C-Casts. Mit ihm können "nur" Zeiger/Referenzen untereinander oder Zeiger und Integer ineinander umgewandelt werden. Klar kann man damit schon einiges anstellen, aber mir geht es so, dass ich das auch weiss, wenn ich ein reinterpret_cast im Code sehe. Dagegen wirken zwei Klammern um einen Typen schon relativ unscheinbar, vor allem in komplizierteren Ausdrücken.

Im Übrigen besitzt reinterpret_cast die Funktionalität von static_cast und const_cast nicht - ganz im Gegensatz zum C-Cast.

Werbeanzeige