Jeu de plateau
Jiko-java
Messages postés
186
Date d'inscription
Statut
Membre
Dernière intervention
-
Jiko-java Messages postés 186 Date d'inscription Statut Membre Dernière intervention -
Jiko-java Messages postés 186 Date d'inscription Statut Membre Dernière intervention -
Bonjour, à tous voilà je suis entrain de codé un petit jeux de société qui se joue a 2 , toute fois je suis confronté à un petit problème quant à ma méthode public static String ChangerJoueur();
par exemple quand le joueur "rouge" a fini son tour j'aimerais que se soit au tour de mon joueur "bleu" de jouer et vice versa , j'ai donc crée une variable temporaire qui me permetra de recueillir la valeur du joueur rouge ou bleu mais ma méthode présente des failles lors de l'exécution autrement dis c'est toujours le joueur rouge qui joue , une âme charitable serait-il en mesure de m'aider ? Merci.
par exemple quand le joueur "rouge" a fini son tour j'aimerais que se soit au tour de mon joueur "bleu" de jouer et vice versa , j'ai donc crée une variable temporaire qui me permetra de recueillir la valeur du joueur rouge ou bleu mais ma méthode présente des failles lors de l'exécution autrement dis c'est toujours le joueur rouge qui joue , une âme charitable serait-il en mesure de m'aider ? Merci.
A voir également:
- Jeu de plateau
- 94 jeu - Télécharger - Puzzle & Réflexion
- 94 degrés jeu - Télécharger - Divers Jeux
- Jeu zuma - Télécharger - Jeux vidéo
- Logo jeu - Télécharger - Jeux vidéo
- Jeux de moto: jeu de course 3d - Télécharger - Course
C'est un peu bizarre, à quoi ça correspond d'avoir des joueurs blanc qui sont rouge et noir qui sont bleu ? C'est a minima très maladroit...
Tu l'as dis, deux String devraient être comparés par la méthode equals, même si ici ça pourrait fonctionner grâce à un mécanisme très technique que tu ne maîtrises sans doute pas (les String intern).
Autre point obscur : que valent les variables Bleu et Rouge ? En tout cas ton extrait de code ne l'indique pas.
Je t'inviterais à regarder comment fonctionnent les enum en Java, il semble que cela soit plus pertinent qu'un String pour manipuler tes joueurs.
https://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
"que valent les variables Bleu et Rouge " je n'comprends pas votre question :/
Mais pour la comparaison de String avec l'opérateur == sa regarde l'égalité révérenciel et pas structurelle non ? donc comment cela pourrait il fonctionner ce mécanisme de "String interne" et dans quelle cas ?
Avant tu avais des variables et que tu as désormais renommé et (avec un et un minuscule) mais on ne sait toujours pas quelle valeur tu donnes aux variables et (avec un et un majuscule) que tu utilises dans ton ... Java est sensible à la casse, donc et ce n'est pas la même variable (idem pour et )
mécanisme de "String interne"
Lorsque je parle de String "intern", je fais référence au résultat de la méthode de la classe String :
https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#intern--
Comme indiqué dans la documentation "All literal strings and string-valued constant expressions are interned". Ici c'est ton cas, quand tu initialises dans c'est un littéral donc il est intern, au même titre que quand tu initialises . Donc une comparaison de pourra se faire avec sur la variable (r minuscule).
En revanche, comme je ne sais pas ce que vaut (avec un R majuscule) je ne peux rien dire sur la comparaison . Mais dans le mesure où tu ne sais pas que ce mécanisme de String intern existe, cela relève de la chance si ça fonctionne. La seule manière propre de faire une comparaison de deux objets, c'est la méthode equals.
Et j'insiste sur le fait que dans ton cas, choisir un String comme type de donnée est une mauvaise idée. Un enum aurait beaucoup plus de sens (et tu pourrais utiliser des sans te poser aucune question).
les voici :
donc selon l'état de la condition JoueurCourant prendras Rouge ou bleu, donc mon jeux se joue a deux , les 2 joueurs possèdent chacun 3 jetons si un des joueurs essaie de déplacer un jeton qu'il ne possèdent pas sur une case son tour passé , par conséquent c'est à l'autre de jouer .. pour ce faire j'utilise ma methode changementDeJoueur() de joueur qui renverras une String que je compare avec la tableau qui est aussi une String mais qui prend un entier "choix". Pour l'Utilisation de Enum pouvez vous m'en dire d'avantage quant à sa fonctionnalité ? et quant au type de retour dans l'utilisation d'une méthode merci