CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

[C#] Impossible de convertir int to bool

News jeu

Expeditions: Samurai veut révolutionner le RPG tactique avec une aventure entièrement jouable en coop

Voir
Nawako
Nawako
Niveau 8
03 décembre 2010 à 18:46:01

Salut,

Je suis en train de coder un petit jeu et je rencontre un probleme que j'arrive pas a régler..

if (attacker.CurrentRage > 0 && attacker.Rage == true)
{
for (int i = attacker.CurrentRage; i = 0; i++)
do
{
min = attacker.AttackDamage * (int).7;
max = attacker.AttackDamage;

damage = rand.Next(min, max);

damage -= defender.CurrentHealth;
if (damage < 0)
damage = 0;
Console.WriteLine("{0} dealt {1} damage to {2} !", attacker.Identifier, damage, defender.Identifier);
} while (defender.CurrentRage != 0);

Donc l'erreur se trouve dans la boucle for, au ;i = 0
ca me dit que ca peux pas convertir un int en bool, mais toute les variables presentes dans le for sont des int.. je comprends vraiment pas.

Et si j'enleve le for et que je fais avec un do/while, le -= damage ne s'applique pas et mon joueur enleve toujours 0 pdv..

Quelqu'un pourrais m'aider? merci

Nawako
Nawako
Niveau 8
03 décembre 2010 à 18:49:49

Ah désolé je viens de me rendre compte de mon erreur si débile :/

Merci et désolé du topic :/

caelacanthe
caelacanthe
Niveau 10
04 décembre 2010 à 10:28:41

dans certaines équipes de développement, on leur dit d'écrire les comparatifs en inversant les opérandes, genre "for (int i = attacker.CurrentRage; 0==i; i++) "

ainsi, dans le cas de l'opérateur de comparaison remplacé par l'opérateur d'affectation (c'est si facile d'oublier un symbole '=' :hap: ), le compilateur se contente de ne pas compiler et d'afficher un message d'erreur :oui:

Aleluhia
Aleluhia
Niveau 10
04 décembre 2010 à 22:04:55

caelacanthe :d) ah c'est pas con ça, j'oublie asser souvent de mettre un second =, je vais utiliser cette technique, merci :-p

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment