Derniers messages sur Zeste de Savoirhttps://zestedesavoir.com/forums/2020-06-22T22:21:36+02:00Les derniers messages parus sur le forum de Zeste de Savoir.Programme Jeu Yhatzee, message #2228322020-06-22T22:21:36+02:00Migwel/@Migwelhttps://zestedesavoir.com/forums/sujet/13895/programme-jeu-yhatzee/?page=1#p222832<p>Classe Die:</p>
<ul>
<li><code>private int MAX = 6;</code> Généralement, on déclare les constantes <code>private static final</code></li>
<li><code>private static Random generator = new Random();</code> pareil ici (final). Aussi, si je ne m’abuse, tu ne l’utilises nulle part</li>
<li><code>private boolean Blocked;</code> La convention est que les noms d’attributs commencent par une minuscule</li>
<li>Les methodes <code>isBlocked</code>, <code>unblock</code> et <code>block</code> n’ont aucun effet</li>
<li>Je trouve ça bizarre (et pas très POO) d’autoriser le monde extérieur de modifier la valeur de ton dé. Je pense que faceValue ne devrait être modifié que par <code>roll()</code> et rien d’autre</li>
</ul>
<p>Classe DiceHand:</p>
<ul>
<li><code>ArrayList<Die> savedDice = new ArrayList<Die>();</code> Généralement, on utilise les interfaces autant que possible. Aussi, le type n’est pas nécessaire dans le deuxième opérateur diamant (depuis quelque chose comme Java 7). Ca donne <code>List<Die> savedDice = new ArrayList<>();</code></li>
<li>Je doute que cette classe compile. Tu définis une méthode <code>getDie()</code> au milieu de ta méthode <code>main</code></li>
</ul>
<p>Classe Game:</p>
<ul>
<li>Pareil ici pour List au lieu de ArrayList</li>
<li>Tu ne peux pas exécuter une boucle comme ça au début de la classe hors méthode. Une possibilité est d’utiliser <a href="http://heffoudhi-hatim.blogspot.com/2013/09/les-blocs-dinitialisation-en-java.html">un bloc d’initialisation</a>.</li>
<li>La méthode <code>ReRollDice</code> devrait s’appeler <code>rerollDice</code></li>
<li><code>int diceToReRoll = keyboard.nextInt();</code> keyboard n’est pas défini</li>
<li><code>if (lost) return new ArrayList<Die>();</code> lost n’est pas défini</li>
<li><code>return sheet.getRows();</code> sheet n’est pas défini</li>
</ul>
<p>Bon, je vais en rester là. Je pense que tu pourrais déjà trouver beaucoup de choses en compilant et en voyant ce que le compilateur te dit.</p>Programme Jeu Yhatzee, message #2192422020-04-19T11:06:24+02:00Chyne20/@Chyne20https://zestedesavoir.com/forums/sujet/13895/programme-jeu-yhatzee/?page=1#p219242<p>Bonjour ache, </p>
<p>Je vous remercie pour tout investissement mais j’ai fait une erreur, je l’ai déjà envoyé, fait et corrigé. J’aurais du le supprimer du forum. Mais de toute maniére je posterai d’autres programmes,j’espère te retrouver dans les commentaires.</p>
<p>Merci encore.</p>
<p>Cordialement,</p>
<p>Chyne</p>Programme Jeu Yhatzee, message #2191252020-04-17T07:19:29+02:00ache/@achehttps://zestedesavoir.com/forums/sujet/13895/programme-jeu-yhatzee/?page=1#p219125<p>Bonjour et bienvenue ! <img src="/static/smileys/hihi.png" alt="^^" class="smiley"></p>
<p>Je me suis permis de formater le code afin qu’il soit lisible. La prochaine fois, n’oublie pas d’utiliser la fonction <code>Aperçu</code> afin de détecter les problèmes de formatage. <img src="/static/smileys/clin.png" alt=";)" class="smiley"> </p>
<p>Pour ton code, je n’ai pas vraiment eu le temps de regarder. Aurais-tu un dépôt Git que l’on puisse cloner ? Si non, ne t’embêtes pas avec ça c’était simplement une question. </p>
<p>Je regarderais ton code plus en détail quand (si >_<) j’aurais le temps.</p>Programme Jeu Yhatzee, message #2187652020-04-11T18:42:44+02:00Chyne20/@Chyne20https://zestedesavoir.com/forums/sujet/13895/programme-jeu-yhatzee/?page=1#p218765<p>Bonjour,</p>
<p>Je suis débutante en langage informatique et j’ai du programmer un jeu Yhatzee à l’aide d’un TP et des diagrammes de classe qui sont dans le TP. J’aurais besoin d’une vérification, de recommandations, conseils. Il y aura quelque fois des oublis de méthodes c’est dut à une incapacité de le coder. Je ne sais pas comment le coder.
En vous remerciant d’avance pour vos investissements.</p>
<p>Bien à vous,
Chyne</p>
<figure><div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-java"><span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Die</span> </span>{
<span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> MAX = <span class="hljs-number">6</span>; <span class="hljs-comment">// maximum face value</span>
<span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> faceValue; <span class="hljs-comment">// current value showing on the die</span>
<span class="hljs-keyword">private</span> <span class="hljs-keyword">static</span> Random generator = <span class="hljs-keyword">new</span> Random();
<span class="hljs-keyword">private</span> <span class="hljs-keyword">boolean</span> Blocked;
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-title">Die</span><span class="hljs-params">()</span> </span>{
faceValue = <span class="hljs-number">1</span>;
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">boolean</span> <span class="hljs-title">isBlocked</span><span class="hljs-params">()</span> </span>{
<span class="hljs-keyword">return</span> <span class="hljs-keyword">false</span>;
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">unblock</span><span class="hljs-params">(<span class="hljs-keyword">int</span> value)</span> </span>{
<span class="hljs-keyword">int</span> <span class="hljs-keyword">var</span> = <span class="hljs-number">1</span>;
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">block</span><span class="hljs-params">(<span class="hljs-keyword">int</span> value)</span> </span>{
<span class="hljs-keyword">int</span> <span class="hljs-keyword">var</span> = <span class="hljs-number">0</span>;
}
<span class="hljs-comment">// Rolls the die and returns the result.public</span>
<span class="hljs-function"><span class="hljs-keyword">int</span> <span class="hljs-title">rollDie</span><span class="hljs-params">()</span> </span>{
faceValue = (<span class="hljs-keyword">int</span>) (Math.random() * MAX) + <span class="hljs-number">1</span>;
<span class="hljs-keyword">return</span> faceValue;
}
<span class="hljs-comment">// Face value mutator.</span>
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">setFaceValue</span><span class="hljs-params">(<span class="hljs-keyword">int</span> faceValue)</span> </span>{
<span class="hljs-keyword">if</span>( faceValue ><span class="hljs-number">0</span> && faceValue <= MAX)
<span class="hljs-keyword">this</span>.faceValue = faceValue;
}
<span class="hljs-comment">// Face value accessor.</span>
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">int</span> <span class="hljs-title">getFaceValue</span><span class="hljs-params">()</span> </span>{
<span class="hljs-keyword">return</span> faceValue;
}
<span class="hljs-comment">// Returns a string representation of this die.</span>
<span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">toString</span><span class="hljs-params">()</span> </span>{
String result = Integer.toString(faceValue);
<span class="hljs-keyword">return</span> result;
}
}
</code></pre></div><figcaption>Classe <code>Die</code></figcaption></figure>
<figure><div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-java"><span class="hljs-keyword">package</span> model;
<span class="hljs-keyword">import</span> java.util.ArrayList;
<span class="hljs-keyword">import</span> java.util.stream.IntStream;
<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">DiceHand</span> </span>{
ArrayList<Die> savedDice = <span class="hljs-keyword">new</span> ArrayList<Die>();
<span class="hljs-comment">// Constructor</span>
<span class="hljs-function"><span class="hljs-keyword">private</span> <span class="hljs-title">DiceHand</span><span class="hljs-params">()</span></span>{}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span><span class="hljs-params">(String[] args)</span></span>{
<span class="hljs-keyword">int</span> ROLLS = <span class="hljs-number">100000</span>;
<span class="hljs-keyword">int</span> count = <span class="hljs-number">0</span>;
Die die1 = <span class="hljs-keyword">new</span> Die();
Die die2 = <span class="hljs-keyword">new</span> Die();
<span class="hljs-keyword">for</span> (<span class="hljs-keyword">int</span> i = <span class="hljs-number">0</span>; i < ROLLS; i++){
<span class="hljs-keyword">if</span> (die1.rollDie() == <span class="hljs-number">1</span> && die2.rollDie() == <span class="hljs-number">1</span>) {
count++;
}
System.out.println(<span class="hljs-string">"”snake eyes probability:"</span> +(<span class="hljs-keyword">float</span>)count / ROLLS);
}
<span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">getDie</span><span class="hljs-params">()</span> </span>{
<span class="hljs-keyword">return</span> die;
}
<span class="hljs-keyword">int</span>[] die = {<span class="hljs-number">1</span>,<span class="hljs-number">2</span>,<span class="hljs-number">3</span>,<span class="hljs-number">4</span>,<span class="hljs-number">5</span>,<span class="hljs-number">6</span>};
<span class="hljs-keyword">int</span> sum = IntStream.of(die).sum();
System.out.println(<span class="hljs-string">"The sum is"</span> + sum);
}
}
</code></pre></div><figcaption>Classe <code>DiceHand</code></figcaption></figure>
<figure><div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-java"><span class="hljs-keyword">package</span> model;
<span class="hljs-keyword">import</span> java.util.ArrayList;
<span class="hljs-keyword">import</span> java.util.List;
<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Game</span> </span>{
ArrayList<Die> dice = <span class="hljs-keyword">new</span> ArrayList<Die>();
<span class="hljs-keyword">for</span>(
<span class="hljs-keyword">int</span> i = <span class="hljs-number">0</span>;
i< <span class="hljs-number">6</span>;i++)
{
dice.add(<span class="hljs-keyword">new</span> Die());
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">int</span>[] ReRollDice(<span class="hljs-keyword">int</span>[] dice) {
System.out.println(<span class="hljs-string">"What dices do you want to reroll?"</span>);
<span class="hljs-keyword">int</span> diceToReRoll = keyboard.nextInt();
}
Die DieObject = <span class="hljs-keyword">new</span> Die();
<span class="hljs-function"><span class="hljs-keyword">public</span> List<Die> <span class="hljs-title">getDice</span><span class="hljs-params">()</span> </span>{
<span class="hljs-keyword">if</span> (lost) <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> ArrayList<Die>();
<span class="hljs-keyword">return</span> dice;
}
<span class="hljs-function"><span class="hljs-keyword">public</span> List<ScoreRow> <span class="hljs-title">getRows</span><span class="hljs-params">()</span> </span>{
<span class="hljs-keyword">return</span> sheet.getRows(); <span class="hljs-comment">// ou return list of</span>
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">boolean</span> <span class="hljs-title">choose</span><span class="hljs-params">(ScoreRow scoreRow)</span> </span>{
<span class="hljs-keyword">return</span> <span class="hljs-keyword">false</span>;
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">reRoll</span><span class="hljs-params">()</span> </span>{
<span class="hljs-keyword">for</span> (<span class="hljs-keyword">int</span> i = <span class="hljs-number">0</span>; i < die.length; i++) {
die[i] = (<span class="hljs-keyword">int</span>) (Math.random() * <span class="hljs-number">6</span>) + <span class="hljs-number">1</span>;
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">initialRoll</span> <span class="hljs-params">()</span> </span>{
<span class="hljs-keyword">int</span> initialRoll;
initialRoll = die1.roll();
System.out.print(<span class="hljs-string">"Initial roll = "</span> + initialRoll +
<span class="hljs-string">"\nRolling to match:"</span>);
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">boolean</span> <span class="hljs-title">isOver</span> <span class="hljs-params">()</span> </span>{
<span class="hljs-keyword">return</span> one.getHand().empty() || two.getHand().empty();
}
<span class="hljs-keyword">private</span> <span class="hljs-keyword">int</span> List<Die > getHand() {
<span class="hljs-keyword">return</span> hand;
}
}
}
</code></pre></div><figcaption>Classe <code>Game</code></figcaption></figure>
<figure><div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-java"><span class="hljs-keyword">package</span> model;
<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">Chance</span> <span class="hljs-keyword">implements</span> <span class="hljs-title">Chance</span> </span>{
<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">interface</span> <span class="hljs-title">Combination</span> </span>{
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">int</span> <span class="hljs-title">getScore</span><span class="hljs-params">(<span class="hljs-keyword">int</span> roundNumber, <span class="hljs-keyword">int</span> dice5, <span class="hljs-keyword">int</span> dice2, <span class="hljs-keyword">int</span> dice3)</span> </span>{
<span class="hljs-keyword">int</span> score = <span class="hljs-number">21</span>;
<span class="hljs-comment">//sommes des valeurs des dés(1+2+3+4+5+6)</span>
<span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">description</span> <span class="hljs-params">(String Chance)</span></span>{
<span class="hljs-keyword">return</span> Chance;
}
}
}
} <span class="hljs-comment">// @ache: J'ai ajouté cette accolade</span>
</code></pre></div><figcaption>Classe <code>Chance</code></figcaption></figure>
<figure><div class="hljs-code-div"><div class="hljs-line-numbers"><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span><span></span></div><pre><code class="hljs language-java"><span class="hljs-keyword">package</span> model;
<span class="hljs-keyword">public</span> <span class="hljs-class"><span class="hljs-keyword">class</span> <span class="hljs-title">ScoreRow</span> </span>{
<span class="hljs-keyword">private</span> <span class="hljs-keyword">boolean</span> filled;
<span class="hljs-function"><span class="hljs-keyword">private</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span><span class="hljs-params">(String[] args)</span> </span>{
<span class="hljs-keyword">int</span> score = <span class="hljs-number">0</span>;
System.out.println(score);
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">boolean</span> <span class="hljs-title">isFilled</span><span class="hljs-params">()</span> </span>{
<span class="hljs-keyword">return</span> filled;
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">void</span> <span class="hljs-title">reset</span><span class="hljs-params">()</span> </span>{
<span class="hljs-comment">// TODO</span>
}
<span class="hljs-function"><span class="hljs-keyword">public</span> String <span class="hljs-title">description</span><span class="hljs-params">(String Chance)</span> </span>{
<span class="hljs-keyword">return</span> <span class="hljs-string">"Chance"</span>;
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">boolean</span> <span class="hljs-title">isAvailable</span><span class="hljs-params">()</span> </span>{
<span class="hljs-keyword">return</span> <span class="hljs-keyword">false</span>;
}
<span class="hljs-function"><span class="hljs-keyword">public</span> <span class="hljs-keyword">int</span> <span class="hljs-title">getScore</span><span class="hljs-params">()</span> </span>{
<span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;
}
}
</code></pre></div><figcaption>Classe <code>ScoreRow</code></figcaption></figure>
<p>Les diagrammes de classes images
<img src="/media/galleries/10792/13c00b9f-a262-41eb-af57-f714b0e94ca6.png"></p>