Dynamisches C++ Schulprojekt [Hilfe gesucht!]
-
hmm ich hab hier mal ne kollisionsabfrage:
void TForm1::Kollisionsabfrage(AnsiString Art) { int Oben = Image1->Top; int Unten = Image1->Top + Image1->Height; int Links = Image1->Left; int Rechts = Image1->Left + Image1->Width; { if (((Oben < Image2->Top + Image2->Height) &&(Rechts > Image2->Left) &&(Links < Image2->Left + Image2->Width) &&(Unten > Image2->Top))) { if (Art == "Hoch") Image1->Top++; if (Art == "Runter") Image1->Top--; if (Art == "Links") Image1->Left ++; if (Art == "Rechts") Image1->Left --; } }
Das ganze wird dann in der Form-KeyDown Methode mit
if (Key == VK_LEFT) { for(int i = 0; i < 10;i++) { Image1->Left --; Kollisionsabfrage("Links"); } } //usw. (VK_RIGHT,VK_UP,VK_DOWN)
aufgerufen.
Ich bin auch für Hilfe b(e)reit: joachimrothkegel@gmx.de
Ausserdem: man steht direkt am Start in dem oberen Image!
und ich würde mit transparenten Images arbeiten (falls es die in euer version gibt(ich hab 6.0)) is wesentlich schöner (finde ich).Hoffe es hilft,
Greez,
J0PS: Ich hab euer Spiel einfach mal programmiert: Nur die Exe: www.ewetel.net/~heribert.rothkegel/Jo/Project2.rar
PS2: Interesse halber: wie alt seid ihr/bist du?
-
Sorry: Nachtrag: ich hab nich das ganze game gemacht: man kann nur laufen (mit kollisionsabfrage) aber der Rest (ausm kopf: highscore, punkte zählen) is ja nich so schwer.
J0
-
Hallo J0!
Vielen vielen Danke erstmal fuer deine hilfe.
Ich bin 17 Jahre alt. Wir in der gruppe zwischen 16 und 18. (tut aber ja nicht viel zur sache)auch dich würde ich gerne fragen, ob du nicht zufaellig icq, irc oder irgend ein anderes kommunikations-mittel zur verfügung haettest, da uns das die arbeit wesentlich erleichtern wuerde!
Wegen den transparenten images - nach dieser loesung haben wir schon tagelang verzweifelt gesucht... leider wusste keiner rat. wie geht das genau, ist das eine funktion, die nur bei borland builder 6.0 geht. ich denke, ich werde mir den auchmal irgendwie organisieren...
MfG MiG
-
Hi, Ich bin einer der Mitglieder in Migs Gruppe.
Möchte mich sehr herzlich für eure Bereitschaft bedanken.Um die Jos frage zu beantworten: Nun ich bin mit meinen 18 Jahren der älteste in der Gruppe und hab mich stark auf die Grafik beschränkt, da es das einzige Gebiet ist von dem ich was verstehe.
Wir haben uns schon eine kleine story ausgedacht ist zwar erst die erste version und noch nicht ganz überdacht , möchte sie aber nicht vorenthalten
viel spaß beim lesenDer russische Staat befindet sich im Ausnahmezustand. Es ist nicht mehr möglich von Kreml aus zu regieren und der größte Flächenstaat verkümmert. Chaos bricht aus. Der Kontakt zu einigen russischen Inseln im Pazifischen Ozean bricht zusammen und die dornlebenden Menschen sind auf sich allein gestellt. Es gibt nur eine bestimmte Minderheit, die von dem Elend profitiert. Die russische Mafia. Sie bauen sich eine Existenz auf einer dieser Inseln auf. Komandorskie. Das dort ehemalige russische politische System konvertiert zu einer Diktatur, das von den obersten Mafiabossen bei einem Putsch Versuch von dem unterdrückten Volk hart bestraft wird.
Jedoch wagen sich Viele öffentlich zu protestieren und die Ein-Mann-Regierung entwickelt eine neues Rechtssystem.
Die Unruhestifter werden gefangen genommen und auf eine naheliegende unbewohnte Insel Kastrov ( der Name ist erfunden) verschleppt, dem neuen Jurassic Park, der eher einem Gefängnis gleicht als einem Familien Park. Die ganze Insel ist mit eletkrischen Gittern umzäunt.
Eine der Gefangenen ist Sandra Moore, eine amerikanische Reporterin, die die unmenschlichen Lebensbedingungen der Bevölkerung dokumentieren und veröffentlichen wollte.
Es ist ein Kampf gegen die Zeit. Denn es gibt keine Nahrung und die Reptilien können jeder Zeit zuschlagen.
Sie muss mit einer kleinen Gruppe Gefangener
einen Weg finden wie man aus der Insel entkommt.buahhhhh
-
Also, ich hab mal jos quellcode versucht. irgendwie komm ich damit aber leider nicht klar
der meint:
'TForm1::Kollisionsabfrage(AnsiString Art)' is not a member of TForm1Ich weiss nicht genau, muss da wahrscheinlich noch was hinzufügen oder so. Ich poste mal Alles, was ich geschrieben hab. Vielleicht findet ja einer den fehler. Waere super!!
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void TForm1::Kollisionsabfrage(AnsiString Art) { int Oben = Image1->Top; int Unten = Image1->Top + Image1->Height; int Links = Image1->Left; int Rechts = Image1->Left + Image1->Width; { if (((Oben < Image2->Top + Image2->Height) &&(Rechts > Image2->Left) &&(Links < Image2->Left + Image2->Width) &&(Unten > Image2->Top))) { if (Art == "Hoch") Image1->Top++; if (Art == "Runter") Image1->Top--; if (Art == "Links") Image1->Left ++; if (Art == "Rechts") Image1->Left --; } } //--------------------------------------------------------------------------- void __fastcall TForm1::FormKeyPress(TObject *Sender, char &Key) { if (Key == VK_LEFT) { for(int i = 0; i < 10;i++) { Image1->Left --; Kollisionsabfrage("Links"); } } if (Key == VK_RIGHT) { for(int i = 0; i < 10;i++) { Image1->Left ++; Kollisionsabfrage("Rechts"); } } if (Key == VK_UP) { for(int i = 0; i < 10;i++) { Image1->Top ++; Kollisionsabfrage("Hoch"); } } if (Key == VK_DOWN) { for(int i = 0; i < 10;i++) { Image1->Top --; Kollisionsabfrage("Runter"); } } } //---------------------------------------------------------------------------
[ Dieser Beitrag wurde am 04.02.2003 um 22:27 Uhr von MiG editiert. ]
-
Bitte was?? Magst du mir mal erklaeren, was dein problem ist?
-
Ignorier ihn, dass sind die unregistrierten Trolls
Ahc ja, wegen den Arrays, les dir halt mal nen paar tuts durch. Ich such mal nen paar raus...
-
du kannst auch mal hier auf der Page unter Tutorials schauen, da sind schon einige gute dabei...
-
@ mindwalker:
Danke fuer deine auskunft! Wäre nett, wenn du da was fuer mich haettest. die kollisionsabfrage von jo scheint zumindest in seine demo-exe super zu funktionieren, nur leider bekomme ich es nicht hinBin einfach zu bloed dafuer. Wieso kann unser lehrer auch nicht einfach den ganzen kram erklaeren. Menno!!
Naja, vielleicht kannste mir ja sagen, wieso der error dort kommt "TForm1::Kollisionsabfrage (Art)" Kein mitglied von TForm1
Muss ich das vielleicht noch irgendwo hinzufügen oder so. ich hab kein plan
tut mir echt leid
-
@MiG
meld dich mal bei ICQ 102889956 , die Trolle hier nerven
-
[doppelpost]
[ Dieser Beitrag wurde am 04.02.2003 um 23:16 Uhr von mindwalker editiert. ]
-
<J0>, wäre schoen wenn du mir helfen könntest und dich melden würdest
-
Der TGGC da oben war nicht der wirkliche TGGC... Also müsst ihr keine Angst haben, der Thread hier wird 100%ig nicht geschlossen, wo kämen wir da denn hin.
Ist doch ganz normal, dass man erstmal große Probleme beim Spiele programmieren hat
PH
-
Hi !
MiG :
Wie sieht denn deine .h Datei aus ? Kann es sein dass das was fehlt ?Trolls :
Ich denke die Mods wissen schon genau wann sie einen Thread schließen müssen, da werden solche unqualitifizierte Äußerungen von irgendwelchen unregistrierten Fakern nicht benötigt. Danke für euer Verständnis :o
-
Einfach so, für alle dies noch nicht wissen (MiG weiss es, ich hab mit ihm gechattet)
Den 'Fehler', dass TForm1::Kollisionsabfrage(AnsiString Art) kein Objekt von TForm1 ist, lässt sich einfach beheben:
Man füge einfach diesen code in den public bereich der Form ein (im Header etwas weiter unten):void TForm1::Kollisionsabfrage(AnsiString Art);
Und das mit der Transparenz lässt sich so lösen:
entweder fügt man diesen code in die Form1 Create Methode ein://Transparentfarbe wählen... Form1->TransparentColor = clWhite; //...und aktivieren! Image1->Transparent = true;
Oder man Stellt die Werte im Objectinspector ein.
Ich weiss nicht seit wann die Transparent funktion implementiert ist, ich hab bcb 6.0 prof (share)
Greez
J0
-
Original erstellt von mindwalker:
Ignorier ihn, dass sind die unregistrierten Trolls
Ahc ja, wegen den Arrays, les dir halt mal nen paar tuts durch. Ich such mal nen paar raus...Hey, nicht jeder der unregistriert ist, ist auch automatisch ein Troll.
-
Original erstellt von <zaib__>:
Hey, nicht jeder der unregistriert ist, ist auch automatisch ein Troll.Das hat auch keiner gesagt.
-
Ignorier ihn, dass sind die unregistrierten Trolls
Es gibt auch registrierte Trolle
-
[ Dieser Beitrag wurde am 06.02.2003 um 20:28 Uhr von smasher1985 editiert. ]
-
kleiner Tipp: mit google findet man Hunderte von guten Tutorials - gerade zu so grundlegenden Themen wie Arrays. Hier nur das erstbeste, was ich gefunden habe:
[url] http://www.informit.de/books/c++21/data/kap12.htm [/url]und wie gesagt: [url] www.google.de [/url]