#include <iostream>
#include <SFML/Graphics.hpp>
#include "ResourcePath.hpp"
#include "DeuxiemeFenetre.hpp"
#include "PremiereFenetre.hpp"
int main(int, char const**){
//Ouvre une/la console...
PremiereFenetre premiereFenetre;
DeuxiemeFenetre deuxiemeFenetre ;
sf::CircleShape petitRond;
//Entre dans la boucle principale, la premièrefenêtre étant la fenêtre qui ouvre et ferme le les autres fenêtre
while(premiereFenetre.fenetreConsole.isOpen()){
//affiche le message de la console
if(premiereFenetre.paroleUtilisateur == 0){
premiereFenetre.poserUneQuestion();
}
//Boucle des événements de la console
sf::Event evenement;
while (premiereFenetre.fenetreConsole.pollEvent(evenement)){
// évènement "fermeture demandée" : on ferme la fenêtre si "escape" ou la croix est cliquée
if ((evenement.type == sf::Event::KeyPressed &&
evenement.key.code == sf::Keyboard::Escape) ||
evenement.type == sf::Event::Closed){
premiereFenetre.fenetreConsole.close();
//... et les autres fenêtres...
}
if (evenement.type == sf::Event::TextEntered && premiereFenetre.paroleUtilisateur == 1 && evenement.text.unicode < 256){
premiereFenetre.tourDeConsole(evenement);
}else if (evenement.type == sf::Event::Resized){
sf::Vector2u tailleFenetre = premiereFenetre.fenetreConsole.getSize();
sf::Vector2f centre(tailleFenetre.x/2, tailleFenetre.y/2);
sf::Vector2f taille(tailleFenetre.x, tailleFenetre.y);
sf::View nouvelleVue(centre, taille);
premiereFenetre.fenetreConsole.setView(nouvelleVue);
}
if(premiereFenetre.emplacement == 50){
if(deuxiemeFenetre.RenderWindow.isOpen() == 0){
deuxiemeFenetre.RenderWindow.create(sf::VideoMode( 2000 , 2000 ), "deuxiemeFenetre");
sf::Vector2u tailleJardin;
sf::Vector2i positionConsole, positionJardin;
int posX, posY;
positionConsole = premiereFenetre.fenetreConsole.getPosition();
tailleJardin = deuxiemeFenetre.RenderWindow.getSize();
posY = positionConsole.y;
posX = positionConsole.x - tailleJardin.x;
if (posX < 2000){
posX = 2000;
positionConsole.x = posX;
premiereFenetre.fenetreConsole.setPosition(positionConsole);
}
posX = posX - tailleJardin.x;
positionJardin.x = posX;
positionJardin.y = posY;
deuxiemeFenetre.RenderWindow.setPosition(positionJardin);
premiereFenetre.fenetreConsole.requestFocus();
petitRond.setScale(1, 1);
petitRond.setOrigin(1, 1);
petitRond.setRadius(250);
petitRond.setPointCount(4);
sf::Color rondCouleur(sf::Color(255,255,0));
petitRond.setFillColor(rondCouleur);
petitRond.setPosition(1000, 1000);
}
}else{
if(deuxiemeFenetre.RenderWindow.isOpen()){
deuxiemeFenetre.RenderWindow.close();
}
}
}
if(deuxiemeFenetre.RenderWindow.isOpen()){
while(deuxiemeFenetre.RenderWindow.pollEvent(evenement)){
// évènement "fermeture demandée" : on ferme la fenêtre si "escape" ou la croix est cliquée
if ((evenement.type == sf::Event::KeyPressed &&
evenement.key.code == sf::Keyboard::Escape) ||
evenement.type == sf::Event::Closed){
deuxiemeFenetre.RenderWindow.close();
}
}
deuxiemeFenetre.RenderWindow.clear(sf::Color::Black);
deuxiemeFenetre.RenderWindow.draw(deuxiemeFenetre.grosRond);
deuxiemeFenetre.RenderWindow.draw(petitRond);
deuxiemeFenetre.RenderWindow.draw(deuxiemeFenetre.petitRectangle);
deuxiemeFenetre.RenderWindow.display();
}
premiereFenetre.fenetreConsole.clear(sf::Color(10,35,10));
premiereFenetre.fenetreConsole.draw(deuxiemeFenetre.petitRectangle);
premiereFenetre.fenetreConsole.draw(deuxiemeFenetre.grosRond);
premiereFenetre.fenetreConsole.draw(petitRond);
premiereFenetre.fenetreConsole.draw(premiereFenetre.texteConsoleAAfficher);
premiereFenetre.fenetreConsole.display();
}
return EXIT_SUCCESS;
}