Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

does any one can help me to fix this program, please tell me how do you run the

ID: 3918215 • Letter: D

Question

does any one can help me to fix this program, please tell me how do you run the program and show me the output.

this is an error saying: SFML/Graphics.hpp: No such file or directory compilation terminated.

#include <SFML/Graphics.hpp>

#include <iostream>

using namespace sf;

int main()

{

RenderWindow app(VideoMode(256,256), "15-Puzzle!");

app.setFramerateLimit(60);

Texture t;

t.loadFromFile("images/15.png");

int w = 64;

int grid[6][6] = {0};

Sprite sprite[20];

int n=0;

for (int i=0;i<4;i++)

for (int j=0;j<4;j++)

{

n++;

sprite[n].setTexture(t);

sprite[n].setTextureRect( IntRect(i*w,j*w,w,w) );

grid[i+1][j+1]=n;

}

while (app.isOpen())

{

Event e;

while (app.pollEvent(e))

{

if (e.type == Event::Closed)

app.close();

if (e.type == Event::MouseButtonPressed)

if (e.key.code == Mouse::Left)

{

Vector2i pos = Mouse::getPosition(app);

int x = pos.x/w + 1;

int y = pos.y/w + 1;

int dx=0;

int dy=0;

if (grid[x+1][y]==16) {dx=1; dy=0;};

if (grid[x][y+1]==16) {dx=0; dy=1;};

if (grid[x][y-1]==16) {dx=0; dy=-1;};

if (grid[x-1][y]==16) {dx=-1;dy=0;};

int n = grid[x][y];

grid[x][y] = 16;

grid[x+dx][y+dy] = n;

//animation

sprite[16].move(-dx*w,-dy*w);

float speed=3;

for (int i=0;i<w;i+=speed)

{sprite[n].move(speed*dx,speed*dy);

app.draw(sprite[16]);

app.draw(sprite[n]);

app.display(); }

}

}

app.clear(Color::White);

for (int i=0;i<4;i++)

for (int j=0;j<4;j++)

{

int n = grid[i+1][j+1];

sprite[n].setPosition(i*w,j*w);

app.draw(sprite[n]);

}

app.display();

}

return 0;

}

Explanation / Answer

You are getting this error because during the linking phase, the compiler cannot find the SFML header files. Now installing SFML differs on different IDE like Visual Studio, CodeBlocks, etc.

I would suggest you to go through the tutorial series at https://www.sfml-dev.org/tutorials/2.3/#getting-started to install SFML on your IDE and then run this program.

If you follow the tutorial, then you probably set the path for the .hpp files as just /include, but the .hpp files are really in /include/SFML.

Hence, try modifying the header file to below and run the program again.

#include <include/SFML/Graphics.hpp>