Results 1 to 2 of 2
  1. #1
    Maarten is offline Member
    Join Date
    Dec 2011
    Location
    Utrecht
    Posts
    24
    Rep Power
    0

    Default program sequences

    Hello,
    I am trying to make a blackjack program. I don't know how to handle the sequence of the program. For example, when I get above 21 points I can get the program to say "You are dead", but you can still take cards which shouldnt be possible. But I don't know how to stop the button "neemKaart" to stop functioning. Is there a way to take the functionality of a button away or to make it dissapear?

    This is my code:

    Java Code:
    import java.awt.*;
    import java.applet.Applet;
    import java.awt.event.*;
    
    public class blackjack4 extends Applet implements ActionListener {
    
           private Deck stapel1;
           private Deck stapel2;
           private Button start;
           private Button neemKaart;
           private Button passen;
           public Boolean kaartGenomen=false;
           public Boolean gepast=false;
           public Boolean gestart=false;
           public int scoreComputer = 0;
    
    
           public void init() {
             stapel1 = new Deck();
             stapel2 = new Deck();
             start = new Button("Start potje blackjack");
             add(start);
             start.addActionListener(this);
    
             passen = new Button("Ik pas");
             passen.addActionListener(this);
    
             neemKaart = new Button("Neem een kaart");
             neemKaart.addActionListener(this);
    
    
           }
    
    
    
    
           public void actionPerformed (ActionEvent gebeurtenis) {
    
                  if (gebeurtenis.getSource() == passen)
                  gepast=true;
                  repaint();
    
                  if (gebeurtenis.getSource() == neemKaart)
                  kaartGenomen = true;
                  repaint();
    
                  if (gebeurtenis.getSource() == start)
                  gestart = true ;
                  add(neemKaart);
                  add(passen);
                  validate();
    
    
           }
    
           public void paint (Graphics g) {
    
      //         stapel1.vulTabel(g);
      //         g.drawString("de waarde van welkeKaart is: " + Integer.toString(welkeKaart), 8,122);
      //         g.drawString("de waarde van kaartGenomen is: " + kaartGenomen, 8,232);
    
               if (gestart == true){
               stapel1.kiesKaart(g);
               stapel1.kiesKaart(g);
               gestart = false;
               repaint();
               }
    
               if (kaartGenomen == true) {
               stapel1.kiesKaart(g);
               kaartGenomen = false;
               repaint();
               }
               int totaal = stapel1.bepaalScore(g, 160, 160);
    
    
    
               if (totaal > 21){
               g.drawString("Je bent dood", 10, 130);
               g.drawString ("Jij verliest het weer",50,250);
               }
               else
               g.drawString("De score is " + totaal, 1, 130);
    
    
    
    
               if (gepast==true) {
               g.drawString("je hebt gepast",2,55);
               gestart = false;
               int totaal2 = stapel2.bepaalScore(g, 18, 170);
               g.drawString("Computer heeft " + totaal2, 1, 140);
    
                  while (stapel2.bepaalScore(g, 18, 170) < 17)
                  stapel2.kiesKaart(g);
    
               if (totaal > 21)
                 g.drawString ("Jij verliest het weer",50,250);
               else
               if
               ((totaal > totaal2) && totaal <22)
                 g.drawString ("Jij wint, goede speler!",50,250);
               else
               if ((totaal < totaal2) && totaal2<22)
                 g.drawString ("Jij verliest het weer",50,250);
               else
               if ((totaal < totaal2) && totaal2>21)
               g.drawString ("Jij wint, goede speler!",50,250);
    
                 }
    
           }
    }
    
    
           class Kaart {
                 public int nummer;
                 public String soort;
                 }
           class Deck  {
    
                  public Kaart[] stapel = new Kaart[52];
                  public Kaart[] totaalIk = new Kaart[20];
                  public Kaart[] totaalComputer = new Kaart[20];
                  public String[] soort = {"harten", "schoppen", "klaver", "ruiten"};
                  private int x=0;
                  private int y=0;
                  private int z=0;
                  private int nummer = 1;
                  int kaartNummer = 0;
                  int kaartNummerIk = 0;
                  int kaartNummerComputer=0;
                  public int welkeKaart;
                  public int dezePlek = 0;
    
    
    
    
                public Deck() {
                  int soortNummer = 0;
                  String soortNaam;
                  soortNaam = soort[soortNummer];
    
                  for (soortNummer=0; soortNummer< 4; soortNummer++)
                      for (nummer = 1; nummer < 14;nummer++){
                  stapel[kaartNummer]=new Kaart();
                  stapel[kaartNummer].nummer=nummer;
                  stapel[kaartNummer].soort= soort[soortNummer];
                  kaartNummer++;}
                  for (kaartNummer=0;kaartNummer<20;kaartNummer++){
                  totaalIk[kaartNummer]= new Kaart();
                  totaalIk[kaartNummer].nummer=0;
                  }
                 }
    
                public void kiesKaart (Graphics g) {
    
                  welkeKaart = (int) (Math.random()*52);
                  totaalIk[dezePlek]= new Kaart();
                  totaalIk[dezePlek].soort=stapel[welkeKaart].soort;
                  totaalIk[dezePlek].nummer=stapel[welkeKaart].nummer;
                  dezePlek = dezePlek +1;
    
                }
                
    
    
    
                public int bepaalScore (Graphics g, int l, int r) {
                 int score = 0;
                 int aasAftrek=0;
    
                 for (kaartNummerIk = 0, z=0;kaartNummerIk<dezePlek;kaartNummerIk++){
                 switch(totaalIk[kaartNummerIk].nummer){
                 case 1: g.drawString(totaalIk[kaartNummerIk].soort + " 2",l,r + z);
                         score = score + 2;break;
                 case 2: g.drawString(totaalIk[kaartNummerIk].soort + " 3",l,r + z);
                         score = score + 3;break;
                 case 3: g.drawString(totaalIk[kaartNummerIk].soort + " 4",l,r + z);
                         score = score + 4;break;
                 case 4: g.drawString(totaalIk[kaartNummerIk].soort + " 5",l,r + z);
                         score = score + 5;break;
                 case 5: g.drawString(totaalIk[kaartNummerIk].soort + " 6",l,r + z);
                         score = score + 6;break;
                 case 6: g.drawString(totaalIk[kaartNummerIk].soort + " 7",l,r + z);
                         score = score + 7;break;
                 case 7: g.drawString(totaalIk[kaartNummerIk].soort + " 8",l,r + z);
                         score = score + 8;break;
                 case 8: g.drawString(totaalIk[kaartNummerIk].soort + " 9",l,r + z);
                         score = score + 9;break;
                 case 9: g.drawString(totaalIk[kaartNummerIk].soort + " 10",l,r + z);
                         score = score + 10;break;
                 case 10: g.drawString(totaalIk[kaartNummerIk].soort + " Boer",l,r + z);
                         score = score + 10;break;
                 case 11: g.drawString(totaalIk[kaartNummerIk].soort + " Vrouw",l,r + z);
                          score = score + 10;break;
                 case 12: g.drawString(totaalIk[kaartNummerIk].soort + " Heer",l,r + z);
                          score = score + 10;break;
                 case 13: g.drawString(totaalIk[kaartNummerIk].soort + " Aas",l,r + z);
                          if (score > 11)
                          score = score + 1;
                          else
                          if (score < 11)
                          score = score + 11;break;
                         }
                         z=z+10;
                         if ((score > 21) && (totaalIk[0].nummer==13 || totaalIk[1].nummer==13 || totaalIk[2].nummer==13 || totaalIk[3].nummer==13 || totaalIk[4].nummer==13 || totaalIk[5].nummer==13 || totaalIk[6].nummer==13 || totaalIk[7].nummer==13 || totaalIk[8].nummer==13) && (aasAftrek==0)){
                           score = score - 10;
                           aasAftrek++;
                         }
    
    
                         
    
    
    
                   }
    
    
               return score;
              }
    }

  2. #2
    Norm's Avatar
    Norm is offline Moderator
    Join Date
    Jun 2008
    Location
    SW Missouri
    Posts
    17,449
    Rep Power
    25

    Default Re: program sequences

    to take the functionality of a button away
    Look at the API doc for the button class. Check if there is a method for disabling the button.

Similar Threads

  1. Possible to ignore escape sequences?
    By lordj in forum New To Java
    Replies: 2
    Last Post: 06-24-2011, 07:26 PM
  2. Replies: 1
    Last Post: 05-26-2011, 10:14 AM
  3. for loops and escape sequences
    By orangefest in forum New To Java
    Replies: 1
    Last Post: 04-19-2009, 08:55 PM
  4. Generating number sequences
    By hawkmauk in forum New To Java
    Replies: 0
    Last Post: 11-15-2007, 03:32 PM
  5. Oracle sequences
    By orchid in forum JDBC
    Replies: 5
    Last Post: 04-19-2007, 03:47 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •