@@ -228,7 +228,7 @@ void explorerSecteurActuel(Vaisseau *joueur) {
228228 if (rand () % 2 == 0 ) {
229229 printf (COLOR_RED "[DANGER] Signature hostile détectée ! Des pirates ont triangulé votre position !\n" COLOR_RESET );
230230 SLEEP_MS (1500 );
231- Vaisseau pirate = genererEnnemi (joueur -> distanceParcourue , rand ( ));
231+ Vaisseau pirate = genererEnnemi (joueur -> distanceParcourue , joueur -> seedSecteur ^ ( joueur -> explorationActuelle * 40503u ));
232232 lancerCombat (joueur , & pirate );
233233 } else {
234234 printf (COLOR_GREEN "[SUCCÈS] Un cargo commercial a capté votre appel !\n" COLOR_RESET );
@@ -261,7 +261,7 @@ void explorerSecteurActuel(Vaisseau *joueur) {
261261 if (jet < 35 ) {
262262 printf (COLOR_RED "[ALERTE] Patrouille hostile repérée !\n" COLOR_RESET );
263263 SLEEP_MS (800 );
264- Vaisseau ennemi = genererEnnemi (joueur -> distanceParcourue , rand ( ));
264+ Vaisseau ennemi = genererEnnemi (joueur -> distanceParcourue , joueur -> seedSecteur ^ ( joueur -> explorationActuelle * 40503u ));
265265 lancerCombat (joueur , & ennemi );
266266 }
267267 else if (jet < 60 ) {
@@ -318,7 +318,7 @@ void executerEvenement(Vaisseau *joueur, const char* type) {
318318 }
319319
320320 if (strcmp (evenementFinal , "Signal Hostile (Combat)" ) == 0 ) {
321- Vaisseau ennemi = genererEnnemi (joueur -> distanceParcourue , joueur -> seedSecteur + rand ()% 1000 );
321+ Vaisseau ennemi = genererEnnemi (joueur -> distanceParcourue , joueur -> seedSecteur ^ ( joueur -> distanceParcourue * 2654435761u ) );
322322 lancerCombat (joueur , & ennemi );
323323 } else if (strcmp (evenementFinal , "Station Commerciale (Magasin)" ) == 0 ) {
324324 ouvrirMagasin (joueur );
@@ -399,7 +399,7 @@ void evenementDetresse(Vaisseau *joueur) {
399399 printf (COLOR_RED "C'EST UN PIÈGE ! Le transporteur était un leurre holographique !\n" COLOR_RESET );
400400 printf ("Un chasseur pirate sort de l'ombre d'un astéroïde !\n" );
401401 SLEEP_MS (1500 );
402- Vaisseau pirate = genererEnnemi (joueur -> distanceParcourue , rand ( ));
402+ Vaisseau pirate = genererEnnemi (joueur -> distanceParcourue , joueur -> seedSecteur ^ ( joueur -> explorationActuelle * 40503u ));
403403 lancerCombat (joueur , & pirate );
404404 }
405405 }
@@ -478,7 +478,7 @@ void evenementEpaveDerivante(Vaisseau *joueur) {
478478 printf ("Le croiseur s'illumine. Les armes se verrouillent sur vous !\n" );
479479 SLEEP_MS (1500 );
480480
481- Vaisseau drone = genererEnnemi (joueur -> distanceParcourue + 2 , rand ( ));
481+ Vaisseau drone = genererEnnemi (joueur -> distanceParcourue + 2 , joueur -> seedSecteur ^ ( joueur -> distanceParcourue * 2654435761u ));
482482 strcpy (drone .nom , "Proto-Croiseur IA (Endommagé)" );
483483 drone .coque = 15 ;
484484 drone .coqueMax = 15 ;
@@ -673,7 +673,7 @@ void evenementMarchandAmbulant(Vaisseau *joueur) {
673673 printf ("\"Espèce de fou ! Vous allez le regretter !\"\n" );
674674 SLEEP_MS (1000 );
675675
676- Vaisseau marchand = genererEnnemi (joueur -> distanceParcourue , rand ( ));
676+ Vaisseau marchand = genererEnnemi (joueur -> distanceParcourue , joueur -> seedSecteur ^ ( joueur -> explorationActuelle * 40503u ));
677677 strcpy (marchand .nom , "Transporteur Armé" );
678678 marchand .coqueMax += 5 ;
679679 marchand .coque = marchand .coqueMax ;
@@ -714,7 +714,7 @@ static void braquageCasino(Vaisseau *joueur) {
714714 SLEEP_MS (1000 );
715715
716716 printf (COLOR_YELLOW "\n--- VAGUE 1/3 : DRONE DE SÉCURITÉ ---\n" COLOR_RESET );
717- Vaisseau drone = genererEnnemi (joueur -> distanceParcourue , rand ( ));
717+ Vaisseau drone = genererEnnemi (joueur -> distanceParcourue , joueur -> seedSecteur ^ ( joueur -> explorationActuelle * 40503u ));
718718 strcpy (drone .nom , "Drone Sécurité Mk1" );
719719 drone .coqueMax = 10 ;
720720 drone .coque = 10 ;
@@ -731,7 +731,7 @@ static void braquageCasino(Vaisseau *joueur) {
731731 printf (COLOR_YELLOW "\n--- VAGUE 2/3 : GARDE D'ÉLITE ---\n" COLOR_RESET );
732732 SLEEP_MS (1000 );
733733 printf ("Les portes blindées s'ouvrent, un vaisseau lourd sort du hangar !\n" );
734- Vaisseau garde = genererEnnemi (joueur -> distanceParcourue + 2 , rand ( ));
734+ Vaisseau garde = genererEnnemi (joueur -> distanceParcourue + 2 , joueur -> seedSecteur ^ ( joueur -> distanceParcourue * 2654435761u ));
735735 strcpy (garde .nom , "Croiseur Blindé Casino" );
736736 garde .coqueMax += 10 ;
737737 garde .coque = garde .coqueMax ;
@@ -749,7 +749,7 @@ static void braquageCasino(Vaisseau *joueur) {
749749 printf (COLOR_RED "\n--- VAGUE 3/3 : LE VAISSEAU DU GÉRANT ---\n" COLOR_RESET );
750750 SLEEP_MS (1000 );
751751 printf ("\"Vous m'avez coûté une fortune ! Vous allez le payer de votre sang !\"\n" );
752- Vaisseau boss = genererEnnemi (joueur -> distanceParcourue + 5 , rand ( ));
752+ Vaisseau boss = genererEnnemi (joueur -> distanceParcourue + 5 , joueur -> seedSecteur ^ ( joueur -> distanceParcourue * 2654435761u ));
753753 strcpy (boss .nom , "Yacht de Luxe Armé" );
754754 boss .coqueMax = 40 ;
755755 boss .coque = 40 ;
@@ -861,7 +861,7 @@ void evenementPeagePirate(Vaisseau *joueur) {
861861 } else {
862862 printf (COLOR_RED "\"Tu te moques de moi ?! T'as même pas de quoi payer ! A L'ATTAQUE !\"\n" COLOR_RESET );
863863 SLEEP_MS (1000 );
864- Vaisseau pirate = genererEnnemi (joueur -> distanceParcourue , rand ( ));
864+ Vaisseau pirate = genererEnnemi (joueur -> distanceParcourue , joueur -> seedSecteur ^ ( joueur -> explorationActuelle * 40503u ));
865865 lancerCombat (joueur , & pirate );
866866 }
867867 }
@@ -877,7 +877,7 @@ void evenementPeagePirate(Vaisseau *joueur) {
877877 else {
878878 printf (COLOR_RED "\n\"A L'ABORDAGE !\"\n" COLOR_RESET );
879879 SLEEP_MS (800 );
880- Vaisseau pirate = genererEnnemi (joueur -> distanceParcourue , rand ( ));
880+ Vaisseau pirate = genererEnnemi (joueur -> distanceParcourue , joueur -> seedSecteur ^ ( joueur -> explorationActuelle * 40503u ));
881881 pirate .coque += 5 ;
882882 lancerCombat (joueur , & pirate );
883883 }
0 commit comments