La méthode dans le class Program soulignée en rouge
Utilisateur anonyme -
Bonjour,
j'ai fait un méthode BOOL portant un nom "ValidateAndMove"avec un parametre qui contient 3 type de données .
L'erreur ne s'affiche pas dans le methode mais il s'affiche dans le console. c'est à dire quand je tape Console.WiteLine (ValidateAndMove(playerPositions[0],1," ")); le resultat est souligné en rouge
Que faire??
code :
static bool ValidateAndMove(int[] playerPositions, int currentPlayer, string input){ input = Console.ReadLine(); playerPositions = new int[]{1,2,3}; bool valid = false; switch (input) { case "1": currentPlayer = playerPositions[0]; break; case "2": currentPlayer = playerPositions[1]; break; case "3": currentPlayer = playerPositions[2]; break; case "": case "quit": valid = true; break; default: Console.WriteLine("\nERROR: Enter a value from 1-3. " + "Push ENTER to quit"); break; } Console.WriteLine(input); return valid; } static void Main(string[] args) { ValidateAndMove(playerPositions[0],1," "); //error }
Windows / Edge 103.0.1264.77
- La méthode dans le class Program soulignée en rouge
- Ouvrez cette page. dans le code de la page, modifiez la couleur de fond de la classe .pix. un code de 4 chiffres doit apparaître dans la grille. lequel ? ✓ - Forum Programmation
- Telecommande free clignote rouge - Forum TV & Vidéo
- Pon rouge sfr ✓ - Forum Fibre Optique
- Freeplug rouge ✓ - Forum Réseau
- Plug free rouge - Forum Freebox
10 réponses
Bonjour
pour tes prochains messages, merci de lire ceci https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Parmi les avantages, il y a l'indentation, et dans ton cas, j'ai tenté de corriger ton message mais l'indentation s'est perdue en route. A moins que tu l'aies supprimée toi-même...
Cela rend ton code plus difficile à lire et donc diminue tes chances d'obtenir une aide efficace.
Pour ton problème à proprement parlé, avec la ligne soulignée en rouge, il doit y avoir au moins un message d'erreur.
L'as tu lu? Si oui qu'en as tu compris? Si pas assez pour corriger toi-même cette erreur peux tu le copier coller ici pour qu'on en parle.
static void Main(string[] args){ ValidateAndMove(playerPositions[0],1,""); //erreur } static bool ValidateAndMove(int[] playerPositions, int currentPlayer, string input){ input = Console.ReadLine(); playerPositions = new int[]{1,2,3}; bool valid = false; switch (input){ case "1": currentPlayer = playerPositions[0]; break; case "2": currentPlayer = playerPositions[1]; break; case "3": currentPlayer = playerPositions[2]; break; case "": case "quit": valid = true; break; default: System.Console.WriteLine("\nERROR: Enter a value from 1-3. "+ "Push ENTER to quit"); break; } return valid; }
je doute que le tableau "int [ ] PlayerPositions" a fait un obstacle.
Il est possible de le remplacer par un type de donné "int"
Tu proposes de remplacer un tableau de int par un int.
Mais pourquoi faire?
Que comptais tu faire avec ce tableau, que tu pourrais aussi faire avec un "simple" int ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionJ'ai essayé de changer le tableau int en int simple mais ca pas marché. int simple pour assigner une valeur aux deux variables "CurrentPlayer = PlayerPositions[0]" mais ça pas marché. à mon avis, j'ai mis le tableau int entre les accolades. Le parametre du méthode Boolean contient deux arguments.
dans le resultat , tapez de 1 à 3 pour voir la position et la disponibilite du joueur. Puis une autre entrée s'affiche une autre fois, tapez n'importe quel bouton pour quitter.
Le code :
class Program{ static void Main(string[] args){ bool a = true; while (a == ValidateAndMove(0, "")){ } } static bool ValidateAndMove(int currentPlayer, string input) { Console.WriteLine("enter a number : from 1 to 3 , press on any button to leave "); int[] playerPositions = new int[3] { 1, 2, 3 }; input = Console.ReadLine(); bool valid = !false; switch (input){ case "1": currentPlayer = 1; Console.WriteLine("player position : {0} \t current player : {0}", playerPositions[0], currentPlayer); break; case "2": currentPlayer = 2; Console.WriteLine("player position : {0} \t current player : {0}", playerPositions[1], currentPlayer); break; case "3": currentPlayer = 3; playerPositions[2] = currentPlayer; Console.WriteLine("player position : {0} \t current player : {0}", playerPositions[2], currentPlayer); break; default: valid = false; break; } return valid; } } }
Je veux bien essayer de t'aider mais
- tu ne réponds pas à mes questions
-
je ne comprends rien à ce que tu racontes
-
comme tu ne fais aucun effort avec l'indentation, je n'arrive pas bien à lire ton code.
Bref tu ne me donnes rien pour que je puisse tenter de t'aider...
Merci donc, d'expliquer le plus clairement possible ce que ton code est sensé faire et de l'indenter correctement (si tu utilises Visual Studio, il suffit de supprimer la toute dernière accolade fermante et de la retaper)
j'ai déja repondu à ta question et j'ai dit que je veux essayer d'utiliser tableau int comme étant la position du joueur et puis le int simple en tant que joueur disponible. j'ai assigné une valeure au int simple "Current Player" dans les 3 cases puis je l'ai affiché sur la console
dans le resultat , tapez de 1 à 3 pour voir la position et la disponibilite du joueur. Puis une autre entrée s'affiche une autre fois, tapez n'importe quel bouton pour quitter.
class Program { static void Main(string[] args) { bool a = true; while (a == ValidateAndMove(0, "")) { } } static bool ValidateAndMove(int currentPlayer, string input) { Console.WriteLine("enter a number : 1 --- 3 / press on any button to leave "); int[] playerPositions = new int[3] { 1, 2, 3 }; input = Console.ReadLine(); bool valid = !false; switch (input) { case "1": currentPlayer = 1; Console.WriteLine("player position : {0} \t current player : {0}", playerPositions[0], currentPlayer); break; case "2": currentPlayer = 2; Console.WriteLine("player position : {0} \t current player : {0}", playerPositions[1], currentPlayer); break; case "3": currentPlayer = 3; Console.WriteLine("player position : {0} \t current player : {0}", playerPositions[2], currentPlayer); break; default: valid = false; break; } return valid; } }
Merci pour l'indentation, en prime pourras tu sélectionner C++ à la place de C#. La coloration C# ne marche pas bien pour l'instant.
je ne comprends toujours pas ce que tu veux dire par
j'ai dit que je veux essayer d'utiliser tableau int comme étant la position du joueur et puis le int simple en tant que joueur disponible
La position du joueur par rapport à quoi?
Un joueur disponible c'est quoi ? Un remplaçant ?
C'est quoi le but de ce code ? Et quand je te demande son but c'est pas la solution technique que tu crois devoirs mettre en œuvre, mais plus ou moins la règle du jeu (ou la partie de règle) que doit gérer ce code.
Et enfin, c'est un programme console, il n'y a pas de bouton dans ce mode, c'est les environnements fenêtrés qui peuvent proposer des boutons. Donc qu'appelles tu un bouton?
La position du joueur par rapport au classement. Un joueur disponible c'est le numero du joueur inscrit dans le jeu. C'est pourquoi quand j'écris 1 directement le classment du joueur s'affiche avec le numero du joueur inscrit. :)
Le but c'est de vérifier le numéro du joueur avec le classement
class Program { static void Main(string[] args) { bool a = true; while (a == ValidateAndMove(0, "")) { } } static bool ValidateAndMove(int currentPlayer, string input) { Console.WriteLine("enter a number : 1 --- 3 / press on any button to leave"); int[] playerPositions = new int[3] { 1, 2, 3 }; input = Console.ReadLine(); bool valid = !false; switch (input) { case "1": currentPlayer = 1; Console.WriteLine("player position : {0} \t current player : {0}", playerPositions[0], currentPlayer); break; case "2": currentPlayer = 2; Console.WriteLine("player position : {0} \t current player : {0}", playerPositions[1], currentPlayer); break; case "3": currentPlayer = 3; Console.WriteLine("player position : {0} \t current player : {0}", playerPositions[2], currentPlayer); break; default: valid = false; break; } return valid; } }
Il faut vraiment que tu prennes en compte que ce qui est évident pour toi, parce que tu connais tout le contexte de ton projet, ne l'est pas pour moi car je ne connais que ce que je lis.
Et je ne vois aucun rapport entre le code que tu postes et la description de ce que c'est sensé faire.
Donc pour la dernière fois (après j'abandonne) peux tu décrire clairement et exhaustivement ce que doit faire ton code.