2017-04-18 1 views
-3

Also bin ich heute aufgewacht, habe mein Projekt geöffnet und versucht, es auszuführen - wie es der Zufall wollte, hört es auf bevor es die Hauptfunktion betritt.Warum funktioniert mein Programm nicht mehr, bevor ich main() eingegeben habe?

Allerdings funktionierte es letzte Nacht, aber jetzt funktioniert es nicht. Ich habe nichts getan, um es zu ändern.

Dies ist source.cpp:

#include <SFML/Graphics.hpp> 
#include "Game.h" 
#include <iostream> 

using namespace std; 


int main() 
{ 
    string name; 
    cout << "alupigus"; 

    name = "Dino Attack"; 

    Game game(800, 800, name); 

    game.loadAssets(); 

    game.Run(); 

    return 0; 
} 

Wenn ich kompilieren und es in der Konsole laufen, ist es nichts anderes als die schwarzen Bildschirm nicht zeigen. Ich kann nichts eingeben und das Renderfenster von SFML wird nicht angezeigt.

Ich bin nur SFML als externe Bibliothek, aber ich habe ändern noch keine Links, nicht seine Dateien verschieben, usw.

+1

Versuchen Sie, 'cout <<" alupigus ";' mit 'cout <<" alupigus "<< endl;' – Jonas

+0

nicht sicher, wie würde das helfen, aber ich änderte es und es startet keine neue Zeile oder irgendetwas –

+1

Haben Sie versucht, einen Haltepunkt zu setzen, um zu sehen, wie weit der Code tatsächlich kommt? –

Antwort

1

Sie haben nicht bündig Stream. Der Code sollte wie folgt aussehen:

#include <SFML/Graphics.hpp> 
#include "Game.h" 
#include <iostream> 

using namespace std; 


int main() 
{ 
    string name; 
    cout << "alupigus" << endl; 

    name = "Dino Attack"; 

    Game game(800, 800, name); 

    game.loadAssets(); 

    game.Run(); 

    return 0; 
} 

Bedenken Sie auch using namespace std; entfernen, weil diese schlechte Praxis in größeren Projekten ist. Lesen this

+0

In dem obigen Code mit Namespace std tut nichts, um fair zu sein. –

+0

danke für den Tipp über den Namespace, aber das Endl tut auch nichts, obwohl ich nicht wirklich sicher bin, was es tun soll, wenn es diese Zeichenfolge sowieso nicht auf die Konsole schreibt. –

+0

@const_ref Ich nehme an, dass das Projekt etwas größer ist, ich kann nicht den gesamten Code sehen. –

0

Ok so im Grunde ich die problem.For aus irgendeinem Grunde gelöst dies in der Regel aus der Ausführung das Programm verhindert, obwohl ich nicht

x = Board::dinozaurPoz; 
     x.x = rand() % 400 + 200; 
     while (Board::matrix[(int)x.y/40][(int)x.x/40] != 1) { 
      x.x = rand() % 400 + 200; 

die Schleife nicht ausgeführt wird für eine Woche in diesem Bereich des Codes berühren auf unbestimmte Zeit, also weiß ich wirklich nicht, was das Problem hier war. Vielleicht kann jemand erfahrener mich beraten, was ich falsch gemacht habe.

+1

Als jemand mit mehr Erfahrung kann ich Ihnen sagen, dass Obszönitäten nicht gut auf Stack Overflow erhalten. Bitte verwenden Sie es in Zukunft nicht. – Adriaan

+1

Entschuldigung, das hat mich den ganzen Tag gestört, wird nicht wieder passieren –

Verwandte Themen