commit 70bc23d69d140855498ac05ec97d984194851b9d
parent 64b5f4389dc4bf2da415b617b2a7cba2e1d4debd
Author: Michael Neuper <73108749+michaelneuper@users.noreply.github.com>
Date: Mon, 17 Oct 2022 14:51:03 +0200
fix bugs
Diffstat:
| M | src/view/GUI.form | | | 64 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ |
| M | src/view/GUI.java | | | 84 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- |
2 files changed, 134 insertions(+), 14 deletions(-)
diff --git a/src/view/GUI.form b/src/view/GUI.form
@@ -4,6 +4,9 @@
<Properties>
<Property name="defaultCloseOperation" type="int" value="3"/>
<Property name="title" type="java.lang.String" value="librejack"/>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="66" red="0" type="rgb"/>
+ </Property>
</Properties>
<SyntheticProperties>
<SyntheticProperty name="formSizePolicy" type="int" value="1"/>
@@ -48,6 +51,9 @@
</Container>
<Component class="javax.swing.JLabel" name="jLabelBalance">
<Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Dialog" size="14" style="1"/>
+ </Property>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code=""Balance: " + game.getBalance()" type="code"/>
</Property>
@@ -60,16 +66,25 @@
</Component>
<Component class="javax.swing.JButton" name="jButtonDouble">
<Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Dialog" size="18" style="1"/>
+ </Property>
<Property name="text" type="java.lang.String" value="DOUBLE DOWN"/>
</Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonDoubleActionPerformed"/>
+ </Events>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
- <AbsoluteConstraints x="960" y="510" width="190" height="110"/>
+ <AbsoluteConstraints x="960" y="510" width="190" height="120"/>
</Constraint>
</Constraints>
</Component>
<Component class="javax.swing.JButton" name="jButtonStand">
<Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Dialog" size="18" style="1"/>
+ </Property>
<Property name="text" type="java.lang.String" value="STAND"/>
</Properties>
<Events>
@@ -83,8 +98,14 @@
</Component>
<Component class="javax.swing.JButton" name="jButtonHit">
<Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Dialog" size="18" style="1"/>
+ </Property>
<Property name="text" type="java.lang.String" value="HIT"/>
</Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonHitActionPerformed"/>
+ </Events>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
<AbsoluteConstraints x="960" y="180" width="190" height="110"/>
@@ -93,6 +114,9 @@
</Component>
<Component class="javax.swing.JButton" name="jButtonDeal">
<Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Dialog" size="48" style="1"/>
+ </Property>
<Property name="text" type="java.lang.String" value="DEAL"/>
</Properties>
<Events>
@@ -106,6 +130,9 @@
</Component>
<Component class="javax.swing.JButton" name="jButtonBetAmount">
<Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Dialog" size="14" style="1"/>
+ </Property>
<Property name="text" type="java.lang.String" value="Change Bet Amount"/>
</Properties>
<Events>
@@ -119,6 +146,9 @@
</Component>
<Component class="javax.swing.JLabel" name="jLabelCurrentBet">
<Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Dialog" size="14" style="1"/>
+ </Property>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code=""Current Bet: " + game.getBet()" type="code"/>
</Property>
@@ -131,20 +161,23 @@
</Component>
<Component class="javax.swing.JLabel" name="jLabelResult">
<Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Dialog" size="48" style="1"/>
+ </Property>
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
<Connection code="game.checkWhoWins()" type="code"/>
</Property>
</Properties>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
- <AbsoluteConstraints x="120" y="30" width="460" height="110"/>
+ <AbsoluteConstraints x="120" y="30" width="1120" height="130"/>
</Constraint>
</Constraints>
</Component>
<Component class="javax.swing.JLabel" name="jLabelDisplayDealerHand">
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
- <AbsoluteConstraints x="50" y="290" width="450" height="160"/>
+ <AbsoluteConstraints x="70" y="290" width="440" height="160"/>
</Constraint>
</Constraints>
</Component>
@@ -156,27 +189,46 @@
</Properties>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
- <AbsoluteConstraints x="570" y="290" width="400" height="150"/>
+ <AbsoluteConstraints x="530" y="290" width="400" height="150"/>
</Constraint>
</Constraints>
</Component>
<Component class="javax.swing.JLabel" name="jLabelDealerHand">
<Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Dialog" size="36" style="1"/>
+ </Property>
<Property name="text" type="java.lang.String" value="Dealer's Hand:"/>
</Properties>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
- <AbsoluteConstraints x="120" y="250" width="110" height="30"/>
+ <AbsoluteConstraints x="70" y="250" width="300" height="30"/>
</Constraint>
</Constraints>
</Component>
<Component class="javax.swing.JLabel" name="jLabelPlayerHand">
<Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Dialog" size="36" style="1"/>
+ </Property>
<Property name="text" type="java.lang.String" value="Your Hand:"/>
</Properties>
<Constraints>
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
- <AbsoluteConstraints x="590" y="250" width="90" height="30"/>
+ <AbsoluteConstraints x="540" y="250" width="240" height="30"/>
+ </Constraint>
+ </Constraints>
+ </Component>
+ <Component class="javax.swing.JButton" name="jButtonExit">
+ <Properties>
+ <Property name="text" type="java.lang.String" value="EXIT"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonExitActionPerformed"/>
+ </Events>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout" value="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout$AbsoluteConstraintsDescription">
+ <AbsoluteConstraints x="1132" y="713" width="120" height="50"/>
</Constraint>
</Constraints>
</Component>
diff --git a/src/view/GUI.java b/src/view/GUI.java
@@ -40,9 +40,11 @@ public class GUI extends javax.swing.JFrame {
jLabelDisplayPlayerHand = new javax.swing.JLabel();
jLabelDealerHand = new javax.swing.JLabel();
jLabelPlayerHand = new javax.swing.JLabel();
+ jButtonExit = new javax.swing.JButton();
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle("librejack");
+ setForeground(new java.awt.Color(0, 102, 0));
getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
@@ -58,12 +60,20 @@ public class GUI extends javax.swing.JFrame {
getContentPane().add(jPanel3, new org.netbeans.lib.awtextra.AbsoluteConstraints(710, 110, -1, -1));
+ jLabelBalance.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
jLabelBalance.setText("Balance: " + game.getBalance());
getContentPane().add(jLabelBalance, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 470, 220, 40));
+ jButtonDouble.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
jButtonDouble.setText("DOUBLE DOWN");
- getContentPane().add(jButtonDouble, new org.netbeans.lib.awtextra.AbsoluteConstraints(960, 510, 190, 110));
+ jButtonDouble.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonDoubleActionPerformed(evt);
+ }
+ });
+ getContentPane().add(jButtonDouble, new org.netbeans.lib.awtextra.AbsoluteConstraints(960, 510, 190, 120));
+ jButtonStand.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
jButtonStand.setText("STAND");
jButtonStand.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -72,9 +82,16 @@ public class GUI extends javax.swing.JFrame {
});
getContentPane().add(jButtonStand, new org.netbeans.lib.awtextra.AbsoluteConstraints(960, 340, 190, 110));
+ jButtonHit.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
jButtonHit.setText("HIT");
+ jButtonHit.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonHitActionPerformed(evt);
+ }
+ });
getContentPane().add(jButtonHit, new org.netbeans.lib.awtextra.AbsoluteConstraints(960, 180, 190, 110));
+ jButtonDeal.setFont(new java.awt.Font("Dialog", 1, 48)); // NOI18N
jButtonDeal.setText("DEAL");
jButtonDeal.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -83,6 +100,7 @@ public class GUI extends javax.swing.JFrame {
});
getContentPane().add(jButtonDeal, new org.netbeans.lib.awtextra.AbsoluteConstraints(420, 570, 460, 120));
+ jButtonBetAmount.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
jButtonBetAmount.setText("Change Bet Amount");
jButtonBetAmount.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
@@ -91,29 +109,43 @@ public class GUI extends javax.swing.JFrame {
});
getContentPane().add(jButtonBetAmount, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 580, 220, 60));
+ jLabelCurrentBet.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
jLabelCurrentBet.setText("Current Bet: " + game.getBet());
getContentPane().add(jLabelCurrentBet, new org.netbeans.lib.awtextra.AbsoluteConstraints(60, 520, 200, 50));
+ jLabelResult.setFont(new java.awt.Font("Dialog", 1, 48)); // NOI18N
jLabelResult.setText(game.checkWhoWins());
- getContentPane().add(jLabelResult, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 30, 460, 110));
- getContentPane().add(jLabelDisplayDealerHand, new org.netbeans.lib.awtextra.AbsoluteConstraints(50, 290, 450, 160));
+ getContentPane().add(jLabelResult, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 30, 1120, 130));
+ getContentPane().add(jLabelDisplayDealerHand, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 290, 440, 160));
jLabelDisplayPlayerHand.setText(game.displayPlayerHand());
- getContentPane().add(jLabelDisplayPlayerHand, new org.netbeans.lib.awtextra.AbsoluteConstraints(570, 290, 400, 150));
+ getContentPane().add(jLabelDisplayPlayerHand, new org.netbeans.lib.awtextra.AbsoluteConstraints(530, 290, 400, 150));
+ jLabelDealerHand.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
jLabelDealerHand.setText("Dealer's Hand:");
- getContentPane().add(jLabelDealerHand, new org.netbeans.lib.awtextra.AbsoluteConstraints(120, 250, 110, 30));
+ getContentPane().add(jLabelDealerHand, new org.netbeans.lib.awtextra.AbsoluteConstraints(70, 250, 300, 30));
+ jLabelPlayerHand.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
jLabelPlayerHand.setText("Your Hand:");
- getContentPane().add(jLabelPlayerHand, new org.netbeans.lib.awtextra.AbsoluteConstraints(590, 250, 90, 30));
+ getContentPane().add(jLabelPlayerHand, new org.netbeans.lib.awtextra.AbsoluteConstraints(540, 250, 240, 30));
+
+ jButtonExit.setText("EXIT");
+ jButtonExit.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonExitActionPerformed(evt);
+ }
+ });
+ getContentPane().add(jButtonExit, new org.netbeans.lib.awtextra.AbsoluteConstraints(1132, 713, 120, 50));
pack();
}// </editor-fold>//GEN-END:initComponents
private void jButtonDealActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDealActionPerformed
+ jLabelResult.setText(""); // clear the last result
+ jLabelBalance.setText(Double.toString(game.getBalance())); // update the balance
game.startRound();
jLabelDisplayDealerHand.setText(game.displayDealerFirstCard());
- jLabelDisplayPlayerHand.setText(game.displayPlayerHand());
+ printPlayerHand();
}//GEN-LAST:event_jButtonDealActionPerformed
private void jButtonBetAmountActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonBetAmountActionPerformed
@@ -122,9 +154,35 @@ public class GUI extends javax.swing.JFrame {
}//GEN-LAST:event_jButtonBetAmountActionPerformed
private void jButtonStandActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonStandActionPerformed
- // TODO add your handling code here:
+
+ printDealerHand();
+ jLabelResult.setText(game.checkWhoWins());
+ printDealerHand();
+ jLabelBalance.setText(Double.toString(game.getBalance())); // update the balance
}//GEN-LAST:event_jButtonStandActionPerformed
+ private void jButtonDoubleActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDoubleActionPerformed
+ game.setBet(game.getBet() * 2); // double the bet
+ game.hitPlayer();
+ game.setBet(game.getBet() / 2); // reset bet back to original bet
+ printPlayerHand();
+ printDealerHand();
+ jLabelResult.setText(game.checkWhoWins());
+ jLabelBalance.setText(Double.toString(game.getBalance())); // update the balance
+ }//GEN-LAST:event_jButtonDoubleActionPerformed
+
+ private void jButtonHitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonHitActionPerformed
+ game.hitPlayer();
+ printPlayerHand();
+ printDealerHand();
+ jLabelResult.setText(game.checkWhoWins());
+ jLabelBalance.setText(Double.toString(game.getBalance())); // update the balance
+ }//GEN-LAST:event_jButtonHitActionPerformed
+
+ private void jButtonExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonExitActionPerformed
+
+ }//GEN-LAST:event_jButtonExitActionPerformed
+
/**
* @param args the command line arguments
*/
@@ -159,11 +217,21 @@ public class GUI extends javax.swing.JFrame {
}
});
}
+
+ public void printDealerHand() {
+ jLabelDisplayDealerHand.setText(game.displayDealerHand());
+ }
+
+ public void printPlayerHand() {
+ jLabelDisplayPlayerHand.setText(game.displayPlayerHand());
+
+ }
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton jButtonBetAmount;
private javax.swing.JButton jButtonDeal;
private javax.swing.JButton jButtonDouble;
+ private javax.swing.JButton jButtonExit;
private javax.swing.JButton jButtonHit;
private javax.swing.JButton jButtonStand;
private javax.swing.JLabel jLabelBalance;