Bonjour, j'ai une méthode qui me permet d'affronter de manière aléatoire des combattants, avec un compteur, je limite ces combats à 4 mais. Tout cela marche bien par contre, dans ma liste aléatoire, j'essaie de supprimer les combattants au fur et à mesure qu'ils apparaissent avec "remove" mais sans succès, je pense que c'est encore un souci d'accessibilité, à savoir que mon "remove" ne doit pas rentrer correctement et ce malgré l'endroit où je le met.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
public partial class : Donjon02 : ContentPage
private in nbrCombat = 1;
<!-- Beaucoup de code entre -->
public void LutterEncoreClicked(object sender, EventArgs e)
        {
            Random random = new Random();
            List<Monstre> monstres = new List<Monstre>();
            bool victoire = true;
            nbrCombat++;
 
            monstres.Add(new Monstre("Balouf", 75, 35, 35));
            monstres.Add(new Monstre("Pilaf", 85, 25, 30));
            monstres.Add(new Monstre("Mastor", 100, 35, 40));
            monstres.Add(new Monstre("Gringo", 50, 45, 45));
            monstres.Add(new Monstre("Brutor", 150, 10, 15));
 
            var lutteAleatoire = random.Next(monstres.Count);
            var lutteur = monstres[lutteAleatoire];
 
            if (nbrCombat <= 4)
            {
                while (!lutteur.EstMort())
                {
                    TextSupplementaireHaut.IsVisible = true;
                    TextSupplementaireHaut.Text = "Vous affrontez un nouveau lutteur. C'est\n" + lutteur.ToString() + "\n" + monPerso.Statistiques();
                    monPerso.Attaquer(lutteur);
 
                    if (monPerso.EstMort())
                    {
                        victoire = false;
                        Histoire.Text = "Dommage, vous avez présummé de vos forces et vous voila au tapis.";
                        Histoire.IsVisible = true;
                        DisplayAlert("Echec", "Vous avez perdu, recommencez", "OK");
                        ActionButton14A.IsVisible = false;
                        ActionButton14B.IsVisible = false;
                        LutterEncore.IsVisible = false;
                        StopLutte.IsVisible = false;
                        break;
                    }
                    if (!lutteur.EstMort())
                    {
                        lutteur.Attaquer(monPerso);
                    }
                    if (victoire)
                    {
                        monPerso.GagnerExperience(5);
                        Histoire.IsVisible = true;
                        Histoire.Text = "Vous remportez ce " + nbrCombat + "° combat, à vous de choisir si vous continuez ou vous arretez." + monPerso.Statistiques();
                        ActionButton14A.IsVisible = false;
                        ActionButton14B.IsVisible = false;
                        LutterEncore.IsVisible = true;
                        StopLutte.IsVisible = true;
                        monstres.Remove(lutteur);
                    }
                }
            }
            else
            {
                Histoire.Text = "Bravo, vous avez envoyé au tapis tous vos adversaires. Vous gagnez une bien belle récompense ! Vous gagnez une belle bourse d'or et surtout une splendide <<Epée de Justice>>. C'est trop la classe." +
                   "\nVous récuperez aussi une <<Potion de soin miraculeuse>> que vous buvez de suite. Cela fait du bien. Qu'allez vous faire maintenant ?";
                Histoire.IsVisible = true;
                monPerso.GagnerExperience(30);
                monPerso.GagnerBeaucoupOr();
                monPerso.GagnerPotionsSoinMiraculeux();
                monPerso.RecupererPVPotionDeSoinMiraculeux();
                ActionButton14A.IsVisible = false;
                ActionButton14B.IsVisible = false;
                LutterEncore.IsVisible = false;
                StopLutte.IsVisible = false;
                ActionButton15A.IsVisible = true;
                ActionButton15B.IsVisible = true;
            }
        }
Merci d'avance pour les indications.