Jump ’n’ Run programmieren
-
naja denkspiel, wenn die Ideen fehlen ist auch nicht der hit, aber einfache Grafische effekte fürn anfang wären auch nicht schlecht (z.B. Partikeleffekte).
-
Hallo
Danke für die Antworten
Naja irgendwie hab ich das Gefühl das ich noch nicht bereit bin so etwas zu programmieren
Die Ideen fehlen mir wirklich, dass Wissen wie ich so etwas programmiere aber auch *g* Bin ja wie gesagt erst ein Einsteiger und hab bis jetzt erst 1 Buch durchgearbeitet das ich so einigermasen kann *g*
Aber ich glaub schon das ich mir mal ein paar OpenGL tuts durchlese bzw. einfach mal anschaue
Trotzdem danke für die Antworten etc *g* So ein Menü werde ich mal versuchen zu basteln, dass dürfte ich ja vielleicht hinbekommen *g*
Gruß
-
Krux schrieb:
naja denkspiel, wenn die Ideen fehlen ist auch nicht der hit, aber einfache Grafische effekte fürn anfang wären auch nicht schlecht (z.B. Partikeleffekte).
Also eine Idee für ein Denkspiel kann ja nicht das Hindernis sein, kein Denkspiel zu machen. Mir fällt das spontan Memory ein, wo man Bilder umdrehen muß und Paare finden soll. Dann noch nen Spot als Markierung. Bilder kann man Fotos nehmen, muß man nicht malen. Da kann man dann auch ein paar "Effekte" reinbringen, wenn zwei Bilder passen, gibts einen Effekt der sie verschwinden lässt.
Bei so einem Spielkonzept kann man erste Erfahrungen sammeln, in allen Bereichen: Logik-, Grafik- und Sound-Programmierung. Da wird ein Programmieranfänger ordentlich was zu tun haben. Und er wird das trotzdem nicht "schön" im Code haben. Was aber nicht schlimm ist, weil das bei jedem so sein wird. Und dann kann man sich ein J&R vornehmen. J&R sieht einfach aus, aber schon alleine die Steuerung und das Jump-Verhalten der Figur kann einem Kopfzerbrechen bereiten, wenn man Anfänger ist. Neben allen anderen Aufgaben die man noch zu erledigen hat.
-
Stimmt Memory wäre echt gut zu machen, da könnte ich dann auch die Urlaubsfotos meiner Freundin nehmen
Aber wie gesagt ich hab leider echt 0 Vorstellung wie ich den Code dafür schreiben soll etc.
Glaub ich mach jetzt erstmal normal weiter C++ und dann irgendwann mal grafische Programmierung
-
Hallo
Also wie bereits gesagt, wird in dem empfohlenen Buch ziemlich genau erklärt wie man so etwas beginnen könnte. Desweiteren ist SDL nicht sehr schwer gerade schnell mal ein paar Sprites darstellen geht eigentlich ganz gut.
chrische
-
Maddy schrieb:
Aber wie gesagt ich hab leider echt 0 Vorstellung wie ich den Code dafür schreiben soll etc.
Glaub ich mach jetzt erstmal normal weiter C++ und dann irgendwann mal grafische Programmierung
wenn du wie du selbst sagst bis jetzt nur ein paar "if sachen usw" kannst, dann ist es wahrscheinlich wirklich angebracht, dir weiter c++ einzuverleiben bevor du weitermachst.
wenn du trotzdem damit anfangen willst:
zuallererst gehst du auf
und besorgst dir die benötigten dateien (ich weiss jetzt nicht genau wie alle immer ihre source / redist packs usw unterscheiden, aber du brauchst auf alle fälle die archive in denen jeweils .h,.lib und *.dll dateien enthalten sind)
dann solltest du dich erkundigen wie man diese in deiner IDE oder beim compilieren einbindet. bei entsprechenden tutorials sind häufig auch prologe vorzufinden, welche sich mit diesem thema beschäftigen.
wenn du weisst wie du das zeug einbindest gehst du abermals auf www.libsdl.org und schaust dich in der tutorials sektion um. alles weiter sollte sich von allein ergeben, und wenn nicht - hier im forum fragen kostet ja nix.
-
Hallo, also C++ habe ich mir mit Hilfe diesem Buches beigebracht:
C++ für Spieleprogrammierer | ISBN: 3446403329Ich habe noch nicht besonders viel in C++ gemacht, halt so die gängigen Sachen wie ein Taschenrechner, ein Schachbrett anordnen bzw. bestimmten Sachen Positionen zuordnen und abfragen, Such/Ordnungsalgorithmen usw. Halt die Grundlagen (dazu am besten mal von einer (Uni-)Bibliothek ein Buch über Algorithmen ausleihen und durcharbeiten oder auch mal ein Mathe/Physikbuch nehmen und Funktionen schreiben bzw. mal nach Übungen für Informatiker suchen, bei denen man zum Beispiel das Volumen verschiedener Körper ausrechnen oder Summen/Produkte bilden soll (verschiedenste Textaufgaben). Dann kannst du schon mal Schleifen und Funktionen schreiben. Das Prinzip der Klassen sollte dir vertraut sein, wofür die gut sind habe ich dann allerdings erst bemerkt, als ich mein 1. und bisher einziges graphisches Programm geschrieben habe (und zwar vorallem mal, dass man dadurch Funktionen quasi parallel laufen lassen kann, so dass sich der Gegner bewegt und währenddessen der Spieler auch interagieren kann).
Die Vorteile des objektorientierten Programmierens habe ich nocht nicht genutzt (zum Beispiel Vererbung usw.). Ich weiß jetzt zwar nicht wie ein C Code aussieht, aber vom Aufbau ähneln meine Programme wohl eher dem C als dem C++ (außer eventueller Syntaxdifferenzen bzw. Funktionsaufrufen, Bibliotheken, etc.)Da ich mir das Ziel gesetzt habe C++ anhand von Spieleprogrammierung zu erlernen habe ich mir auch noch dieses Buch gekauft:
Spieleprogrammierung | ISBN: 3826680758Damit kann man, wie ich finde gut 2D-Spiele programmieren oder auch Ampelschaltungen (mein nächstes Projekt) simulieren und andere spaßige Graphikanwendungen schreiben. Mit der SDL bin ich bisher noch nicht klar gekommen bzw. die meisten Tutorials/Bücher steigen gleich in 3D ein, wo mir imho noch einiges an Mathematik fehlt, was sich im Laufe meines Studiums hoffentlich bald ändern wird. Das RPG, das in dem Buch programmiert wird kann man imho vergessen. Es wird damit geworben, dass man in Teil 3 des Buches ein Spiel programmiert. Das halte ich allerdings für nicht so effektiv.
1. Wird nicht der gesammte Quelltext besprochen, sondern nur die Stücke auf die es ankommt und man muss den restlichen Code, der sich auf der dem Buch beiliegenden CD befindet, selber durchackern, was ich nicht so toll finde.
2. Der Code ist immer so geschrieben, dass er sich auf jedes andere Programm auch anwenden lässt. Das mag das Ziel eines jeden Programmierers sein, für einen Anfänger ist das aber manchmal undurchschaubar bzw. schwer zu verstehen (zumindest ergeht es mir so)
3. RPGs finde ich für den Anfang bzw. für jemanden der alleine programmiert zu zeitintensiv, da ist ein kompaktes Hüpfspiel imho besser und macht auch mehr Spaß als ein schlankes RPG. Außerdem kommt es schnell vor, dass man von seinem Weg abkommt und ständig daran denkt, was noch alles in das RPG integriert werden könnte und verläuft sich dann im Endeffekt. Denn das Ziel eines RPGs ist es, ein komplett eigenständiges Leben spielbar zu machen und das kann einfach nicht einfach seinVielleicht als kleine Anregung: Mein 1. Spiel sieht so aus, dass der Spieler (ein Rechteck) am unteren Rand des Fensters, in der Mitte zentriert, startet und ein Gegnerisches Rechteck, auf gleicher Höhe, sich von links nach rechts bewegt. Der Spieler kann sich auf der X-Achse nicht bewegen und muss über den Gegner, durch Druck einer Taste, springen. Der Gegner wird immer schneller, so dass das Spiel irgendwann unschaffbar wird. Bei jedem erfolgreichen Sprung gibt es Punkte. Bei Kollision terminiert das Programm.
Damit hast du für den Anfang schonmal vieles abgedeckt, was für ein Jump n Run Spiel wichtig ist:
1. Eine Sprungsequenz/schleife
2. Eine einfache Kollisionsabfrage
3. Einfache graphische Darstellung
4. Ein Punktezähler
5. Eine einfache "KI"
6. Doublebuffering
7. Klassen erstellen und laden
8. Kompilieren mit mehreren Dateien
9. Header schreiben und einbinden
10. EingabeabfrageUnd das ganze ist auch relativ schnell realisiert. Wichtig ist, dass du dir bei der Kollisionsabfrage eigene Gedanken machst und sie selber schreibst und nicht irgendwo den Code rauskopierst. Klar, wenn man wirklich nicht weiterkommt, sollte man schauen, ob du irgendwo einen Tipp findest, aber nie eine komplette Lösung bzw. erst, wenn garnichts mehr geht. Wobei 2 Rechtecke wirklich eines der einfachsten Beispiele ist und du das selber hinbekommen solltest.
Danach kannst du weiter machen Sound einfügen, den Spieler mit Sprites darstellen etc.Was ich ziemlich nervig finde am alleine Programmieren, ist dass man Sprites selber zeichnen muss und auch Sounds selber erstellen. Vielleicht findet sich da aber auch mal eine vernünftige Seite mit guten Graphiken/Tönen.
Viel Spaß
PS: Und denke daran, dass du mehrere Versionen anlegst bevor du etwas unwiederuflich änderst!
Edit: Mach dir kleine Ziele und komme nicht davon ab. Programmiere was dir Spaß macht und auch im Bereich deiner Fähigkeiten liegt.
-
Hallo
Danke für die Tipps
Naja ich werde jetzt noch ne weile erstmal normal C++ programmieren (das macht mir teils schon Probleme *g*) und wenn ich mich bereit fühle werde ich dann Grafisch anfangen
Die Bücher werde ich mir wohl trotzdem jetzt schon holen
Gruß
Nachtrag: Darf ich das Würfelhüpfspiel mal sehen?
-
Ja, ich kann den Code mal hochladen. Unter Linux läuft es, Windows habe ich noch nicht getestet, bzw. bekomme das Cross-Compilen nicht so hin. Sollte aber kein Problem sein, das Programm unter Windows zu spielen. Probleme mit der Plattformunabhängigkeit gibt es erst, wenn man viele Bibliotheken oder Systemaufrufe benötigt (imho).
Die UTIL.CPP ist nicht von mir, sondern aus dem Buch "Spieleprogrammierung". Ich hoffe es gibt keine lizenzrechtlichen Probleme ^^
Hier der Link: http://uploaded.to/?id=94jl2e
Edit: Da das Programm so klein und überschaubar ist, habe ich darauf verzichtet Kommentare zu schreiben. Also dann grad nachfragen, wenn was unklar ist.
Ein paar Sachen sind natürlich noch verbesserungswürdig, z.B. der flimmernde Text, dass man auch sieht wieviel Punkte man erreicht hat und das Programm nicht sofort terminiert, etc. Aber die Mühe mache ich mir erst, wenn es sich lohnt
Edit2: Ich merke gerade, dass das Spiel übelst ruckelt. Ist mir vorher noch garnicht so aufgefallen. Warum weiß ich allerdings nicht
-
Hallo
Danke ich gucks mir mal an
Hmm ich benutz auch Linux, bin nichtmal mehr im Besitz von Windows *g*
Gruß
-
Also ich hab als erstes so ein konsolenbasiertes TicTacToe gemacht. Das war natürlich sehr spartanisch gehalten (habe da auch noch nie etwas über Spieleprogrammierung gelesen). War im Grunde genommen einfach eine Endlosschleife in der ich in jedem Durchgang mit 'system("cls")' das Bild gelöscht habe um daraufhin ein textbasiertes TicTacToe-Feld zu malen, mit den Zeichen die man halt so auf der Tastatur findet
Dann einfach den Spieler Fragen in welchem Feld er sein X haben will (1-9), evtl den zweiten Spieler gefragt oder halt eine Funktion ausgeführt die den zweiten Spieler darstellt (falls man allein spielen wollte).
Sowas geht schon nach 2 Tagen C, genauso lang kannte ich die Sprache da. Einfach rumprobieren!
Nachdem ich dann rausgefunden hatte wie ich mit der SDL einen Pixel male und ich es hingekriegt habe Funktionen zu machen um Linien zu malen, hatte ich damit das TicTacToe grafisch gemacht. Mein Algorythmus für diagonale Linien war zwar nicht mit Brensehams zu vergleichen aber er reichte um die X zu malen.
Mein zweiter Titel war dann ein Jump 'n Run den ich mithilfe der SDL implementiert habe. Zwar Spaghetti-Code um genau zu sein objektorientierter Spaghetti-Code was noch schlimmer ist als Goto-Programme (habe einfach mal drauflos geschrieben, keine Planung oder so), aber lief ganz gut und hatte einen InGame Level-Editor und parallax scrolling. Jedoch würde ich nie wieder anfangen 2D mit SDL und/oder DirectDraw zu machen. Wenn dann OpenGL oder Direct3D, weil da hat man soviele Features für praktisch null perfomanz Einbussen (wie z.B. Alpha Blending on Mass). Andererseits ist es ein guter Start um zu lernen.
Im Grunde genommen laufen Spiele meist in einer Endlosschleife und in jedem Durchlauf wird das Bild neugezeichnet und geschaut ob irgendwelche Tasten gedrückt sind etc. Wird oft als Game-Loop bezeichnet
Die Tipps von norm4n sind sehr gut, versuch einfach etwas zu machen was du mit deinen jetzigen Skills schaffen kannst. Kann höchstens schief gehen. Etwas lernen wirst du dabei mit Garantie.
-
norm4n schrieb:
Ja, ich kann den Code mal hochladen. Unter Linux läuft es, Windows habe ich noch nicht getestet, bzw. bekomme das Cross-Compilen nicht so hin. Sollte aber kein Problem sein, das Programm unter Windows zu spielen. Probleme mit der Plattformunabhängigkeit gibt es erst, wenn man viele Bibliotheken oder Systemaufrufe benötigt (imho).
Die UTIL.CPP ist nicht von mir, sondern aus dem Buch "Spieleprogrammierung". Ich hoffe es gibt keine lizenzrechtlichen Probleme ^^
Hier der Link: http://uploaded.to/?id=94jl2e
Edit: Da das Programm so klein und überschaubar ist, habe ich darauf verzichtet Kommentare zu schreiben. Also dann grad nachfragen, wenn was unklar ist.
Ein paar Sachen sind natürlich noch verbesserungswürdig, z.B. der flimmernde Text, dass man auch sieht wieviel Punkte man erreicht hat und das Programm nicht sofort terminiert, etc. Aber die Mühe mache ich mir erst, wenn es sich lohnt
Edit2: Ich merke gerade, dass das Spiel übelst ruckelt. Ist mir vorher noch garnicht so aufgefallen. Warum weiß ich allerdings nicht
Irgendwie kann ich das Programm nicht compilen
Kommen immer fehler
Hat jemand Tipps?
-
Hallo
Das nächste mal würde ich gar nicht erst schreiben, dass ewtas nicht stimmt, sondern daruf hoffen, dass jemand einen thread öffnet, der genau dein Problem bespricht.
Welche Fehler?
chrische
-
colliding.cpp:1:23: error: colliding.h: No such file or directory enemy.cpp:1:19: error: enemy.h: No such file or directory enemy.cpp:3: Fehler: »CEnemy« wurde nicht deklariert enemy.cpp:3: Fehler: expected constructor, destructor, or type conversion before »(« token enemy.cpp:15: Fehler: expected constructor, destructor, or type conversion before »::« token enemy.cpp:18: Fehler: »CEnemy« wurde nicht deklariert enemy.cpp: In function »void setX(int)«: enemy.cpp:19: Fehler: ungültige Verwendung von »this« in Nicht-Element-Funktion enemy.cpp: At global scope: enemy.cpp:21: Fehler: »CEnemy« wurde nicht deklariert enemy.cpp: In function »void setY(int)«: enemy.cpp:22: Fehler: ungültige Verwendung von »this« in Nicht-Element-Funktion enemy.cpp: At global scope: enemy.cpp:25: Fehler: »CEnemy« wurde nicht deklariert enemy.cpp: In function »void setPosition(int, int)«: enemy.cpp:26: Fehler: ungültige Verwendung von »this« in Nicht-Element-Funktion enemy.cpp:27: Fehler: ungültige Verwendung von »this« in Nicht-Element-Funktion enemy.cpp: At global scope: enemy.cpp:30: Fehler: »CEnemy« wurde nicht deklariert enemy.cpp: In function »float getX()«: enemy.cpp:31: Fehler: »x« wurde in diesem Gültigkeitsbereich nicht definiert enemy.cpp: At global scope: enemy.cpp:34: Fehler: »CEnemy« wurde nicht deklariert enemy.cpp: In function »float getY()«: enemy.cpp:35: Fehler: »y« wurde in diesem Gültigkeitsbereich nicht definiert enemy.cpp: At global scope: enemy.cpp:40: Fehler: »CEnemy« wurde nicht deklariert enemy.cpp: In function »void update()«: enemy.cpp:42: Fehler: »dx« wurde in diesem Gültigkeitsbereich nicht definiert enemy.cpp:42: Fehler: »enemy_vel« wurde in diesem Gültigkeitsbereich nicht definiert enemy.cpp:43: Fehler: »ENEMY_WIDTH« wurde in diesem Gültigkeitsbereich nicht definiert enemy.cpp:43: Fehler: »SCREEN_WIDTH« wurde in diesem Gültigkeitsbereich nicht definiert enemy.cpp:44: Fehler: »dx« wurde in diesem Gültigkeitsbereich nicht definiert enemy.cpp:44: Fehler: »enemy_vel« wurde in diesem Gültigkeitsbereich nicht definiert enemy.cpp:45: Fehler: »passcounter« wurde in diesem Gültigkeitsbereich nicht definiert enemy.cpp:53: Fehler: »x« wurde in diesem Gültigkeitsbereich nicht definiert enemy.cpp:53: Fehler: »dx« wurde in diesem Gültigkeitsbereich nicht definiert enemy.cpp: At global scope: enemy.cpp:59: Fehler: »CEnemy« wurde nicht deklariert enemy.cpp:59: Fehler: Variable oder Feld »draw« als »void« deklariert enemy.cpp:59: Fehler: »BITMAP« wurde in diesem Gültigkeitsbereich nicht definiert enemy.cpp:59: Fehler: »dest« wurde in diesem Gültigkeitsbereich nicht definiert enemy.cpp:59: Fehler: expected »,« or »;« before »{« token enemy.cpp:64: Fehler: »CEnemy« wurde nicht deklariert player.cpp:1:21: error: allegro.h: No such file or directory player.cpp:2:20: error: player.h: No such file or directory player.cpp:7: Fehler: »CPlayer« wurde nicht deklariert player.cpp:7: Fehler: expected constructor, destructor, or type conversion before »(« token player.cpp:20: Fehler: expected constructor, destructor, or type conversion before »::« token player.cpp:23: Fehler: »CPlayer« wurde nicht deklariert player.cpp: In function »void setX(int)«: player.cpp:24: Fehler: ungültige Verwendung von »this« in Nicht-Element-Funktion player.cpp: At global scope: player.cpp:26: Fehler: »CPlayer« wurde nicht deklariert player.cpp: In function »void setY(int)«: player.cpp:27: Fehler: ungültige Verwendung von »this« in Nicht-Element-Funktion player.cpp: At global scope: player.cpp:30: Fehler: »CPlayer« wurde nicht deklariert player.cpp: In function »void setPosition(int, int)«: player.cpp:31: Fehler: ungültige Verwendung von »this« in Nicht-Element-Funktion player.cpp:32: Fehler: ungültige Verwendung von »this« in Nicht-Element-Funktion player.cpp: At global scope: player.cpp:35: Fehler: »CPlayer« wurde nicht deklariert player.cpp: In function »float getX()«: player.cpp:36: Fehler: »x« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp: At global scope: player.cpp:39: Fehler: »CPlayer« wurde nicht deklariert player.cpp: In function »float getY()«: player.cpp:40: Fehler: »y« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp: At global scope: player.cpp:43: Fehler: »CPlayer« wurde nicht deklariert player.cpp: In function »void jump()«: player.cpp:45: Fehler: »key« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:45: Fehler: »KEY_SPACE« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:45: Fehler: »player_jump« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:48: Fehler: »dy« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:48: Fehler: »jump_vel« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:48: Fehler: »SCREEN_HEIGHT« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:48: Fehler: »PLAYER_HEIGHT« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:49: Fehler: »y« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:51: Fehler: »SCREEN_HEIGHT« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:51: Fehler: »PLAYER_HEIGHT« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:52: Fehler: »dy« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:52: Fehler: »jump_vel« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:54: Fehler: »SCREEN_HEIGHT« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:54: Fehler: »PLAYER_HEIGHT« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:54: Fehler: »JUMP_HEIGHT« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:55: Fehler: »dy« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:55: Fehler: »jump_vel« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:57: Fehler: »y« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:57: Fehler: »dy« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp: At global scope: player.cpp:62: Fehler: »CPlayer« wurde nicht deklariert player.cpp:62: Fehler: Variable oder Feld »draw« als »void« deklariert player.cpp:62: Fehler: »BITMAP« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:62: Fehler: »dest« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:62: Fehler: expected »,« or »;« before »{« token player.cpp:67: Fehler: »CPlayer« wurde nicht deklariert player.cpp: In function »int highscore(float, float)«: player.cpp:69: Fehler: »score« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:70: Fehler: »screen« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:70: Fehler: »font« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:70: Fehler: »makecol« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:71: Fehler: »score« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp:71: Fehler: »textprintf_ex« wurde in diesem Gültigkeitsbereich nicht definiert player.cpp: At global scope: player.cpp:76: Fehler: »CPlayer« wurde nicht deklariert UTIL.H:4:21: error: allegro.h: No such file or directory UTIL.H:9: Fehler: expected initializer before »*« token enemy.h:4:21: error: allegro.h: No such file or directory enemy.h:11: Fehler: ISO-C++ verbietet Deklaration von »BITMAP« ohne Typ enemy.h:11: Fehler: expected »;« before »*« token enemy.h:13: Fehler: expected `)' before »*« token enemy.h:25: Fehler: »BITMAP« wurde nicht deklariert huepf02.cpp:1:21: error: allegro.h: No such file or directory huepf02.cpp:2:19: error: enemy.h: No such file or directory huepf02.cpp:3:20: error: player.h: No such file or directory huepf02.cpp:5:23: error: colliding.h: No such file or directory huepf02.cpp:6:18: error: UTIL.H: No such file or directory huepf02.cpp:19: Fehler: expected constructor, destructor, or type conversion before »(« token huepf02.cpp: In function »int main(int, char**)«: huepf02.cpp:23: Fehler: »init« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:26: Fehler: »BITMAP« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:26: Fehler: »playerspr« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:26: Fehler: »NULL« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:26: Fehler: »load_bitmap« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:27: Fehler: »enemyspr« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:30: Fehler: »CPlayer« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:30: Fehler: »player« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:30: Fehler: expected type-specifier before »CPlayer« huepf02.cpp:30: Fehler: expected `;' before »CPlayer« huepf02.cpp:31: Fehler: »CEnemy« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:31: Fehler: »enemy« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:31: Fehler: expected type-specifier before »CEnemy« huepf02.cpp:31: Fehler: expected `;' before »CEnemy« huepf02.cpp:34: Fehler: »LOCK_FUNCTION« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:35: Fehler: »LOCK_VARIABLE« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:36: Fehler: »install_int_ex« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:37: Fehler: »key« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:37: Fehler: »KEY_ESC« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:38: Fehler: »isCollidingRect« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:39: Fehler: Argument vom Typ »<type error>« wurde an »delete« übergeben, Zeiger erwartet huepf02.cpp:40: Fehler: Argument vom Typ »<type error>« wurde an »delete« übergeben, Zeiger erwartet huepf02.cpp:41: Fehler: »destroy_bitmap« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:46: Fehler: »doubleBuffer« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:46: Fehler: »clear_bitmap« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:64: Fehler: »screen« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp:64: Fehler: »blit« wurde in diesem Gültigkeitsbereich nicht definiert huepf02.cpp: At global scope: huepf02.cpp:79: Fehler: expected constructor, destructor, or type conversion before »;« token player.h:1:21: error: allegro.h: No such file or directory player.h:14: Fehler: ISO-C++ verbietet Deklaration von »BITMAP« ohne Typ player.h:14: Fehler: expected »;« before »*« token player.h:16: Fehler: expected `)' before »*« token player.h:28: Fehler: »BITMAP« wurde nicht deklariert UTIL.CPP:1:44: error: /home/theod0r/codex/huepf/UTIL.H: No such file or directory UTIL.CPP:4: Fehler: expected constructor, destructor, or type conversion before »*« token UTIL.CPP:5: Fehler: expected constructor, destructor, or type conversion before »*« token UTIL.CPP:13: Fehler: expected constructor, destructor, or type conversion before »(« token UTIL.CPP: In function »void fatalError(char*)«: UTIL.CPP:17: Fehler: »allegro_message« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:18: Fehler: »exit« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP: In function »int setGfxMode(int, int, int)«: UTIL.CPP:26: Fehler: »set_color_depth« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:27: Fehler: »set_gfx_mode« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:28: Fehler: »TRUE« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:31: Fehler: »FALSE« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP: In function »void show()«: UTIL.CPP:35: Fehler: »doubleBuffer« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:35: Fehler: »screen« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:35: Fehler: »blit« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP: In function »int rnd(int)«: UTIL.CPP:39: Fehler: »rand« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:39: Fehler: »RAND_MAX« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP: In function »void init(int, int, int)«: UTIL.CPP:43: Fehler: »NULL« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:43: Fehler: »time« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:43: Fehler: »srand« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:47: Fehler: »allegro_init« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:49: Fehler: »GFX_AUTODETECT_WINDOWED« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:54: Fehler: »install_timer« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:55: Fehler: »install_keyboard« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:58: Fehler: »screenAlias« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:58: Fehler: »SCREEN_W« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:58: Fehler: »SCREEN_H« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:58: Fehler: »create_video_bitmap« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:59: Fehler: »doubleBuffer« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:63: Fehler: »destroy_bitmap« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:65: Fehler: »create_system_bitmap« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:71: Fehler: »vsync« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:73: Fehler: »LOCK_FUNCTION« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:74: Fehler: »LOCK_VARIABLE« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:76: Fehler: »BPS_TO_TIMER« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:76: Fehler: »install_int_ex« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP: In function »void done()«: UTIL.CPP:85: Fehler: »doubleBuffer« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:85: Fehler: »destroy_bitmap« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:86: Fehler: »screenAlias« wurde in diesem Gültigkeitsbereich nicht definiert UTIL.CPP:86: Fehler: »NULL« wurde in diesem Gültigkeitsbereich nicht definiert
Das hier
-
colliding.cpp:1:23: error: colliding.h: No such file or directory enemy.cpp:1:19: error: enemy.h: No such file or directory
Der findet die Dateien nicht, da musst Du sicherstellen dass diese Dateien im Pfad liegen. In den Projekteigenschaften bei C/C++ -> Allgemein kannst Du zusätzliche Include-Pfade festlegen. Angenommen Du benutzt VC.
Andi
-
Hallo
Also im richtigen Verzeichnis war ich schon
Hab das auch so ausgeführt wie man es für Linux macht (eben per Konsole), hab auch auf Groß- und Kleinschreibung geachtet, aber das kommt immer
Gruß