adrigm
4/25/2013 - 2:51 PM

Pong.cpp

#include "Pong.hpp"
#include "config.hpp"

Pong::Pong()
{
    // Creamos la ventana
	window.create(sf::VideoMode(WIDTH, HEIGHT, BPP), "Pong GenbetaDev", sf::Style::Close);
	// Activa la sincronización vertical (60 fps)
	window.setVerticalSyncEnabled(true);

	// Cargamos la textura desde un archivo
	texture_back.loadFromFile("data/background.png");
	// Asignamos la textura al sprite de fondo
	background.setTexture(texture_back);

	// Se ajusta las posiciones de cada pala
	pad_player.setPosition(40, HEIGHT/2);
	pad_ia.setPosition(WIDTH - 40, HEIGHT/2);

	// Se carga la música de fondo
	music.openFromFile("data/back_music.ogg");
	music.setLoop(true);
	music.play();
}

void Pong::run()
{
	// Game Loop mientras la ventana esté abierta
	while (window.isOpen())
	{
		// Reiniciamos el reloj almacenando el tiempo pasado
		time = clock.restart();

		// Creamos un objeto evento
		sf::Event event;
		// Procesamos la pila de eventos
		while (window.pollEvent(event))
		{
			// Si el evento es de tipo Closed cerramos la ventana
			if (event.type == sf::Event::Closed)
				window.close();
		}

		// Actualizamos los elementos del  juego
		pad_player.updateHuman(time);
		pad_ia.updateIA(time, ball);
		ball.update(time, pad_player.getGlobalBounds(), pad_ia.getGlobalBounds());

		// Dibujamos los elementos del juego
		window.draw(background);
		window.draw(ball);
		window.draw(pad_player);
		window.draw(pad_ia);
		score.show(window);
 
		// Actualizamos la ventana
		window.display();
	}
}