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 19 20 |
void Fred::FredKolision (Level Level) { if (FredAnsichtY = FREDDOWN) { if (FredAnsichtX = FREDRIGHT) { if (Level.LEVEL = LEVEL_1) { if ( //Objekt 1 (Level.Level_1_Objekt_1_X < FredX + 129 < Level.Level_1_Objekt_1_X + Level.Level_1_Objekt_1_B && FredY + 140 > Level.Level_1_Objekt_1_Y) || (Level.Level_1_Objekt_1_X < FredX + 100 < Level.Level_1_Objekt_1_X + Level.Level_1_Objekt_1_B && FredY + 200 > Level.Level_1_Objekt_1_Y) ) { FredXYTest (); } } } } } |
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Überprüf die Bedingungen. Sind das wirklich Vergleiche in Zeile 3, 5 und 7?
Das ist mir leider schon einmal passiert, ich probiere es mir zu merkenSorry, aber grundlegende Syntax muss man schon beherrschen.
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 |
void Fred::FredKolision (Level Level, Spielsteuerung Steuerung) { if (FredAnsichtY == FREDUP) { if (FredAnsichtX == FREDRIGHT) { if (Level.LEVEL == LEVEL_1) { if ( //Objekt 1 // Ohren ((FredX + 92 > Level.Level_1_Objekt_1_X && FredX + 92 < Level.Level_1_Objekt_1_X + Level.Level_1_Objekt_1_B) && (FredY > Level.Level_1_Objekt_1_Y && FredY < Level.Level_1_Objekt_1_Y + Level.Level_1_Objekt_1_H)) || // Ohr Seite ((FredX + 54 > Level.Level_1_Objekt_1_X && FredX + 54 < Level.Level_1_Objekt_1_X + Level.Level_1_Objekt_1_B) && (FredY + 33 > Level.Level_1_Objekt_1_Y && FredY + 33 < Level.Level_1_Objekt_1_Y + Level.Level_1_Objekt_1_H)) || //Hände ((FredX + 122 > Level.Level_1_Objekt_1_X && FredX + 122 < Level.Level_1_Objekt_1_X + Level.Level_1_Objekt_1_B) && (FredY + 126 > Level.Level_1_Objekt_1_Y && FredY + 126 < Level.Level_1_Objekt_1_Y + Level.Level_1_Objekt_1_H)) || // Füße ((FredX + 106 > Level.Level_1_Objekt_1_X && FredX + 106 < Level.Level_1_Objekt_1_X + Level.Level_1_Objekt_1_B) && (FredY + 200 > Level.Level_1_Objekt_1_Y && FredY + 200 < Level.Level_1_Objekt_1_Y + Level.Level_1_Objekt_1_H)) || // Flamme ((FredX > Level.Level_1_Objekt_1_X && FredX < Level.Level_1_Objekt_1_X + Level.Level_1_Objekt_1_B) && (FredY + 200 > Level.Level_1_Objekt_1_Y && FredY + 200 < Level.Level_1_Objekt_1_Y + Level.Level_1_Objekt_1_H)) || // Rakete ((FredX + 30 > Level.Level_1_Objekt_1_X && FredX + 30 < Level.Level_1_Objekt_1_X + Level.Level_1_Objekt_1_B) && (FredY + 91 > Level.Level_1_Objekt_1_Y && FredY + 91 < Level.Level_1_Objekt_1_Y + Level.Level_1_Objekt_1_H)) || // Rakete Mitte ((FredX + 24 > Level.Level_1_Objekt_1_X && FredX + 24 < Level.Level_1_Objekt_1_X + Level.Level_1_Objekt_1_B) && (FredY + 128 > Level.Level_1_Objekt_1_Y && FredY + 128 < Level.Level_1_Objekt_1_Y + Level.Level_1_Objekt_1_H)) ) { FredXY (Level); } // Schlüssel if ( //Objekt 1 // Ohren ((FredX + 92 > Level.SchluesselX && FredX + 92 < Level.SchluesselX + Level.SchluesselB) && (FredY > Level.SchluesselY && FredY < Level.SchluesselY + Level.SchluesselH)) || // Ohr Seite ((FredX + 54 > Level.SchluesselX && FredX + 54 < Level.SchluesselX + Level.SchluesselB) && (FredY + 33 > Level.SchluesselY && FredY + 33 < Level.SchluesselY + Level.SchluesselH)) || //Hände ((FredX + 122 > Level.SchluesselX && FredX + 122 < Level.SchluesselX + Level.SchluesselB) && (FredY + 126 > Level.SchluesselY && FredY + 126 < Level.SchluesselY + Level.SchluesselH)) || // Füße ((FredX + 106 > Level.SchluesselX && FredX + 106 < Level.SchluesselX + Level.SchluesselB) && (FredY + 200 > Level.SchluesselY && FredY + 200 < Level.SchluesselY + Level.SchluesselH)) || // Flamme ((FredX > Level.SchluesselX && FredX < Level.SchluesselX + Level.SchluesselB) && (FredY + 200 > Level.SchluesselY && FredY + 200 < Level.SchluesselY + Level.SchluesselH)) || // Rakete ((FredX + 30 > Level.SchluesselX && FredX + 30 < Level.SchluesselX + Level.SchluesselB) && (FredY + 91 > Level.SchluesselY && FredY + 91 < Level.SchluesselY + Level.SchluesselH)) || // Rakete Mitte ((FredX + 24 > Level.SchluesselX && FredX + 24 < Level.SchluesselX + Level.SchluesselB) && (FredY + 128 > Level.SchluesselY && FredY + 128 < Level.SchluesselY + Level.SchluesselH)) && (Level.Schluessel_1 == SICHTBAR) ) { Level.Schluessel_Anzahl = Level.Schluessel_Anzahl + 1; Level.Schluessel_1 = UNSICHTBAR; } // Tür if ( //Objekt 1 // Ohren ((FredX + 92 > Level.TuerX && FredX + 92 < Level.TuerX + Level.TuerB) && (FredY > Level.TuerY && FredY < Level.TuerY + Level.TuerH)) || // Ohr Seite ((FredX + 54 > Level.TuerX && FredX + 54 < Level.TuerX + Level.TuerB) && (FredY + 33 > Level.TuerY && FredY + 33 < Level.TuerY + Level.TuerH)) || //Hände ((FredX + 122 > Level.TuerX && FredX + 122 < Level.TuerX + Level.TuerB) && (FredY + 126 > Level.TuerY && FredY + 126 < Level.TuerY + Level.TuerH)) || // Füße ((FredX + 106 > Level.TuerX && FredX + 106 < Level.TuerX + Level.TuerB) && (FredY + 200 > Level.TuerY && FredY + 200 < Level.TuerY + Level.TuerH)) || // Flamme ((FredX > Level.TuerX && FredX < Level.TuerX + Level.TuerB) && (FredY + 200 > Level.TuerY && FredY + 200 < Level.TuerY + Level.TuerH)) || // Rakete ((FredX + 30 > Level.TuerX && FredX + 30 < Level.TuerX + Level.TuerB) && (FredY + 91 > Level.TuerY && FredY + 91 < Level.TuerY + Level.TuerH)) || // Rakete Mitte ((FredX + 24 > Level.TuerX && FredX + 24 < Level.TuerX + Level.TuerB) && (FredY + 128 > Level.TuerY && FredY + 128 < Level.TuerY + Level.TuerH)) && (Level.Schluessel_1 == UNSICHTBAR && Level.Schluessel_Anzahl >= 1) ) { Level.Schluessel_Anzahl = Level.Schluessel_Anzahl - 1; Level.Schluessel_1 = UNSICHTBAR; Steuerung.Spielstatus = LEVEL_2; Steuerung.Löschen = LOESCHEN; } } } } } |
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »appfyr« (03.04.2013, 20:40)
Community-Fossil
Beruf: Teamleiter Mobile Applikationen & Senior Software Engineer
Ich bin noch zimlicher Anfänger was meinst du mit OPP Kapselung, ich habe zwei Klassen die eine für die Hauptfigur und die andere für den Aufbau der Level und aller anderen wichtigen Funktionen.Wieso greift Dein Fred eigentlich auf Level und Türen zu? Das ist komplett gegen die Idee von OOP Kapselung.
Werbeanzeige