Skip to content

Instantly share code, notes, and snippets.

@nherbaut
Created September 18, 2023 15:09
Show Gist options
  • Select an option

  • Save nherbaut/55ed31b767124f555365758dfc166c18 to your computer and use it in GitHub Desktop.

Select an option

Save nherbaut/55ed31b767124f555365758dfc166c18 to your computer and use it in GitHub Desktop.
Created from MIAGE Code Crafting

Description

Teaching Goals

Hints

import java.util.Random;
import java.util.stream.Collectors;
import java.util.Arrays;
public class Joueur{
public static void main(String ...args){
CardValue[] cards=CardValue.getRandomHand();
showHand(cards);
int maxCardValue=0;
CardValue cardValue=null;
for(int i = 0 ; i< cards.length ; i++){
int maxCardValueLocal=1;
CardValue cardValueLocal=cards[i];
for(int j=i+1;j< cards.length; j++){
if(cardValueLocal==cards[j]){
maxCardValueLocal++;
}
}
if(maxCardValueLocal>maxCardValue){
maxCardValue=maxCardValueLocal;
cardValue=cardValueLocal;
}
else if(maxCardValue==maxCardValueLocal){
if(cardValue.ordinal()>cardValueLocal.ordinal()){
cardValue=cardValueLocal;
}
}
}
System.out.println("Nous avons " + maxCardValue + " " + cardValue);
}
enum CardValue{
ACE,
KING,
QUEEN,
JACK,
TEN,
NINE,
EIGHT,
SEVEN;
private static Random rand = new Random();
public static CardValue drawRandom(){
return (CardValue) (CardValue.class.getEnumConstants()[rand.nextInt(CardValue.class.getEnumConstants().length)]);
}
public static CardValue[] getRandomHand(){
CardValue[] cartes=new CardValue[5];
cartes[0]=CardValue.drawRandom();
cartes[1]=CardValue.drawRandom();
cartes[2]=CardValue.drawRandom();
cartes[3]=CardValue.drawRandom();
cartes[4]=CardValue.drawRandom();
return cartes;
}
}
private static void showHand(CardValue[] hand){
System.out.println(Arrays.stream(hand).map(e -> e.name()).collect(Collectors.joining(" ")));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment