Pour le videomode(1900,1000) pourquoi c'est trop grand? Et sinon je confirme, j'ai effectivement beaucoup de mal a comprendre mon propre code par moments x)
Je sait pas exactement comment ça se passe pour le videomode, mais moi par exemple mon écran fait quelque chose comme 1360*768, donc ça me créer une erreur (Tu tente de placé un avion dans un maison). Sa pose un problème qui est réglé automatiquement (sa veut pas dire qu'il faut l'oublier).
Sous code::Block pour ce qui est de l'indentation quand tu place par exemple des accolades il te les places tout seul, normalement te suffit juste de rajouter des espaces entre pour ajouté ton code.
Et pour évité d'avoir a géré deux image pour tes "objectif"/"meteor" tu peut utilisé la fonction setFillColor, quand elle est touché tu change juste la couleur.
-----------------------------------------------
Et pour ce qui est de : (l.221)
if(tempsEcoule > seconds(5)) vitesse = 15;
if(tempsEcoule > seconds(10)) vitesse = 20;
if(tempsEcoule > seconds(15)) vitesse = 25;
if(tempsEcoule > seconds(20)) vitesse = 30;
if(tempsEcoule > seconds(25)) vitesse = 35;
Tu pourrai plutot faire quelque chose comme :
vitesse = temps.getElapsedTime().asSeconds()*0.5;
----------------------------------------------------
Petite astuce, a la place de :
if (mitraille) mitraille = false;
if (!mitraille) mitraille = true;
Faire :
mitraille = !mitraille;
Pis je vais m’arrêtez la après on voit que t'est paumé dans ton code et qu'un main() de 700 lignes est pas pratique (Par exemple tu a deux boucle d'event pour fermer ta fenêtre). Continue a faire des petit programme comme ça, et avec le temps tu pensera que la poo et les fonctions c'est trop cool et tu trouvera toi même ton style d'indentation.
Avant tout : ne prend pas mon post comme une critique sur ton jeu, je n'ai fait que regarder ton code et je j'y ai pas joué donc je ne me permet pas de dire qu'il est bon/nul =°
quelques trucs que je comprend pas dans ton code :
mode = false;
modechoice = true;
std::ifstream fichierRead("datad.zft");
using namespace std;
fichierRead.seekg(0, std::ios::beg);
fichierRead >> scoreMax;
std::ostringstream oss6;
oss6 << "Meilleur Score (Difficile): " <<scoreMax;
std::string resultMax = oss6.str();
fichierRead.close();
using namespace sf;
textMax.setString(resultMax);
temps.restart();
Pourquoi placer des namespace a cette endroit ? les namespace ce placent au debut du fichier en dessous des #include et surtout que la tu t'en sert même pas (malgré ton "namespace std;" tu continue de faire std::string )
ensuite quand t'initialise plusieurs int/bool/ect. au lieux de faire
int x = 0;
int y = 0;
[...]
tu peut faire :
int x = 0, int y = 0, [...];
n’hésite pas aussi a passer par des fonctions , par exemple pour l'affichage ou les différent menu.
Quand tu fait une présentation mets des screens même si tu pense que ton jeu est moisi, ainsi ont est moins réticent a l'idée de télécharger en sachant de quoi il s'agit
Après avoir exploré ton code je te conseillerais une chose : continuer ton apprentissage du C/C++ avant d'attaquer la SFML, tu fait beaucoup d'erreur ( les namespace dit plus haut ou le manque d'utilisation des fonctions), ensuite tu verra toute les erreurs que tu a fait et tu pourra même réécrire ton programme en bien moins de lignes ^^
Et pour ce qui est de : (l.221)
if(tempsEcoule > seconds(5)) vitesse = 15;
if(tempsEcoule > seconds(10)) vitesse = 20;
if(tempsEcoule > seconds(15)) vitesse = 25;
if(tempsEcoule > seconds(20)) vitesse = 30;
if(tempsEcoule > seconds(25)) vitesse = 35;
Tu pourrai plutot faire quelque chose comme :
vitesse = temps.getElapsedTime().asSeconds()*0.5;
J'ai essayé, car c'est vrai que c'est en théorie plus fluide, mais je viens de remarquer que ça faisait pas mal lagger le vaisseau en mode facile, de plus en plus au fur et a mesure que le temps avançait....
Si quelqu’un sait d’où ça vient, dites le moi!