Funktionen
Übersicht

BassmasterBetreff: Funktionen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo ich versuche gerade dieses Programm in eine Funktion zu packen
aber der meint immer "Function can only appear in main program" Aber wo is hier jetzt das main programm Code: [AUSKLAPPEN] Graphics 640, 480 , 32, 0 SetBuffer BackBuffer() ; Bilder laden. Global stars = LoadImage("stars.png") ; Sterne Global runner = LoadAnimImage ("runner.png", 48,56, 0, 12) ;figur Global runner2 = LoadAnimImage ("runner2.png", 48,56, 0, 12) ;figur test() Local frame,player_pos_x,WarteZeit MaskImage runner ,102,0,102 While Not KeyHit(1) Cls TileImage stars, x_star, 1 DrawImage runner, player_pos_x, 420, frame If MilliSecs()-WarteZeit=>100 Then frame=frame+1 ;damit kann man bestimmen wie schnell die figur z.b. laufen soll If frame=12 Then frame=0 WarteZeit=MilliSecs() EndIf x_star = x_star - 3 If x_star = 201 Then x_star = 1 Function test() If KeyDown(203) Then player_pos_x=player_pos_x-2 ;-->Links If KeyDown(205) Then player_pos_x=player_pos_x+2 ;-->Rechts End Function Flip Wend Irgendwie fällt mit BB schwerer als C++ hab ich so das Gefühl. Denn bei c++ da sieht man sofort was wozu gehört das kann doch eigentlich in BB net viel schwerer sein -.- Hier z.b. ein altes Programm von mir sollte mal ein Text Adventuer werden aber habe ich nie zu ende gemacht und da müsste man auch noch eine menger verbessern und ändern. ^^ Code: [AUSKLAPPEN] #include <iostream> using namespace std; class spiel { private: int start; public: int begin(); }; // definiton der memberfunktionen für die klasse spiel int spiel::begin() { cout<<"(1) Spiel starten\n"; cout<<"(2) Spiel Beenden\n"; cout<<"\n"; cout<<"Nummer eingeben: "; cin>>start; return start; } //--------------------------------------------------------------------------- class wohin_gehen { private: int da_hin_gehen; public: umgebung(); }; int wohin_gehen::umgebung() { system("CLS"); cout<<"Wohin wollt ihr gehen? \n"; cout<<"\n"; cout<<"(1) Wald\n"; cout<<"(2) Stadt\n"; cout<<"(3) Dorf\n"; cout<<"\n"; cout<<"Nummer: "; cin>>da_hin_gehen; return da_hin_gehen; } //--------------------------------------------------------------------------- class landschaft { private: public: int wald(); // int stadt(); // // int dorf(); // }; int landschaft::wald() { cout<<"Du bist im Wald\n"; return 0; } //--------------------------------------------------------------------------- int main() { spiel r; int start = r.begin(); if (start==1) { wohin_gehen r; int da_hin_gehen=r.umgebung(); if (da_hin_gehen==1) { system("CLS"); landschaft r; r.wald(); } } fflush(stdin); getchar(); } wofür der c++ source code das einer weiß wie ich denke wenn ich den BB source code sehe bevor wieder wer meint flamen zu müssen .....[/code] |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du solltest deinen Code mit Tab einrücken, dann siehst du, was zusammen gehört. Die Funktion steht nämlich in deiner Hauptschleife, sie muss aber außerhalb davon sein ( am besten am Anfang oder Ende des Programms, das ist am übersichtlichsten ). | ||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok thx die Fehlermeldung ist zwar weg aber dafür hab ich jetzt einen logischen Fehler drin ![]() wieso will den nu die Figur nicht mehr laufen. Ich werd noch wahnsinning damit ![]() Code: [AUSKLAPPEN] ;funktionen Function test() If KeyDown(203) Then player_pos_x=player_pos_x-2 ;-->Links If KeyDown(205) Then player_pos_x=player_pos_x+2 ;-->Rechts End Function Graphics 640, 480 , 32, 0 SetBuffer BackBuffer() ; Bilder laden. Global stars = LoadImage("stars.png") ; Sterne Global runner = LoadAnimImage ("runner.png", 48,56, 0, 12) ;figur Global runner2 = LoadAnimImage ("runner2.png", 48,56, 0, 12) ;figur Local frame,player_pos_x,WarteZeit MaskImage runner ,102,0,102 While Not KeyHit(1) Cls TileImage stars, x_star, 1 DrawImage runner, player_pos_x, 420, frame If MilliSecs()-WarteZeit=>100 Then frame=frame+1 ;damit kann man bestimmen wie schnell die figur z.b. laufen soll If frame=12 Then frame=0 WarteZeit=MilliSecs() EndIf x_star = x_star - 3 If x_star = 201 Then x_star = 1 test() Flip Wend [/code] |
||
ChristianK |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
"player_pos_x" muss Global sein, damit man den Wert mit einer Funktion verändern kann. | ||
AdvanceLcd
Intel Core 2 Duo 3.2 GHz, 4 GB RAM, GeForce 8800 GTX | MacBook Pro 15,4″ Intel Core 2 Duo 2.4 GHz, 2 GB RAM, GeForce 8600M GT |
Bassmaster |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jo jetzt gehts endlich.
THX ![]() |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Der Vergleich mit C++ hinkt hier ein wenig finde ich ... wer C++ kann und solche Fehler nicht sieht sollte die erste Aussage revidieren. Selbst wenn er nur behauptet die Grundzüge von C++ zu kennen. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group