I need a Black Jack Card game Java Program with, card, face value, suit, deck, d
ID: 3632823 • Letter: I
Question
I need a Black Jack Card game Java Program with, card, face value, suit, deck, deal, give user ability to take a card or not, give ability to play again. Basically just a program to enable user to play Black Jack (21). Would like the output to be similar to this:Your Cards
10 9
You have 19
Do you want another? (y/n)
Computer Cards
5,7,8
Computer has 20
Computer wins
Thanks in advance guys! :D
Explanation / Answer
import java.util.*; public class BlackJack { public static void main(String[] args) { Scanner sc=new Scanner(System.in); Deck d=new Deck(); ArrayList yourHand=new ArrayList(); ArrayList computer=new ArrayList(); yourHand.add(d.draw()); yourHand.add(d.draw()); computer.add(d.draw()); computer.add(d.draw()); char c='y'; System.out.println("Your cards"); do{ System.out.println(yourHand.toString().replaceAll("[\[\],]","")); System.out.println("You have "+valueOfHand(yourHand)); System.out.println("Do you want another? (y/n)"); c=sc.nextLine().charAt(0); if(c=='y')yourHand.add(d.draw()); }while(c=='y'); //Here i assume the computer wants at least 16 while(valueOfHand(computer)21 || valueOfHand(computer)>valueOfHand(yourHand))System.out.println("Computer Wins"); else if(valueOfHand(computer)==valueOfHand(yourHand))System.out.println("Tie"); else System.out.println("You win"); } public static int valueOfHand(ArrayList lis) { int i=0; int a=0; for(Card c:lis) { if(c.face.equals("A"))a++; else if(Character.isLetter(c.face.charAt(0)))i+=10; else i+=Integer.parseInt(c.face); } while(a>0) { if(i+a*11>21){ a--; i++; } else { a=0; i+=a*11; } } return i; } } class Deck { ArrayList deck; public Deck() { deck=new ArrayList(); deck.add(new Card("A", "Diamonds")); deck.add(new Card("2", "Diamonds")); deck.add(new Card("3", "Diamonds")); deck.add(new Card("4", "Diamonds")); deck.add(new Card("5", "Diamonds")); deck.add(new Card("6", "Diamonds")); deck.add(new Card("7", "Diamonds")); deck.add(new Card("8", "Diamonds")); deck.add(new Card("9", "Diamonds")); deck.add(new Card("10", "Diamonds")); deck.add(new Card("J", "Diamonds")); deck.add(new Card("Q", "Diamonds")); deck.add(new Card("K", "Diamonds")); deck.add(new Card("A", "Spades")); deck.add(new Card("2", "Spades")); deck.add(new Card("3", "Spades")); deck.add(new Card("4", "Spades")); deck.add(new Card("5", "Spades")); deck.add(new Card("6", "Spades")); deck.add(new Card("7", "Spades")); deck.add(new Card("8", "Spades")); deck.add(new Card("9", "Spades")); deck.add(new Card("10", "Spades")); deck.add(new Card("J", "Spades")); deck.add(new Card("Q", "Spades")); deck.add(new Card("K", "Spades")); deck.add(new Card("A", "Hearts")); deck.add(new Card("2", "Hearts")); deck.add(new Card("3", "Hearts")); deck.add(new Card("4", "Hearts")); deck.add(new Card("5", "Hearts")); deck.add(new Card("6", "Hearts")); deck.add(new Card("7", "Hearts")); deck.add(new Card("8", "Hearts")); deck.add(new Card("9", "Hearts")); deck.add(new Card("10", "Hearts")); deck.add(new Card("J", "Hearts")); deck.add(new Card("Q", "Hearts")); deck.add(new Card("K", "Hearts")); deck.add(new Card("A", "Clubs")); deck.add(new Card("2", "Clubs")); deck.add(new Card("3", "Clubs")); deck.add(new Card("4", "Clubs")); deck.add(new Card("5", "Clubs")); deck.add(new Card("6", "Clubs")); deck.add(new Card("7", "Clubs")); deck.add(new Card("8", "Clubs")); deck.add(new Card("9", "Clubs")); deck.add(new Card("10", "Clubs")); deck.add(new Card("J", "Clubs")); deck.add(new Card("Q", "Clubs")); deck.add(new Card("K", "Clubs")); Collections.shuffle(deck); } public Card draw() { return deck.remove(0); } } class Card { String face; String suit; public Card(String v,String n) { face=v; suit=n; } public String toString() { return face; } }Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.