Me again. I am still attempting my pong clone. I have movement and everything down. It's just that when I move the paddle up, it continues forever, is there a way to, erm, stop that?
#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
float ballSpeed = 400.0f;
float paddleSpeed = 10000.0f;
float ballVelX = 10;
float ballVelY = 10;
sf::Clock cloc;
sf::Time tim;
bool isPlaying = true;
sf::Vector2i screenSize(800,600);
int main()
{
sf::CircleShape pongBall;
//sf::CircleShape::
pongBall.setFillColor(sf::Color::Red);
pongBall.setRadius(25.0f);
pongBall.setPosition(400, 300);
sf::RectangleShape paddle1;
// sf::RectangleShape::
paddle1.setFillColor(sf::Color::Yellow);
paddle1.setSize(sf::Vector2f(50, 150));
paddle1.setPosition(0, 175);
sf::RectangleShape paddle2;
// sf::RectangleShape::
paddle2.setFillColor(sf::Color::Yellow);
paddle2.setSize(sf::Vector2f(50, 150));
paddle2.setPosition(750, 175);
pongBall.setPosition(400, 300);
paddle1.setPosition(1, 250);
paddle2.setPosition(784, 250);
sf::FloatRect boundingBox = paddle1.getGlobalBounds();
sf::FloatRect boundbox2 = paddle2.getGlobalBounds();
if(boundingBox.intersects(boundbox2)){
}
float t = rand() % 1;
float w = rand() % 1;
sf::RenderWindow window(sf::VideoMode(screenSize.x, screenSize.y), "Pro");
cloc.restart();
while(window.isOpen()){
sf::Event event;
window.pollEvent(event);
if (sf::Keyboard::isKeyPressed(sf::Keyboard::W))
{
// left key is pressed: move our character
paddle1.move(0, -1);
}
if (sf::Event::Closed){
window.close();
}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::S))
{
paddle1.move(0, 1);
}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
{
paddle2.move(0, -1);
if (paddle2.getPosition().x >= window.getPosition().x){
}
}
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down)){
paddle2.move(0, 1);
}
window.clear(sf::Color::Red);
window.draw(paddle1);
window.draw(paddle2);
window.display();
}
}