I am writing a game of Blackjack in Java where the user plays against the dealer. In order to generate the cards, I use a random number generator to generate the value of the card, assign the value of the card, then choose the image to be displayed with a switch based on the value of the card.
This method works, but it is incredible long just to randomize one card and honestly it has made my code almost unreadable to anyone besides myself. I tried making it into a method of my Card class but the program took ages to deal compared to it happening instantly when I just copy pasted this for every card. Here is an example of what I have right now (I can't figure out the formatting so spacing is a bit off):
Random rand = new Random();
int dealerRNG = rand.nextInt(13) + 1;
dealerCard3.setCardValue(dealerRNG);
switch (dealerRNG) {
case 1:
dealerCard3.setCardImage(ace);
break;
case 2:
dealerCard3.setCardImage(two);
break;
case 3:
dealerCard3.setCardImage(three);
break;
case 4:
dealerCard3.setCardImage(four);
break;
case 5:
dealerCard3.setCardImage(five);
break;
case 6:
dealerCard3.setCardImage(six);
break;
case 7:
dealerCard3.setCardImage(seven);
break;
case 8:
dealerCard3.setCardImage(eight);
break;
case 9:
dealerCard3.setCardImage(nine);
break;
case 10:
dealerCard3.setCardImage(ten);
break;
case 11:
dealerCard3.setCardImage(jack);
break;
case 12:
dealerCard3.setCardImage(queen);
break;
case 13:
dealerCard3.setCardImage(king);
break;
default:
System.out.println("fail");
break;
}
I am sure there is a better way to do this (maybe involving for loops) but I cannot figure it out for the life of me.
Aucun commentaire:
Enregistrer un commentaire