"if (this.choice > 2)
this.choice = 1;
if (this.choice < 1)
this.choice = 2;"
T'as peut être simplifier pour les tests, mais ne laisse pas des constantes, ça évitera des bugs (de toute façon c'est une erreur de sémantique).
"if (choice == 1)
spriteBatch.DrawString(font, "Attack", new Vector2(100, 500), choiceColor);
else
spriteBatch.DrawString(font, "Attack", new Vector2(100, 500), defaultColor);
if (choice == 2)
spriteBatch.DrawString(font, "Defend", new Vector2(100, 540), choiceColor);
else
spriteBatch.DrawString(font, "Defend", new Vector2(100, 540), defaultColor);"
Mémorise les élements du menu dans une List (avec une structure : nom sprite, position), et dans Draw tu fait une boucle for avec un si à l'intérieur pour colorer le bon élément :
For(int i=0; i<lesItems.length ; i++) //c'est peut être size à la place de length
if(choice==i)
DrawString( ... ,choiceColor)
else
DrawString( ... ,defaultColor)