sfml stuff

PHOTO EMBED

Sun Nov 19 2023 16:20:20 GMT+0000 (Coordinated Universal Time)

Saved by @yolobotoffender

why am i unable to conduct player movements:

#include <iostream>
#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>

using namespace std;

// Initializing Dimensions.
// resolutionX and resolutionY determine the rendering resolution.
// Don't edit unless required. Use functions on lines 43, 44, 45 for resizing the game window.
const int resolutionX = 960;
const int resolutionY = 960;
const int boxPixelsX = 32;
const int boxPixelsY = 32;
const int gameRows = resolutionX / boxPixelsX; // Total rows on grid
const int gameColumns = resolutionY / boxPixelsY; // Total columns on grid

// Initializing GameGrid.
int gameGrid[gameRows][gameColumns] = {};

// The following exist purely for readability.
const int x = 0;
const int y = 1;
const int exists = 2;

/////////////////////////////////////////////////////////////////////////////
//                                                                         //
// Write your functions declarations here. Some have been written for you. //
//                                                                         //
/////////////////////////////////////////////////////////////////////////////

void drawPlayer(sf::RenderWindow& window, float player[], sf::Sprite& playerSprite);
void moveplayer(float player[x][y], sf::Clock& playerClock);
void moveBullet(float bullet[], sf::Clock& bulletClock);
void drawBullet(sf::RenderWindow& window, float bullet[], sf::Sprite& bulletSprite);
void drawShrooms(sf::RenderWindow& window, int shroom[][2], sf::Sprite& shroomSprite,int maxShrooms);
void initializeShrooms(int shroom[][2],int maxShrooms);

int main()
{
	srand(time(0)); 

	// Declaring RenderWindow.
	sf::RenderWindow window(sf::VideoMode(resolutionX, resolutionY), "Centipede", sf::Style::Close | sf::Style::Titlebar);

	// Used to resize your window if it's too big or too small. Use according to your needs.
	window.setSize(sf::Vector2u(640, 640)); // Recommended for 1366x768 (768p) displays.
	//window.setSize(sf::Vector2u(1280, 1280)); // Recommended for 2560x1440 (1440p) displays.
	// window.setSize(sf::Vector2u(1920, 1920)); // Recommended for 3840x2160 (4k) displays.
	
	// Used to position your window on every launch. Use according to your needs.
	window.setPosition(sf::Vector2i(100, 0));

	// Initializing Background Music.
	sf::Music bgMusic;
	bgMusic.openFromFile("Centipede_Skeleton/Music/field_of_hopes.ogg");
	bgMusic.play();
	bgMusic.setVolume(50);

	// Initializing Background.
	sf::Texture backgroundTexture;
	sf::Sprite backgroundSprite;
	backgroundTexture.loadFromFile("Centipede_Skeleton/Textures/background.png");
	backgroundSprite.setTexture(backgroundTexture);
	backgroundSprite.setColor(sf::Color(255, 255, 255, 200)); // Reduces Opacity to 25%

	// Initializing Player and Player Sprites.
	float player[2] = {};
	player[x] = (gameColumns / 2) * boxPixelsX;
	player[y] = (gameColumns * 3 / 4) * boxPixelsY;
	sf::Texture playerTexture;
	sf::Sprite playerSprite;
	playerTexture.loadFromFile("Centipede_Skeleton/Textures/player.png");
	playerSprite.setTexture(playerTexture);
	playerSprite.setTextureRect(sf::IntRect(0, 0, boxPixelsX, boxPixelsY));
	

	// Initializing Bullet and Bullet Sprites.
	float bullet[3] = {};
	bullet[x] = player[x];
	bullet[y] = player[y] - boxPixelsY;
	bullet[exists] = true;
	sf::Clock bulletClock;
	sf::Texture bulletTexture;
	sf::Sprite bulletSprite;
	bulletTexture.loadFromFile("Centipede_Skeleton/Textures/bullet.png");
	bulletSprite.setTexture(bulletTexture);
	bulletSprite.setTextureRect(sf::IntRect(0, 0, boxPixelsX, boxPixelsY));
	
	//initializing shrooms:
	const int maxShrooms = 10;
	int shroom[maxShrooms][2] = {};
        
	sf::Texture shroomTexture;
	sf::Sprite shroomSprite;
	shroomTexture.loadFromFile("Centipede_Skeleton/Textures/mushroom.png");
	shroomSprite.setTexture(shroomTexture);
	shroomSprite.setTextureRect(sf::IntRect(0, 0, boxPixelsX, boxPixelsY));
      
        initializeShrooms(shroom,maxShrooms);           //calling shroom's function to initialize position;
	while(window.isOpen()) {

		///////////////////////////////////////////////////////////////
		//                                                           //
		// Call Your Functions Here. Some have been written for you. //
		// Be vary of the order you call them, SFML draws in order.  //
		//                                                           //
		///////////////////////////////////////////////////////////////

		window.draw(backgroundSprite);
		drawPlayer(window, player, playerSprite);
		if (bullet[exists] == true) {
			moveBullet(bullet, bulletClock);
			drawBullet(window, bullet, bulletSprite);
		}
		
		
		drawShrooms(window,shroom,shroomSprite,maxShrooms);
		
		moveplayer(player[x][y], sf::Clock& playerClock);
		
		
		
		
		
           sf::Event e;
		while (window.pollEvent(e)) {
			if (e.type == sf::Event::Closed) {
				return 0;
			}
		
		}		
		window.display();
		window.clear();
	}
 }

////////////////////////////////////////////////////////////////////////////
//                                                                        //
// Write your functions definitions here. Some have been written for you. //
//                                                                        //
////////////////////////////////////////////////////////////////////////////

void drawPlayer(sf::RenderWindow& window, float player[], sf::Sprite& playerSprite) {
	playerSprite.setPosition(player[x], player[y]);
	window.draw(playerSprite);
}
void moveBullet(float bullet[], sf::Clock& bulletClock) {
	if (bulletClock.getElapsedTime().asMilliseconds() < 20)
		return;

	bulletClock.restart();
	bullet[y] -= 10;	
	if (bullet[y] < -32)
		bullet[exists] = false;
}
void drawBullet(sf::RenderWindow& window, float bullet[], sf::Sprite& bulletSprite) {
	bulletSprite.setPosition(bullet[x], bullet[y]);
	window.draw(bulletSprite);
}


void drawShrooms(sf::RenderWindow& window, int shroom[][2], sf::Sprite& shroomSprite,int maxShrooms){
     
     for(int i=0;i<maxShrooms;i++){
                          
                          
                          
                          shroomSprite.setPosition(shroom[i][x],shroom[i][y]);
                          window.draw(shroomSprite);                            
                                                                                  } 
                                                                                      
                  } 

void initializeShrooms(int shroom[][2],int maxShrooms){
     
     for(int i=0;i<maxShrooms;i++){
                          shroom[i][x] = rand()%gameRows * boxPixelsX;
                          shroom[i][y] = rand()%gameColumns * boxPixelsY;  
                                                                }
                                                                        }
                          
void moveplayer(float player[x][y], sf::Clock& playerClock){
  float movementspeed = 5.0f;
  if(sf::Keyboard::isKeyPressed::(sf::Keyboard::w)){
  player[y] = movementspeed-32; }
  if(sf::Keyboard::isKeypressed::(sf::Keyboard::s)){
  player[y] = movementspeed+32; }
  if(sf::Keyboard::isKeypressed::(sf::Keyboard::d)){
  player[x] = movementspeed+32; }
  if(sf::Keyboard::isKeypressed::(sf::Keyboard::a)){
  player[x] = movementspeed-32; }
    
             }
   
                                                                 } 







content_copyCOPY