java - while loop if statements -
i've got thing working, can't manage the:
if((pscore <= card1 +card2))
statement loop until player either sticks or busts.
from can see, should work... i'm missing detail, , can't figure out what.
import java.util.random; import java.util.scanner; class blackjack { public static void main(string[] args) { random r = new random(); string name; scanner scannerin = new scanner(system.in); boolean yourturn = true; boolean dealersturn =true; int card1 = 1 + r.nextint(11); int card2 = 1 + r.nextint(11); int dcard1 = 1 + r.nextint(11); int dcard2 = 1 + r.nextint(11); int pscore = card1 +card2; int dscore = dcard1 +dcard2; system.out.println("welcome blackjack ! " ); system.out.println("\nscore close 21 without going on win "); system.out.println("\nwhat name?"); name = scannerin.nextline(); system.out.println("\nhello " + name); system.out.println("\nlet's play blackjack!"); system.out.println("\nthe dealer shows:\t" +dcard1 ); system.out.println("\n\nyour first card is:\t " +card1 ); system.out.println("\nyour second card is:\t" +card2 ); system.out.println("\ngiving grand total of: " +pscore ); while (yourturn) { if ((pscore <= +card1 +card2)) system.out.println("\nwould (h)it or (s)tick?"); string = scannerin.nextline(); if(a.tolowercase().equals("h")) { int newcard = 1 + r.nextint(11); system.out.println("\nyour next card " +newcard ); pscore = pscore +newcard; system.out.println("\ngiving new total of "+pscore); if ((pscore >=22)) { system.out.println("\nyou busted! \nsorry! lose"); yourturn = false;break; } } else if(a.tolowercase().equals("s")) { yourturn = false; system.out.println("\nyou stick @ " +pscore ); system.out.println("\nnow it's dealers turn\n dealer must draw until 17"); } else { system.out.println("\nplease press h or s"); } while (dealersturn) { dealersturn = true; { if ((dscore <= dcard1+dcard2)) system.out.println("\nthe dealers cards were:\n " +dcard1); system.out.println("\nand\n" +dcard2); system.out.println("\ngiving dealer grand total of: " +dscore ); } { int newcard1 = 1 + r.nextint(11); if ((dscore<=17)) system.out.println("\nthe dealer draws a: " +newcard1 ); dscore = dscore +newcard1; system.out.println("\ngiving dealer grand total of: "+dscore); } if ((dscore >=22)) { system.out.println("\ndealer bust!"); system.out.println("\nthe house loses"); system.out.println("\nyou win"); dealersturn = false;break; } else if ((dscore >=pscore)) { system.out.println("\ndealer has " +dscore); system.out.println("\nthe dealer beat you!"); system.out.println("\nthe house wins!"); dealersturn = false;break; } } } scannerin.close(); } }
also, have bunch of people thank, helping me far. if there +1 button people can't find it.
thanks vincent.
your while(yourturn) loop not close bracket until after while(dealerturn) loop. causing dealers turn part of yourturn loop. add closing bracket above dealersturn while loop follows:
} while (dealersturn) {
then remove old closing bracket bottom above "scannerin.close()"
but also, purpose of logic
if ((pscore <= +card1 +card2))
your score = card1 + card2 , if draw card score greater 2 cards since have 3 cards now. why not entering if statement.
Comments
Post a Comment