#include SFML\Graphics.hpp
//declaramos una funcion donde iniciaremos las figuras, su posicion y su color
void iniciarFigura(sf::RectangleShape &figura, sf::Vector2f const &posicion, sf :: Color const &color);
int main()
{
//########### MECANICAS DEL JUEGO ##############
//Tendremos un jugador que sera el que controlemos, un obstaculo y un enemigo
//moveremos el personaje solo de arriba y abajo, tendra un movimiento constante
//si choca con el obstaculo se reiniciara
//si choca con el enemigo ganamos y cerramos la aplicacion
//##############################################
//Creo mi ventana
sf::RenderWindow window(sf::VideoMode(640 , 480), "Juego simple con figuras");
window.setFramerateLimit(60);
//establecemos la posicion inicial que tomara el jugador
sf::Vector2f posicionInicial = sf::Vector2f(50, 50);
//Creamos la figura que sera nuestro jugador
sf::RectangleShape jugador(sf::Vector2f(50, 50));
//mandamos a llamar a nuestra funcion para determinar la posicion y el color de nuestro jugador
iniciarFigura(jugador, posicionInicial, sf::Color::Yellow);
//Creamos la figura que sera nuestro enemigo
sf::RectangleShape enemigo(sf::Vector2f(50, 50));
//mandamos a llamar a nuestra funcion para determinar la posicion y el color de nuestro enemigo
iniciarFigura(enemigo, sf::Vector2f(400, 50), sf::Color::Red);
//Creamos la figura que sera nuestro obstaculo
sf::RectangleShape obstaculo(sf::Vector2f(50, 100));
//mandamos a llamar a nuestra funcion para determinar la posicion y el color de nuestro obstaculo
iniciarFigura(obstaculo, sf::Vector2f(250, 50), sf::Color::Blue);
//GameLoop
while (window.isOpen())
{
window.clear();
//Dibujamos en la escena nuestras figuras
window.draw(jugador);
window.draw(obstaculo);
window.draw(enemigo);
jugador.move(1, 0);
//si mantienes presionada la tecla de direccion para abajo el personaje baja
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down))
{
jugador.move(0, 1);
}
//si mantienes presionada la tecla de direccion para arriba el personaje sube
if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up))
{
jugador.move(0, -1);
}
//si chocamos o colisionamos con nuestro enemigo ganamos y salimos de la partida
if (jugador.getGlobalBounds().intersects(enemigo.getGlobalBounds()))
{
window.close();
}
//si chocamos o colisionamos con nuestro obstaculo, regresamos a la posicion original
if (jugador.getGlobalBounds().intersects(obstaculo.getGlobalBounds()))
{
jugador.setPosition(posicionInicial);
}
//Eventos
sf::Event event;
//Se manejan los eventos
while (window.pollEvent(event))
{
//Creo una sentencia switch para controlar muchos eventos
switch (event.type)
{
//Cierra la ventana
case sf :: Event::EventType::Closed:
window.close();
break;
default:
break;
}
}
window.display();
}
return 0;
}
//Realizamos nuestra funcion para inicializar nuestras figuras.
void iniciarFigura(sf::RectangleShape &figura, sf::Vector2f const &posicion, sf::Color const &color)
{
figura.setFillColor(color);
figura.setPosition(posicion);
figura.setOrigin(figura.getSize() * 0.5f); //El centro del rectangulo
}
Herramientas Para el Desarrollo de Videojuegos y Lenguajes de Programación en Español
sábado, 25 de abril de 2015
Juego simple con figuras en SFML
Suscribirse a:
Enviar comentarios (Atom)

No hay comentarios:
Publicar un comentario