Klassen



  • ?
    irgendetwas?



  • player p();
    

    wird leider vom Compiler als Funktionsdeklaration, einer Funktion ohne parameter, die ein Objekt von player zurueckgibt, gelesen (Altlast aus altem C).
    Du musst es bei

    player p;
    

    belassen, bzw in diesem Fall muss es

    plazer p("Irgendein Name");
    

    sein, und an den anderen Stellen auch statt p() nur p hinschreiben. Ist ja keine Funktion, sondern Instanz einer Klasse.



  • Ja okay, stimmt ja.
    Danke für eure Hilfe 😉
    Poste dann mal bald das Ergebnis hiervon



  • Also hier ist schon mal der Code, die player.png muss ich noch erstellen!

    #include <SFML/Graphics.hpp>
    #include <iostream>
    #include <windows.h>
    #include "player.h"
    
    using namespace sf;
    using namespace std;
    
    int main()
    {
        RenderWindow window(VideoMode(750, 750), "Maze between fog");
    
    	Texture gtexture;
    	gtexture.loadFromFile("Data\\ground.png");
    	gtexture.setSmooth(false);
    	Sprite ground;
    	ground.setTexture(gtexture);
    	ground.setPosition(0,0);
    
    	player SP("Spieler");
    
    	int tmp;
    	cout << "Spiel starten? (1/0)" << endl;
    	cin >> tmp;
    	if(tmp == 1)
    	{
    		system("cls");
    		Mouse::setPosition(Vector2i(325,725),window);
    
    		while(window.isOpen())
    		{
    			Event event;
    			while(window.pollEvent(event))
    			{
    				if(event.type == Event::Closed)
    					window.close();
    				if(Keyboard::isKeyPressed(Keyboard::Escape))
    					window.close();
    			}
    
    			window.clear();
    			window.draw(ground);
    			SP.Update(window);
    			SP.Render(window);
    			window.display();
    	   }
    	}else if(tmp == 0)
    	{
    		window.close();
    	}else
    	{
    		cout << "Fehler bei der Eingabe!" << endl;
    		system("Pause >nul");
    	}
        return 0;
    }
    
    #include "player.h"
    #include <iostream>
    #include <Windows.h>
    
    using namespace sf;
    using namespace std;
    
    player::player(String tex)
    {
    	ptexture.loadFromFile("Data\\player.png");
    	ptexture.setSmooth(false);
    	splayer.setOrigin(20,20);
    	splayer.setTexture(ptexture);
    
    	ziel.setSize(Vector2f(50,50));
    	ziel.setPosition(200,0);
    	ziel.setFillColor(Color::Red);
    
    	na.loadFromFile("Data\\ground2.png");
    	na.setSmooth(false);
    
    	na1x8_1.setTexture(na);
    	na1x8_1.setTextureRect(IntRect(0,0,100,750));
    	na1x8_1.setPosition(0,0);
    
    	na1x8_2.setTexture(na);
    	na1x8_2.setTextureRect(IntRect(650,0,750,750));
    	na1x8_2.setPosition(650,0);
    
    	na3x2.setTexture(na);
    	na3x2.setTextureRect(IntRect(350,600,700,750));
    	na3x2.setPosition(350,600);
    
    	na1x1_1.setTexture(na);
    	na1x1_1.setTextureRect(IntRect(100,0,100,100));
    	na1x1_1.setPosition(100,0);
    
    	na1x1_2.setTexture(na);
    	na1x1_2.setTextureRect(IntRect(250,450,100,100));
    	na1x1_2.setPosition(250,450);
    
    	na1x1_3.setTexture(na);
    	na1x1_3.setTextureRect(IntRect(500,450,100,100));
    	na1x1_3.setPosition(500,450);
    
    	na1x2_1.setTexture(na);
    	na1x2_1.setTextureRect(IntRect(100,300,100,200));
    	na1x2_1.setPosition(100,300);
    
    	na1x2_2.setTexture(na);
    	na1x2_2.setTextureRect(IntRect(250,0,100,150));
    	na1x2_2.setPosition(250,0);
    
    	na1x2_3.setTexture(na);
    	na1x2_3.setTextureRect(IntRect(550,0,100,200));
    	na1x2_3.setPosition(550,0);
    
    	na1x2_4.setTexture(na);
    	na1x2_4.setTextureRect(IntRect(550,200,100,200));
    	na1x2_4.setPosition(550,200);
    
    	na1x2_5.setTexture(na);
    	na1x2_5.setTextureRect(IntRect(400,150,100,200));
    	na1x2_5.setPosition(400,150);
    
    	na1x2_6.setTexture(na);
    	na1x2_6.setTextureRect(IntRect(400,350,100,200));
    	na1x2_6.setPosition(400,350);
    
    	na2x1_1.setTexture(na);
    	na2x1_1.setTextureRect(IntRect(350,0,200,100));
    	na2x1_1.setPosition(350,0);
    
    	na2x1_2.setTexture(na);
    	na2x1_2.setTextureRect(IntRect(150,150,200,100));
    	na2x1_2.setPosition(150,150);
    
    	na2x1_3.setTexture(na);
    	na2x1_3.setTextureRect(IntRect(200,300,200,100));
    	na2x1_3.setPosition(200,300);
    
    	na2x1_4.setTexture(na);
    	na2x1_4.setTextureRect(IntRect(150,550,200,100));
    	na2x1_4.setPosition(150,550);
    
    	na2x1_5.setTexture(na);
    	na2x1_5.setTextureRect(IntRect(100,700,200,50));
    	na2x1_5.setPosition(100,700);
    };
    
    void player::Update(RenderWindow &Window)
    {
    	int x,y;
    	x = Mouse::getPosition(Window).x;
    	y = Mouse::getPosition(Window).y;
    	splayer.setPosition(x,y);
    
    	if(splayer.getGlobalBounds().intersects(ziel.getGlobalBounds()))
    	{
    		cout << "Gewonnen!" << endl;
    		system("Pause >nul");
    	}
    
    	if(splayer.getGlobalBounds().intersects(na1x1_1.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na1x1_2.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na1x1_3.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na1x2_1.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na1x2_2.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na1x2_3.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na1x2_4.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na1x2_5.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na1x2_6.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na1x8_1.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na1x8_2.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na2x1_1.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na2x1_2.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na2x1_3.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na2x1_4.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na2x1_5.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}else if(splayer.getGlobalBounds().intersects(na3x2.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    	}
    }
    
    void player::Render(RenderWindow &Window)
    {
    	Window.draw(na1x1_1);
    	Window.draw(na1x1_2);
    	Window.draw(na1x1_3);
    	Window.draw(na1x2_1);
    	Window.draw(na1x2_2);
    	Window.draw(na1x2_3);
    	Window.draw(na1x2_4);
    	Window.draw(na1x2_5);
    	Window.draw(na1x2_6);
    	Window.draw(na1x8_1);
    	Window.draw(na1x8_2);
    	Window.draw(na2x1_1);
    	Window.draw(na2x1_2);
    	Window.draw(na2x1_3);
    	Window.draw(na2x1_4);
    	Window.draw(na2x1_5);
    	Window.draw(na3x2);
    
    	Window.draw(splayer);
    	Window.draw(ziel);
    }
    
    #include <SFML/Graphics.hpp>
    
    using namespace sf;
    
    class player
    {
    public:
    	void Update(RenderWindow &Window);
    	void Render(RenderWindow &Window);
    	explicit player(String tex);
    
    private:
    	Texture ptexture;
    	Sprite splayer;
    	RectangleShape ziel;
    
    	Texture na;
    	Sprite na3x2;
    	Sprite na1x8_1;
    	Sprite na1x8_2;
    	Sprite na1x1_1;
    	Sprite na1x1_2;
    	Sprite na1x1_3;
    	Sprite na1x2_1;
    	Sprite na1x2_2;
    	Sprite na1x2_3;
    	Sprite na1x2_4;
    	Sprite na1x2_5;
    	Sprite na1x2_6;
    	Sprite na2x1_1;
    	Sprite na2x1_2;
    	Sprite na2x1_3;
    	Sprite na2x1_4;
    	Sprite na2x1_5;
    };
    

    das war viel Arbeit, aber ich bin zufrieden 😋



  • ich habe selber noch, ein paar kleine Fehler korrigiert 😃





  • lern schleifen und container. Damit kannst du den Code bestimmt auf die Haelfte reduzieren.



  • war mir klar, ich bin so oder so bereits etwas am ändern, um paar teile zu verkürzen! Funkt zwar noch nicht alles, aber mal schauen 🙄



  • ich verkürze gerade mit vektoren!
    wenn ich auf diesen Vektor "vector<Sprite> na1x1;" zum Beispiel mit "na1x1[0].setTexture(na);" zugreifen will, sagt er, dass das kein deklarierter Bezeichner wäre ... 😕



  • Kopiere mal vollständige Fehlermeldung und gibt mehr Kontext vom Code, der sie erzeugt.



  • Fehler 7 error C2065: 'na1x8': nichtdeklarierter Bezeichner C:\Users\Jojo\documents\visual studio 2012\Projects\SPIEL_01-SFML\SPIEL_01-SFML\player.cpp 21 1 SPIEL_01-SFML

    das beim vektor erstellen:
    Fehler 1 error C2143: Syntaxfehler: Es fehlt ';' vor '<' c:\users\jojo\documents\visual studio 2012\projects\spiel_01-sfml\spiel_01-sfml\player.h 36 1 SPIEL_01-SFML

    Fehler 12 error C2228: Links von ".setPosition" muss sich eine Klasse/Struktur/Union befinden. C:\Users\Jojo\documents\visual studio 2012\Projects\SPIEL_01-SFML\SPIEL_01-SFML\player.cpp 23 1 SPIEL_01-SFML
    Fehler 8 error C2228: Links von ".setTexture" muss sich eine Klasse/Struktur/Union befinden. C:\Users\Jojo\documents\visual studio 2012\Projects\SPIEL_01-SFML\SPIEL_01-SFML\player.cpp 21 1 SPIEL_01-SFML
    Fehler 10 error C2228: Links von ".setTextureRect" muss sich eine Klasse/Struktur/Union befinden. C:\Users\Jojo\documents\visual studio 2012\Projects\SPIEL_01-SFML\SPIEL_01-SFML\player.cpp 22 1 SPIEL_01-SFML
    Fehler 3 error C2238: Unerwartete(s) Token vor ';' c:\users\jojo\documents\visual studio 2012\projects\spiel_01-sfml\spiel_01-sfml\player.h 36 1 SPIEL_01-SFML
    Fehler 6 error C2238: Unerwartete(s) Token vor ';' c:\users\jojo\documents\visual studio 2012\projects\spiel_01-sfml\spiel_01-sfml\player.h 36 1 SPIEL_01-SFML
    Fehler 2 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. c:\users\jojo\documents\visual studio 2012\projects\spiel_01-sfml\spiel_01-sfml\player.h 36 1 SPIEL_01-SFML
    Fehler 5 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. c:\users\jojo\documents\visual studio 2012\projects\spiel_01-sfml\spiel_01-sfml\player.h 36 1 SPIEL_01-SFML
    14 IntelliSense: Der Bezeichner ""na1x8"" ist nicht definiert. c:\Users\Jojo\Documents\Visual Studio 2012\Projects\SPIEL_01-SFML\SPIEL_01-SFML\player.cpp 21 2 SPIEL_01-SFML



  • Sieht danach aus, als sei std::vector nicht richtig bekannt. Header eingebunden?



  • bei player.h ja aber bei player.cpp nein 😃



  • Jetzt sagt er aber, dass ein Typspeziefierer erwartet wurde, bei dem Vektor, der nimmt die Anzahl nicht an
    und wenn ich: "na1x8[1].setTexture..." nutzen will dann bietet er mir gar nicht das set... an



  • FJK-2842 schrieb:

    bei player.h ja aber bei player.cpp nein 😃

    Bei player.h reicht, die bindest du ja in der .cpp ein und dadurch auch alle Header, die sie einbindet.

    Poste bitte mal Code.



  • egal was ich bei na1x8 hinschreibe ("[0]") akzeptiert er nicht .. ebenso wie die anzahl beim vektor

    #include <SFML/Graphics.hpp>
    #include <vector>
    
    using namespace sf;
    
    class player
    {
    public:
    	void Update(RenderWindow &Window);
    	void Render(RenderWindow &Window);
    	explicit player(String tex);
    
    private:
    	RectangleShape splayer;
    	RectangleShape ziel;
    
    	Texture na;
    	Sprite na3x2;
    	Sprite na1x8_1;
    	Sprite na1x8_2;
    	Sprite na1x1_1;
    	Sprite na1x1_2;
    	Sprite na1x1_3;
    	Sprite na1x2_1;
    	Sprite na1x2_2;
    	Sprite na1x2_3;
    	Sprite na1x2_4;
    	Sprite na1x2_5;
    	Sprite na1x2_6;
    	Sprite na2x1_1;
    	Sprite na2x1_2;
    	Sprite na2x1_3;
    	Sprite na2x1_4;
    	Sprite na2x1_5;
    
    	std::vector<String> na1x8(String);
    
    };
    
    #include "player.h"
    #include <iostream>
    #include <Windows.h>
    
    using namespace sf;
    using namespace std;
    
    player::player(String tex)
    {
    	splayer.setSize(Vector2f(40,40));
    	splayer.setOrigin(20,20);
    	splayer.setFillColor(Color::Green);
    
    	ziel.setSize(Vector2f(50,50));
    	ziel.setPosition(200,0);
    	ziel.setFillColor(Color::Red);
    
    	na.loadFromFile("Data\\ground2.png");
    	na.setSmooth(false);
    
    	na1x8.setTexture(na);
    
    	na1x8_1.setTexture(na);
    	na1x8_1.setTextureRect(IntRect(0,0,100,750));
    	na1x8_1.setPosition(0,0);
    
    	na1x8_2.setTexture(na);
    	na1x8_2.setTextureRect(IntRect(650,0,750,750));
    	na1x8_2.setPosition(650,0);
    
    	na3x2.setTexture(na);
    	na3x2.setTextureRect(IntRect(350,600,700,750));
    	na3x2.setPosition(350,600);
    
    	na1x1_1.setTexture(na);
    	na1x1_1.setTextureRect(IntRect(100,0,100,100));
    	na1x1_1.setPosition(100,0);
    
    	na1x1_2.setTexture(na);
    	na1x1_2.setTextureRect(IntRect(250,450,100,100));
    	na1x1_2.setPosition(250,450);
    
    	na1x1_3.setTexture(na);
    	na1x1_3.setTextureRect(IntRect(500,450,100,100));
    	na1x1_3.setPosition(500,450);
    
    	na1x2_1.setTexture(na);
    	na1x2_1.setTextureRect(IntRect(100,300,100,200));
    	na1x2_1.setPosition(100,300);
    
    	na1x2_2.setTexture(na);
    	na1x2_2.setTextureRect(IntRect(250,0,100,150));
    	na1x2_2.setPosition(250,0);
    
    	na1x2_3.setTexture(na);
    	na1x2_3.setTextureRect(IntRect(550,0,100,200));
    	na1x2_3.setPosition(550,0);
    
    	na1x2_4.setTexture(na);
    	na1x2_4.setTextureRect(IntRect(550,200,100,200));
    	na1x2_4.setPosition(550,200);
    
    	na1x2_5.setTexture(na);
    	na1x2_5.setTextureRect(IntRect(400,150,100,200));
    	na1x2_5.setPosition(400,150);
    
    	na1x2_6.setTexture(na);
    	na1x2_6.setTextureRect(IntRect(400,350,100,200));
    	na1x2_6.setPosition(400,350);
    
    	na2x1_1.setTexture(na);
    	na2x1_1.setTextureRect(IntRect(350,0,200,100));
    	na2x1_1.setPosition(350,0);
    
    	na2x1_2.setTexture(na);
    	na2x1_2.setTextureRect(IntRect(150,150,200,100));
    	na2x1_2.setPosition(150,150);
    
    	na2x1_3.setTexture(na);
    	na2x1_3.setTextureRect(IntRect(200,300,200,100));
    	na2x1_3.setPosition(200,300);
    
    	na2x1_4.setTexture(na);
    	na2x1_4.setTextureRect(IntRect(150,550,200,100));
    	na2x1_4.setPosition(150,550);
    
    	na2x1_5.setTexture(na);
    	na2x1_5.setTextureRect(IntRect(100,700,200,50));
    	na2x1_5.setPosition(100,700);
    };
    
    void player::Update(RenderWindow &Window)
    {
    	int x,y;
    	x = Mouse::getPosition(Window).x;
    	y = Mouse::getPosition(Window).y;
    	splayer.setPosition(x,y);
    
    	if(splayer.getGlobalBounds().intersects(ziel.getGlobalBounds()))
    	{
    		cout << "Gewonnen!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}
    
    	if(splayer.getGlobalBounds().intersects(na1x1_1.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na1x1_2.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na1x1_3.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na1x2_1.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na1x2_2.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na1x2_3.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na1x2_4.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na1x2_5.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na1x2_6.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na1x8_1.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na1x8_2.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na2x1_1.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na2x1_2.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na2x1_3.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na2x1_4.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na2x1_5.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}else if(splayer.getGlobalBounds().intersects(na3x2.getGlobalBounds()))
    	{
    		cout << "Verloren!" << endl;
    		system("Pause >nul");
    		Window.close();
    	}
    }
    
    void player::Render(RenderWindow &Window)
    {
    	Window.draw(na1x1_1);
    	Window.draw(na1x1_2);
    	Window.draw(na1x1_3);
    	Window.draw(na1x2_1);
    	Window.draw(na1x2_2);
    	Window.draw(na1x2_3);
    	Window.draw(na1x2_4);
    	Window.draw(na1x2_5);
    	Window.draw(na1x2_6);
    	Window.draw(na1x8_1);
    	Window.draw(na1x8_2);
    	Window.draw(na2x1_1);
    	Window.draw(na2x1_2);
    	Window.draw(na2x1_3);
    	Window.draw(na2x1_4);
    	Window.draw(na2x1_5);
    	Window.draw(na3x2);
    
    	Window.draw(splayer);
    	Window.draw(ziel);
    }
    


  • Du deklarierst keinen vector als Member, sondern eine Funktion, die einene vector zurückgibt. Konstruktoraufrufe müssen in die Initialisierungsliste des Konstruktors. Und du an ein gutes Grundlagenbuch.



  • Ja ich weiß 🙄 😞
    aber könntest du netterweise das jetzt nochmal für "blöde" erklären, wenn nicht okay
    Ich bedanke mich für die Antworten! 👍

    edit:
    Ich leide unter dem Buch "Grundkurs C++", Jürgen Wolf!



  • Ich meine jetzt, wo muss ich den Vektor erstellen und was muss ich noch tun??? 😕



  • Ehrlich: das bringt doch nichts. Wie ich schon sagte: SFML ist zwar relativ einfach zu benutzen, es ist aber trotzdem nicht für Anfänger gedacht. Die Fragen, die du stellst, klingen so als hättest du die ersten 50 Seiten deines Buches gelesen (mal davon abgesehen, dass es von Jürgen Wolf ist) und dann einfach drauf los programmiert. So läuft das leider nicht, so schön es wäre. C++ lernen ist hart und dauert lange, Punkt.

    Der Code, den du jetzt hast, ist so zusammengefrickelt, da hilft es auch nicht, dir zu erklären, wie du jetzt speziell diesen vector verwenden kannst. Lass SFML sein, besorg dir ein gutes Buch (Breymann, Primer, Stroustroup; siehe Buchliste, hier gibts nen Link: https://www.c-plusplus.net/forum/251551)
    und schreib kleine Konsolenprogramme. Ja, das macht weniger Spaß, ist aber nachhaltiger.


Anmelden zum Antworten