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
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
class IEnemy { }; class EnemyA : public IEnemy { }; class EnemyB : public IEnemy { }; // etc... int main() { std::list< IEnemy* > foobar; } |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 |
1>------ Erstellen gestartet: Projekt: Super_Engine_01, Konfiguration: Debug Win32 ------ 1>Kompilieren... 1>Game.cpp 1>Verknüpfen... 1>Game.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___CrtDbgReportW" in Funktion ""public: class CAreaScanning * const & __thiscall std::list<class CAreaScanning *,class std::allocator<class CAreaScanning *> >::_Const_iterator<1>::operator*(void)const " (??D?$_Const_iterator@$00@?$list@PAVCAreaScanning@@V?$allocator@PAVCAreaScanning@@@std@@@std@@QBEABQAVCAreaScanning@@XZ)". 1>.\Debug/Super_Engine_01.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise. 1>Das Buildprotokoll wurde unter "file://c:\Program Files\Super Mario Engine\Super_Engine_11\Debug\BuildLog.htm" gespeichert. 1>Super_Engine_01 - 2 Fehler, 0 Warnung(en) |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 |
// Testlevel // // Aufgabe: Testlevel ausführen // void CGame::Testlevel() { //Abfrage ob schon Intaliesiert wurde if (m_bIntal == false) { //Wenn nein dann Intaliesieren //Temporär Instanzen CEnemy *m_Enemy_Temp; //Für Gegner CAreaScanning *m_Area_Temp; //Für Objekte //Listen und Iterator list<CAreaScanning*> m_lArea; list<CAreaScanning*>::iterator iter_Area; list<CEnemy*> m_lEnemy; list<CEnemy*>::iterator iter_Enemy; m_Area_Temp = new CAreaScanning(1136, 0, 0, 3000); m_lArea.push_back (m_Area_Temp); m_Enemy_Temp = new CEnemy; m_lEnemy.push_back(m_Enemy_Temp); //Es wurde schon intaliesiert m_bIntal = true; } AreaAbfragen (); m_Player.Update_Screen(); //Bildschirm Ubdaten und Rendern m_Backgroundmap->ScreenUpdate(m_Player); m_Backgroundmap->ScreenRender(); //Spieler Rendern m_Player.Render(); //Alle Gegner durchlaufen und Rendern wenn Gegner im Sichtbereich ist for (iter_Enemy = m_lEnemy.begin (); iter_Enemy != m_lEnemy.end(); ++ iter_Enemy ) { (*iter_Enemy)->Render(m_Player); } } // AreaAbfragen // // Aufgabe: Kollisonsabfragen mis Objekten durchführen // void CGame::AreaAbfragen () { //Abrage ob grade gesprungen wird if (m_Player.StatusRueckgabe() != 3) { //Wenn nein Schleifenabfrage nach Boden oder Fallen beginnen for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++iter_Area ) { //Abfrage nach Boden if ((*iter_Area)->Abfrage_Oben(m_Player) == true) { //Wenn boden gefunden wurde Boden kontakt bestätigen und Schleife sofort bennden m_bContact = true; break; } //Wenn kein Boden gefunden wurde dann fällt der Spieler else { m_bContact = false; } } } //Abfrage ob Spung an ist else if (m_Player.StatusRueckgabe() == 3) { //Wenn ja SChleife durchlaufen die nach Kontakt mit Objekt über Spieler sucht for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++ iter_Area ) { (*iter_Area)->Abfrage_Unten(m_Player); } //Kein BOdenkontakt m_bContact = false; } //Abfrage ob Sprung "nicht" an ist if(m_Player.StatusRueckgabe() != 3) { //Wenn ja -> Abfrage ob Bodenkontakt da ist oder nicht if (m_bContact == true) { //Boden wurde gefunden also Laufen an m_Player.StatusAnpassen(1); } else { //kein Boden wurde gefunden also Fallen an m_Player.StatusAnpassen(2); } } //Abfrage ob grade eine BEwegung nach Links geamcht wird if (m_Player.MoveDirectionRueckgabe() == 1) { //Wenn ja Abfrage ob nicht Links irgendwo eine Kollison mit einem Objekt ist for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++ iter_Area ) { (*iter_Area)->Abfrage_Links(m_Player); } } //Abfrage ob grade eine BEwegung nach Rechts geamcht wird if (m_Player.MoveDirectionRueckgabe() == 2) { for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++ iter_Area ) { //Wenn ja Abfrage ob nicht Rechts irgendwo eine Kollison mit einem Objekt ist (*iter_Area)->Abfrage_Rechts(m_Player); } } } |
Zitat von »"Abcd1234"«
Bei Laufzeitbiblothek steht bei mir:
Multithread-DLL[/ML]
Zitat von »"Abcd1234"«
Ansonsten gibt es noch Multithreaded-Debug (/MTd) zur Auswahl oder Multithreaded-Debug-DLL (/MDd).. wüsste ich jetzt nicht was ich da einstellen muss..
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 |
1>------ Erstellen gestartet: Projekt: Super_Engine_01, Konfiguration: Debug Win32 ------ 1>Kompilieren... 1>AreaScanning.cpp 1>Backgroundmap.cpp 1>Enemy.cpp 1>Framework.cpp 1>Game.cpp 1>Logfile.cpp 1>c:\program files\super mario engine\super_engine_11\logfile.cpp(31) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(237): Siehe Deklaration von 'fopen' 1>c:\program files\super mario engine\super_engine_11\logfile.cpp(49) : warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(237): Siehe Deklaration von 'fopen' 1>c:\program files\super mario engine\super_engine_11\logfile.cpp(138) : warning C4996: 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(366): Siehe Deklaration von 'vsprintf' 1>c:\program files\super mario engine\super_engine_11\logfile.cpp(157) : warning C4996: 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(366): Siehe Deklaration von 'vsprintf' 1>c:\program files\super mario engine\super_engine_11\logfile.cpp(176) : warning C4996: 'vsprintf': This function or variable may be unsafe. Consider using vsprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. 1> c:\program files\microsoft visual studio 9.0\vc\include\stdio.h(366): Siehe Deklaration von 'vsprintf' 1>main.cpp 1>Player.cpp 1>c:\program files\super mario engine\super_engine_11\player.cpp(393) : warning C4244: 'Argument': Konvertierung von 'int' in 'float', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(393) : warning C4244: 'Argument': Konvertierung von 'int' in 'float', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(437) : warning C4805: '==': unsichere Kombination von Typ 'int' mit Typ 'bool' in einer Operation 1>c:\program files\super mario engine\super_engine_11\player.cpp(459) : warning C4805: '==': unsichere Kombination von Typ 'int' mit Typ 'bool' in einer Operation 1>c:\program files\super mario engine\super_engine_11\player.cpp(462) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(489) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(507) : warning C4805: '==': unsichere Kombination von Typ 'int' mit Typ 'bool' in einer Operation 1>c:\program files\super mario engine\super_engine_11\player.cpp(510) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(540) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(581) : warning C4805: '==': unsichere Kombination von Typ 'int' mit Typ 'bool' in einer Operation 1>c:\program files\super mario engine\super_engine_11\player.cpp(585) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(612) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(631) : warning C4805: '==': unsichere Kombination von Typ 'int' mit Typ 'bool' in einer Operation 1>c:\program files\super mario engine\super_engine_11\player.cpp(634) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(662) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(694) : warning C4805: '==': unsichere Kombination von Typ 'int' mit Typ 'bool' in einer Operation 1>c:\program files\super mario engine\super_engine_11\player.cpp(805) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(809) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(844) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(848) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(880) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(948) : warning C4244: '+=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(957) : warning C4244: '-=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(966) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(1024) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(1028) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(1089) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(1093) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(1152) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(1156) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(1213) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\player.cpp(1217) : warning C4244: '=': Konvertierung von 'float' in 'int', möglicher Datenverlust 1>Sprite.cpp 1>c:\program files\super mario engine\super_engine_11\sprite.cpp(194) : warning C4244: '=': Konvertierung von 'float' in 'Sint16', möglicher Datenverlust 1>c:\program files\super mario engine\super_engine_11\sprite.cpp(322) : warning C4805: '==': unsichere Kombination von Typ 'int' mit Typ 'bool' in einer Operation 1>c:\program files\super mario engine\super_engine_11\sprite.cpp(322) : warning C4805: '==': unsichere Kombination von Typ 'int' mit Typ 'bool' in einer Operation 1>timer.cpp 1>Level.cpp 1>Code wird generiert... 1>Verknüpfen... 1>msvcrt.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) ist bereits in LIBCMTD.lib(typinfo.obj) definiert. 1>msvcrt.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) ist bereits in LIBCMTD.lib(typinfo.obj) definiert. 1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _exit ist bereits in LIBCMTD.lib(crt0dat.obj) definiert. 1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _strrchr ist bereits in LIBCMTD.lib(strrchr.obj) definiert. 1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _fprintf ist bereits in LIBCMTD.lib(fprintf.obj) definiert. 1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _fopen ist bereits in LIBCMTD.lib(fopen.obj) definiert. 1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _fgetc ist bereits in LIBCMTD.lib(fgetc.obj) definiert. 1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _fclose ist bereits in LIBCMTD.lib(fclose.obj) definiert. 1>msvcrt.lib(MSVCR90.dll) : error LNK2005: _setvbuf ist bereits in LIBCMTD.lib(setvbuf.obj) definiert. 1>msvcrt.lib(MSVCR90.dll) : error LNK2005: __isctype ist bereits in LIBCMTD.lib(isctype.obj) definiert. 1>LIBCMTD.lib(crt0init.obj) : warning LNK4098: Standardbibliothek "msvcrt.lib" steht in Konflikt mit anderen Bibliotheken; /NODEFAULTLIB:Bibliothek verwenden. 1>.\Debug/Super_Engine_01.exe : fatal error LNK1169: Mindestens ein mehrfach definiertes Symbol gefunden. 1>Das Buildprotokoll wurde unter "file://c:\Program Files\Super Mario Engine\Super_Engine_11\Debug\BuildLog.htm" gespeichert. 1>Super_Engine_01 - 11 Fehler, 41 Warnung(en) ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ========== |
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
#include "Level.h" #include "Player.h" CLevel::CLevel() { m_Backgroundmap = new CBackgroundmap("Data/test.bmp"); m_Backgroundmap->ScreenLoad(); m_Area_Temp = new CAreaScanning(1136, 0, 0, 3000); m_lArea.push_back (m_Area_Temp); m_Enemy_Temp = new CEnemy; m_lEnemy.push_back(m_Enemy_Temp); } void CLevel::AreaAbfragen (CPlayer &Player) { //Abrage ob grade gesprungen wird if (Player.StatusRueckgabe() != 3) { //Wenn nein Schleifenabfrage nach Boden oder Fallen beginnen for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++iter_Area ) { //Abfrage nach Boden if ((*iter_Area)->Abfrage_Oben(Player) == true) { //Wenn boden gefunden wurde Boden kontakt bestätigen und Schleife sofort bennden m_bContact = true; break; } //Wenn kein Boden gefunden wurde dann fällt der Spieler else { m_bContact = false; } } } //Abfrage ob Spung an ist else if (Player.StatusRueckgabe() == 3) { //Wenn ja SChleife durchlaufen die nach Kontakt mit Objekt über Spieler sucht for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++ iter_Area ) { (*iter_Area)->Abfrage_Unten(Player); } //Kein BOdenkontakt m_bContact = false; } //Abfrage ob Sprung "nicht" an ist if(Player.StatusRueckgabe() != 3) { //Wenn ja -> Abfrage ob Bodenkontakt da ist oder nicht if (m_bContact == true) { //Boden wurde gefunden also Laufen an Player.StatusAnpassen(1); } else { //kein Boden wurde gefunden also Fallen an Player.StatusAnpassen(2); } } //Abfrage ob grade eine BEwegung nach Links geamcht wird if (Player.MoveDirectionRueckgabe() == 1) { //Wenn ja Abfrage ob nicht Links irgendwo eine Kollison mit einem Objekt ist for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++ iter_Area ) { (*iter_Area)->Abfrage_Links(Player); } } //Abfrage ob grade eine BEwegung nach Rechts geamcht wird if (Player.MoveDirectionRueckgabe() == 2) { for (iter_Area = m_lArea.begin (); iter_Area != m_lArea.end(); ++ iter_Area ) { //Wenn ja Abfrage ob nicht Rechts irgendwo eine Kollison mit einem Objekt ist (*iter_Area)->Abfrage_Rechts(Player); } } } void CLevel::LevelRun(CPlayer &Player) { AreaAbfragen (Player); Player.Update_Screen(); //Bildschirm Ubdaten und Rendern m_Backgroundmap->ScreenUpdate(Player); m_Backgroundmap->ScreenRender(); //Spieler Rendern Player.Render(); //Alle Gegner durchlaufen und Rendern wenn Gegner im Sichtbereich ist for (iter_Enemy = m_lEnemy.begin (); iter_Enemy != m_lEnemy.end(); ++ iter_Enemy ) { (*iter_Enemy)->Render(Player); } } |
C-/C++-Quelltext |
|
1 2 3 |
1>Level.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp___CrtDbgReportW" in Funktion ""public: class CAreaScanning * const & __thiscall std::list<class CAreaScanning *,class std::allocator<class CAreaScanning *> >::_Const_iterator<1>::operator*(void)const " (??D?$_Const_iterator@$00@?$list@PAVCAreaScanning@@V?$allocator@PAVCAreaScanning@@@std@@@std@@QBEABQAVCAreaScanning@@XZ)". 1>.\Debug/Super_Engine_01.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise. 1>Das Buildprotokoll wurde unter "file://c:\Program Files\Super Mario Engine\Super_Engine_11\Debug\BuildLog.htm" gespeichert. |
C-/C++-Quelltext |
|
1 2 3 4 5 6 |
1>------ Erstellen gestartet: Projekt: Super_Engine_01, Konfiguration: Debug Win32 ------ 1>Das Manifest wird eingebettet... 1>mt.exe : general error c101008a: Failed to save the updated manifest to the file ".\Debug\Super_Engine_01.exe.embed.manifest". The parameter is incorrect. 1>Das Buildprotokoll wurde unter "file://c:\Program Files\Super Mario Engine\Super_Engine_11\Debug\BuildLog.htm" gespeichert. 1>Super_Engine_01 - 1 Fehler, 0 Warnung(en) ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ========== |
Werbeanzeige