commit a52e19abf0eb5ea3f9604d1623476ea08d54a722
parent 8a5b362e6a5bac7f27fc0b489b218ae2a9002ad1
Author: Michael Neuper <michael@michaelneuper.com>
Date: Sun, 21 May 2023 12:01:11 +0200
Merge branch 'ui-redesign'
Diffstat:
170 files changed, 3355 insertions(+), 15841 deletions(-)
diff --git a/.gitignore b/.gitignore
@@ -1,5 +1,7 @@
build/
-dist/
+dist/lib/
+dist/README.txt
+dist/librejack.jar
target/
db/
.idea/
diff --git a/README.md b/README.md
@@ -1,6 +1,6 @@
# librejack
-
+


diff --git a/docs/allclasses-frame.html b/docs/allclasses-frame.html
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>All Classes (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-</head>
-<body>
-<h1 class="bar">All Classes</h1>
-<div class="indexContainer">
-<ul>
-<li><a href="model/Card.html" title="class in model" target="classFrame">Card</a></li>
-<li><a href="model/Card.Rank.html" title="enum in model" target="classFrame">Card.Rank</a></li>
-<li><a href="model/Card.Suit.html" title="enum in model" target="classFrame">Card.Suit</a></li>
-<li><a href="controller/Controller.html" title="class in controller" target="classFrame">Controller</a></li>
-<li><a href="model/Dealer.html" title="class in model" target="classFrame">Dealer</a></li>
-<li><a href="model/Deck.html" title="class in model" target="classFrame">Deck</a></li>
-<li><a href="controller/Hand.html" title="class in controller" target="classFrame">Hand</a></li>
-<li><a href="controller/LoginController.html" title="class in controller" target="classFrame">LoginController</a></li>
-<li><a href="view/LoginGUI.html" title="class in view" target="classFrame">LoginGUI</a></li>
-<li><a href="view/MainGUI.html" title="class in view" target="classFrame">MainGUI</a></li>
-<li><a href="model/Person.html" title="class in model" target="classFrame">Person</a></li>
-<li><a href="model/Player.html" title="class in model" target="classFrame">Player</a></li>
-<li><a href="model/Statistics.html" title="class in model" target="classFrame">Statistics</a></li>
-<li><a href="view/StatisticsGUI.html" title="class in view" target="classFrame">StatisticsGUI</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/docs/allclasses-noframe.html b/docs/allclasses-noframe.html
@@ -1,33 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>All Classes (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-</head>
-<body>
-<h1 class="bar">All Classes</h1>
-<div class="indexContainer">
-<ul>
-<li><a href="model/Card.html" title="class in model">Card</a></li>
-<li><a href="model/Card.Rank.html" title="enum in model">Card.Rank</a></li>
-<li><a href="model/Card.Suit.html" title="enum in model">Card.Suit</a></li>
-<li><a href="controller/Controller.html" title="class in controller">Controller</a></li>
-<li><a href="model/Dealer.html" title="class in model">Dealer</a></li>
-<li><a href="model/Deck.html" title="class in model">Deck</a></li>
-<li><a href="controller/Hand.html" title="class in controller">Hand</a></li>
-<li><a href="controller/LoginController.html" title="class in controller">LoginController</a></li>
-<li><a href="view/LoginGUI.html" title="class in view">LoginGUI</a></li>
-<li><a href="view/MainGUI.html" title="class in view">MainGUI</a></li>
-<li><a href="model/Person.html" title="class in model">Person</a></li>
-<li><a href="model/Player.html" title="class in model">Player</a></li>
-<li><a href="model/Statistics.html" title="class in model">Statistics</a></li>
-<li><a href="view/StatisticsGUI.html" title="class in view">StatisticsGUI</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/docs/constant-values.html b/docs/constant-values.html
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Constant Field Values (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Constant Field Values (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li><a href="deprecated-list.html">Deprecated</a></li>
-<li><a href="index-files/index-1.html">Index</a></li>
-<li><a href="help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="index.html?constant-values.html" target="_top">Frames</a></li>
-<li><a href="constant-values.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
-<h2 title="Contents">Contents</h2>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li><a href="deprecated-list.html">Deprecated</a></li>
-<li><a href="index-files/index-1.html">Index</a></li>
-<li><a href="help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="index.html?constant-values.html" target="_top">Frames</a></li>
-<li><a href="constant-values.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/controller/Controller.html b/docs/controller/Controller.html
@@ -1,520 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:37 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Controller (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Controller (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Controller.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev Class</li>
-<li><a href="../controller/Hand.html" title="class in controller"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?controller/Controller.html" target="_top">Frames</a></li>
-<li><a href="Controller.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">controller</div>
-<h2 title="Class Controller" class="title">Class Controller</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>controller.Controller</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Controller</span>
-extends java.lang.Object</pre>
-<div class="block"><p>
- The Controller class is responsible for handling most of the game logic for a
- Blackjack game.</p>
- <p>
- It creates a new instance of the Dealer and Player classes, initializes the
- deck with a new shuffled and populated Deck object, and keeps track of the
- bet and balance of the player. It also keeps track of game statistics using a
- Statistics object.</p></div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Michael Neuper
- <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../controller/Controller.html#Controller--">Controller</a></span>()</code>
-<div class="block">Creates a new instance of the Controller class.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Controller.html#checkWhoWins--">checkWhoWins</a></span>()</code>
-<div class="block">Checks who wins the game and returns a message indicating the result.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Controller.html#displayDealerFirstCard--">displayDealerFirstCard</a></span>()</code> </td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Controller.html#displayDealerFirstCardValue--">displayDealerFirstCardValue</a></span>()</code> </td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Controller.html#displayDealerHand--">displayDealerHand</a></span>()</code> </td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Controller.html#displayDealerHandValue--">displayDealerHandValue</a></span>()</code> </td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Controller.html#displayPlayerHand--">displayPlayerHand</a></span>()</code> </td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Controller.html#displayPlayerHandValue--">displayPlayerHandValue</a></span>()</code> </td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Controller.html#getBalance--">getBalance</a></span>()</code>
-<div class="block">Gets the current player's balance.</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Controller.html#getBet--">getBet</a></span>()</code>
-<div class="block">Gets the current player's bet.</div>
-</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Controller.html#hitPlayer--">hitPlayer</a></span>()</code>
-<div class="block">Hits the player with a card.</div>
-</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Controller.html#setBalance-double-">setBalance</a></span>(double balance)</code>
-<div class="block">Sets the current player's balance.</div>
-</td>
-</tr>
-<tr id="i11" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Controller.html#setBet-double-">setBet</a></span>(double bet)</code>
-<div class="block">Sets the current player's bet.</div>
-</td>
-</tr>
-<tr id="i12" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Controller.html#startRound--">startRound</a></span>()</code>
-<div class="block">
- Starts a new round of the game.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Controller--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Controller</h4>
-<pre>public Controller()</pre>
-<div class="block">Creates a new instance of the Controller class. Initializes the dealer
- and player, the deck and discarded decks, and the bet and balance of the
- player. The deck is also populated and shuffled.</div>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="getBet--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getBet</h4>
-<pre>public double getBet()</pre>
-<div class="block">Gets the current player's bet.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the current player's bet</dd>
-</dl>
-</li>
-</ul>
-<a name="setBet-double-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setBet</h4>
-<pre>public void setBet(double bet)</pre>
-<div class="block">Sets the current player's bet. If it is greater than the total balance,
- an error is displayed.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>bet</code> - the bet amount</dd>
-</dl>
-</li>
-</ul>
-<a name="getBalance--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getBalance</h4>
-<pre>public double getBalance()</pre>
-<div class="block">Gets the current player's balance.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the current player's balance</dd>
-</dl>
-</li>
-</ul>
-<a name="setBalance-double-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setBalance</h4>
-<pre>public void setBalance(double balance)</pre>
-<div class="block">Sets the current player's balance.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>balance</code> - </dd>
-</dl>
-</li>
-</ul>
-<a name="startRound--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>startRound</h4>
-<pre>public void startRound()</pre>
-<div class="block"><p>
- Starts a new round of the game.</p>
- <p>
- Discards the dealer and player hands to the discarded deck if there are
- no cards left, and reloads the deck from the discarded deck if there are
- fewer than four cards left. Deals two cards to the dealer and two cards
- to the player.</p></div>
-</li>
-</ul>
-<a name="checkWhoWins--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>checkWhoWins</h4>
-<pre>public java.lang.String checkWhoWins()</pre>
-<div class="block">Checks who wins the game and returns a message indicating the result.
- Increments game statistics for wins, losses, and pushes.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a message indicating the result of the game</dd>
-</dl>
-</li>
-</ul>
-<a name="hitPlayer--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>hitPlayer</h4>
-<pre>public void hitPlayer()</pre>
-<div class="block">Hits the player with a card.</div>
-</li>
-</ul>
-<a name="displayPlayerHand--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>displayPlayerHand</h4>
-<pre>public java.lang.String displayPlayerHand()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>player hand</dd>
-</dl>
-</li>
-</ul>
-<a name="displayPlayerHandValue--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>displayPlayerHandValue</h4>
-<pre>public java.lang.String displayPlayerHandValue()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the value of the player's hand</dd>
-</dl>
-</li>
-</ul>
-<a name="displayDealerHand--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>displayDealerHand</h4>
-<pre>public java.lang.String displayDealerHand()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>dealer hand</dd>
-</dl>
-</li>
-</ul>
-<a name="displayDealerHandValue--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>displayDealerHandValue</h4>
-<pre>public java.lang.String displayDealerHandValue()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>value of dealer's hand</dd>
-</dl>
-</li>
-</ul>
-<a name="displayDealerFirstCard--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>displayDealerFirstCard</h4>
-<pre>public java.lang.String displayDealerFirstCard()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>dealer's first card</dd>
-</dl>
-</li>
-</ul>
-<a name="displayDealerFirstCardValue--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>displayDealerFirstCardValue</h4>
-<pre>public java.lang.String displayDealerFirstCardValue()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>value of the first card</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Controller.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev Class</li>
-<li><a href="../controller/Hand.html" title="class in controller"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?controller/Controller.html" target="_top">Frames</a></li>
-<li><a href="Controller.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/controller/Hand.html b/docs/controller/Hand.html
@@ -1,376 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:37 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Hand (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Hand (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Hand.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../controller/Controller.html" title="class in controller"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../controller/LoginController.html" title="class in controller"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?controller/Hand.html" target="_top">Frames</a></li>
-<li><a href="Hand.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">controller</div>
-<h2 title="Class Hand" class="title">Class Hand</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>controller.Hand</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Hand</span>
-extends java.lang.Object</pre>
-<div class="block">Contains methods to calculate the value of a hand, take cards from a deck and
- discard the hand to a deck.</div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Michael Neuper
- <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../controller/Hand.html#Hand--">Hand</a></span>()</code>
-<div class="block">Creates a new empty Hand object.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Hand.html#calculateValue--">calculateValue</a></span>()</code>
-<div class="block">Calculates the value of a hand.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Hand.html#discardHandToDeck-model.Deck-">discardHandToDeck</a></span>(<a href="../model/Deck.html" title="class in model">Deck</a> discardDeck)</code>
-<div class="block">Discards the current hand and adds its cards to the specified discard
- deck.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code><a href="../model/Card.html" title="class in model">Card</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Hand.html#getCard-int-">getCard</a></span>(int i)</code>
-<div class="block">Gets the card at a specific index.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Hand.html#takeCardFromDeck-model.Deck-">takeCardFromDeck</a></span>(<a href="../model/Deck.html" title="class in model">Deck</a> deck)</code>
-<div class="block">Adds a card from the deck to the hand.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/Hand.html#toString--">toString</a></span>()</code>
-<div class="block">Returns a string representation of the current hand.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Hand--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Hand</h4>
-<pre>public Hand()</pre>
-<div class="block">Creates a new empty Hand object.</div>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="takeCardFromDeck-model.Deck-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>takeCardFromDeck</h4>
-<pre>public void takeCardFromDeck(<a href="../model/Deck.html" title="class in model">Deck</a> deck)</pre>
-<div class="block">Adds a card from the deck to the hand.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>deck</code> - deck to take card from</dd>
-</dl>
-</li>
-</ul>
-<a name="calculateValue--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>calculateValue</h4>
-<pre>public int calculateValue()</pre>
-<div class="block">Calculates the value of a hand.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>value value of the hand</dd>
-</dl>
-</li>
-</ul>
-<a name="getCard-int-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCard</h4>
-<pre>public <a href="../model/Card.html" title="class in model">Card</a> getCard(int i)</pre>
-<div class="block">Gets the card at a specific index.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>i</code> - the index of the card or get</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the card at index i</dd>
-</dl>
-</li>
-</ul>
-<a name="discardHandToDeck-model.Deck-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>discardHandToDeck</h4>
-<pre>public void discardHandToDeck(<a href="../model/Deck.html" title="class in model">Deck</a> discardDeck)</pre>
-<div class="block">Discards the current hand and adds its cards to the specified discard
- deck.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>discardDeck</code> - the deck to which the current hand's cards will be
- added</dd>
-</dl>
-</li>
-</ul>
-<a name="toString--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public java.lang.String toString()</pre>
-<div class="block">Returns a string representation of the current hand.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code> in class <code>java.lang.Object</code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a string representation of the current hand</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Hand.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../controller/Controller.html" title="class in controller"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../controller/LoginController.html" title="class in controller"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?controller/Hand.html" target="_top">Frames</a></li>
-<li><a href="Hand.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/controller/LoginController.html b/docs/controller/LoginController.html
@@ -1,299 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:37 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LoginController (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="LoginController (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LoginController.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../controller/Hand.html" title="class in controller"><span class="typeNameLink">Prev Class</span></a></li>
-<li>Next Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?controller/LoginController.html" target="_top">Frames</a></li>
-<li><a href="LoginController.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">controller</div>
-<h2 title="Class LoginController" class="title">Class LoginController</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>controller.LoginController</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">LoginController</span>
-extends java.lang.Object</pre>
-<div class="block"><p>
- Controller for handling user login.</p>
- <p>
- Validates all login fields.</p></div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Michael Neuper
- <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../controller/LoginController.html#LoginController--">LoginController</a></span>()</code> </td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../controller/LoginController.html#areAllFieldsValid-java.lang.String-java.lang.String-java.util.Date-java.lang.String-">areAllFieldsValid</a></span>(java.lang.String email,
- java.lang.String mobileNumber,
- java.util.Date date,
- java.lang.String password)</code>
-<div class="block">Checks whether all the entered fields are present and valid.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="LoginController--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>LoginController</h4>
-<pre>public LoginController()</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="areAllFieldsValid-java.lang.String-java.lang.String-java.util.Date-java.lang.String-">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>areAllFieldsValid</h4>
-<pre>public boolean areAllFieldsValid(java.lang.String email,
- java.lang.String mobileNumber,
- java.util.Date date,
- java.lang.String password)</pre>
-<div class="block">Checks whether all the entered fields are present and valid.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>email</code> - </dd>
-<dd><code>mobileNumber</code> - </dd>
-<dd><code>date</code> - </dd>
-<dd><code>password</code> - </dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if all fields are valid, false otherwise</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LoginController.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../controller/Hand.html" title="class in controller"><span class="typeNameLink">Prev Class</span></a></li>
-<li>Next Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?controller/LoginController.html" target="_top">Frames</a></li>
-<li><a href="LoginController.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/controller/class-use/Controller.html b/docs/controller/class-use/Controller.html
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class controller.Controller (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class controller.Controller (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../controller/Controller.html" title="class in controller">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?controller/class-use/Controller.html" target="_top">Frames</a></li>
-<li><a href="Controller.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class controller.Controller" class="title">Uses of Class<br>controller.Controller</h2>
-</div>
-<div class="classUseContainer">No usage of controller.Controller</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../controller/Controller.html" title="class in controller">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?controller/class-use/Controller.html" target="_top">Frames</a></li>
-<li><a href="Controller.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/controller/class-use/Hand.html b/docs/controller/class-use/Hand.html
@@ -1,182 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class controller.Hand (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class controller.Hand (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../controller/Hand.html" title="class in controller">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?controller/class-use/Hand.html" target="_top">Frames</a></li>
-<li><a href="Hand.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class controller.Hand" class="title">Uses of Class<br>controller.Hand</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../controller/Hand.html" title="class in controller">Hand</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#model">model</a></td>
-<td class="colLast"> </td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="model">
-<!-- -->
-</a>
-<h3>Uses of <a href="../../controller/Hand.html" title="class in controller">Hand</a> in <a href="../../model/package-summary.html">model</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../model/package-summary.html">model</a> that return <a href="../../controller/Hand.html" title="class in controller">Hand</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../controller/Hand.html" title="class in controller">Hand</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Person.</span><code><span class="memberNameLink"><a href="../../model/Person.html#getHand--">getHand</a></span>()</code>
-<div class="block">Returns the hand of the person.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../model/package-summary.html">model</a> with parameters of type <a href="../../controller/Hand.html" title="class in controller">Hand</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Person.</span><code><span class="memberNameLink"><a href="../../model/Person.html#setHand-controller.Hand-">setHand</a></span>(<a href="../../controller/Hand.html" title="class in controller">Hand</a> hand)</code>
-<div class="block">Sets the hand of the person.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../controller/Hand.html" title="class in controller">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?controller/class-use/Hand.html" target="_top">Frames</a></li>
-<li><a href="Hand.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/controller/class-use/LoginController.html b/docs/controller/class-use/LoginController.html
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class controller.LoginController (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class controller.LoginController (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../controller/LoginController.html" title="class in controller">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?controller/class-use/LoginController.html" target="_top">Frames</a></li>
-<li><a href="LoginController.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class controller.LoginController" class="title">Uses of Class<br>controller.LoginController</h2>
-</div>
-<div class="classUseContainer">No usage of controller.LoginController</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../controller/LoginController.html" title="class in controller">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?controller/class-use/LoginController.html" target="_top">Frames</a></li>
-<li><a href="LoginController.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/controller/package-frame.html b/docs/controller/package-frame.html
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>controller (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../controller/package-summary.html" target="classFrame">controller</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="Controller.html" title="class in controller" target="classFrame">Controller</a></li>
-<li><a href="Hand.html" title="class in controller" target="classFrame">Hand</a></li>
-<li><a href="LoginController.html" title="class in controller" target="classFrame">LoginController</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/docs/controller/package-summary.html b/docs/controller/package-summary.html
@@ -1,161 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>controller (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="controller (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev Package</li>
-<li><a href="../model/package-summary.html">Next Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?controller/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package controller</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../controller/Controller.html" title="class in controller">Controller</a></td>
-<td class="colLast">
-<div class="block">
- The Controller class is responsible for handling most of the game logic for a
- Blackjack game.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../controller/Hand.html" title="class in controller">Hand</a></td>
-<td class="colLast">
-<div class="block">Contains methods to calculate the value of a hand, take cards from a deck and
- discard the hand to a deck.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../controller/LoginController.html" title="class in controller">LoginController</a></td>
-<td class="colLast">
-<div class="block">
- Controller for handling user login.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev Package</li>
-<li><a href="../model/package-summary.html">Next Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?controller/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/controller/package-tree.html b/docs/controller/package-tree.html
@@ -1,140 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>controller Class Hierarchy (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="controller Class Hierarchy (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li><a href="../model/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?controller/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package controller</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">controller.<a href="../controller/Controller.html" title="class in controller"><span class="typeNameLink">Controller</span></a></li>
-<li type="circle">controller.<a href="../controller/Hand.html" title="class in controller"><span class="typeNameLink">Hand</span></a></li>
-<li type="circle">controller.<a href="../controller/LoginController.html" title="class in controller"><span class="typeNameLink">LoginController</span></a></li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li><a href="../model/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?controller/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/controller/package-use.html b/docs/controller/package-use.html
@@ -1,161 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package controller (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package controller (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?controller/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package controller" class="title">Uses of Package<br>controller</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../controller/package-summary.html">controller</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#model">model</a></td>
-<td class="colLast"> </td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="model">
-<!-- -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../controller/package-summary.html">controller</a> used by <a href="../model/package-summary.html">model</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../controller/class-use/Hand.html#model">Hand</a>
-<div class="block">Contains methods to calculate the value of a hand, take cards from a deck and
- discard the hand to a deck.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?controller/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/deprecated-list.html b/docs/deprecated-list.html
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Deprecated List (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Deprecated List (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li class="navBarCell1Rev">Deprecated</li>
-<li><a href="index-files/index-1.html">Index</a></li>
-<li><a href="help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
-<li><a href="deprecated-list.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Deprecated API" class="title">Deprecated API</h1>
-<h2 title="Contents">Contents</h2>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li class="navBarCell1Rev">Deprecated</li>
-<li><a href="index-files/index-1.html">Index</a></li>
-<li><a href="help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="index.html?deprecated-list.html" target="_top">Frames</a></li>
-<li><a href="deprecated-list.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/help-doc.html b/docs/help-doc.html
@@ -1,230 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>API Help (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="API Help (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li><a href="deprecated-list.html">Deprecated</a></li>
-<li><a href="index-files/index-1.html">Index</a></li>
-<li class="navBarCell1Rev">Help</li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
-<li><a href="help-doc.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">How This API Document Is Organized</h1>
-<div class="subTitle">This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.</div>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<h2>Overview</h2>
-<p>The <a href="overview-summary.html">Overview</a> page is the front page of this API document and provides a list of all packages with a summary for each. This page can also contain an overall description of the set of packages.</p>
-</li>
-<li class="blockList">
-<h2>Package</h2>
-<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain six categories:</p>
-<ul>
-<li>Interfaces (italic)</li>
-<li>Classes</li>
-<li>Enums</li>
-<li>Exceptions</li>
-<li>Errors</li>
-<li>Annotation Types</li>
-</ul>
-</li>
-<li class="blockList">
-<h2>Class/Interface</h2>
-<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:</p>
-<ul>
-<li>Class inheritance diagram</li>
-<li>Direct Subclasses</li>
-<li>All Known Subinterfaces</li>
-<li>All Known Implementing Classes</li>
-<li>Class/interface declaration</li>
-<li>Class/interface description</li>
-</ul>
-<ul>
-<li>Nested Class Summary</li>
-<li>Field Summary</li>
-<li>Constructor Summary</li>
-<li>Method Summary</li>
-</ul>
-<ul>
-<li>Field Detail</li>
-<li>Constructor Detail</li>
-<li>Method Detail</li>
-</ul>
-<p>Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
-</li>
-<li class="blockList">
-<h2>Annotation Type</h2>
-<p>Each annotation type has its own separate page with the following sections:</p>
-<ul>
-<li>Annotation Type declaration</li>
-<li>Annotation Type description</li>
-<li>Required Element Summary</li>
-<li>Optional Element Summary</li>
-<li>Element Detail</li>
-</ul>
-</li>
-<li class="blockList">
-<h2>Enum</h2>
-<p>Each enum has its own separate page with the following sections:</p>
-<ul>
-<li>Enum declaration</li>
-<li>Enum description</li>
-<li>Enum Constant Summary</li>
-<li>Enum Constant Detail</li>
-</ul>
-</li>
-<li class="blockList">
-<h2>Use</h2>
-<p>Each documented package, class and interface has its own Use page. This page describes what packages, classes, methods, constructors and fields use any part of the given class or package. Given a class or interface A, its Use page includes subclasses of A, fields declared as A, methods that return A, and methods and constructors with parameters of type A. You can access this page by first going to the package, class or interface, then clicking on the "Use" link in the navigation bar.</p>
-</li>
-<li class="blockList">
-<h2>Tree (Class Hierarchy)</h2>
-<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.</p>
-<ul>
-<li>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.</li>
-<li>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</li>
-</ul>
-</li>
-<li class="blockList">
-<h2>Deprecated API</h2>
-<p>The <a href="deprecated-list.html">Deprecated API</a> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</p>
-</li>
-<li class="blockList">
-<h2>Index</h2>
-<p>The <a href="index-files/index-1.html">Index</a> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</p>
-</li>
-<li class="blockList">
-<h2>Prev/Next</h2>
-<p>These links take you to the next or previous class, interface, package, or related page.</p>
-</li>
-<li class="blockList">
-<h2>Frames/No Frames</h2>
-<p>These links show and hide the HTML frames. All pages are available with or without frames.</p>
-</li>
-<li class="blockList">
-<h2>All Classes</h2>
-<p>The <a href="allclasses-noframe.html">All Classes</a> link shows all classes and interfaces except non-static nested types.</p>
-</li>
-<li class="blockList">
-<h2>Serialized Form</h2>
-<p>Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.</p>
-</li>
-<li class="blockList">
-<h2>Constant Field Values</h2>
-<p>The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.</p>
-</li>
-</ul>
-<span class="emphasizedPhrase">This help file applies to API documentation generated using the standard doclet.</span></div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li><a href="deprecated-list.html">Deprecated</a></li>
-<li><a href="index-files/index-1.html">Index</a></li>
-<li class="navBarCell1Rev">Help</li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="index.html?help-doc.html" target="_top">Frames</a></li>
-<li><a href="help-doc.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-1.html b/docs/index-files/index-1.html
@@ -1,140 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>A-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="A-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev Letter</li>
-<li><a href="index-2.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-1.html" target="_top">Frames</a></li>
-<li><a href="index-1.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:A">
-<!-- -->
-</a>
-<h2 class="title">A</h2>
-<dl>
-<dt><span class="memberNameLink"><a href="../model/Deck.html#addCard-model.Card-">addCard(Card)</a></span> - Method in class model.<a href="../model/Deck.html" title="class in model">Deck</a></dt>
-<dd>
-<div class="block">Adds a card to the deck.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Deck.html#addCards-java.util.ArrayList-">addCards(ArrayList<Card>)</a></span> - Method in class model.<a href="../model/Deck.html" title="class in model">Deck</a></dt>
-<dd>
-<div class="block">Adds arraylist of cards to deck.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../controller/LoginController.html#areAllFieldsValid-java.lang.String-java.lang.String-java.util.Date-java.lang.String-">areAllFieldsValid(String, String, Date, String)</a></span> - Method in class controller.<a href="../controller/LoginController.html" title="class in controller">LoginController</a></dt>
-<dd>
-<div class="block">Checks whether all the entered fields are present and valid.</div>
-</dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev Letter</li>
-<li><a href="index-2.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-1.html" target="_top">Frames</a></li>
-<li><a href="index-1.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-10.html b/docs/index-files/index-10.html
@@ -1,167 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>P-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="P-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-9.html">Prev Letter</a></li>
-<li><a href="index-11.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-10.html" target="_top">Frames</a></li>
-<li><a href="index-10.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:P">
-<!-- -->
-</a>
-<h2 class="title">P</h2>
-<dl>
-<dt><a href="../model/Person.html" title="class in model"><span class="typeNameLink">Person</span></a> - Class in <a href="../model/package-summary.html">model</a></dt>
-<dd>
-<div class="block">
- Parent class of the Player and Dealer Objects.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Person.html#Person--">Person()</a></span> - Constructor for class model.<a href="../model/Person.html" title="class in model">Person</a></dt>
-<dd>
-<div class="block">Creates a person with an empty hand and no name.</div>
-</dd>
-<dt><a href="../model/Player.html" title="class in model"><span class="typeNameLink">Player</span></a> - Class in <a href="../model/package-summary.html">model</a></dt>
-<dd>
-<div class="block">
- Represents a player in a blackjack game.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Player.html#Player--">Player()</a></span> - Constructor for class model.<a href="../model/Player.html" title="class in model">Player</a></dt>
-<dd>
-<div class="block">Creates a new player with a default name of "Player".</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Deck.html#populate--">populate()</a></span> - Method in class model.<a href="../model/Deck.html" title="class in model">Deck</a></dt>
-<dd>
-<div class="block">Populates empty deck with 52 cards by looping over each rank and value.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../view/MainGUI.html#printDealerHand--">printDealerHand()</a></span> - Method in class view.<a href="../view/MainGUI.html" title="class in view">MainGUI</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="../model/Dealer.html#printFirstCardValue--">printFirstCardValue()</a></span> - Method in class model.<a href="../model/Dealer.html" title="class in model">Dealer</a></dt>
-<dd>
-<div class="block">Returns a string representation of the value of the dealer's first card
- in their hand.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Dealer.html#printFirstHand--">printFirstHand()</a></span> - Method in class model.<a href="../model/Dealer.html" title="class in model">Dealer</a></dt>
-<dd>
-<div class="block">Returns a string representation of the dealer's first card in their hand.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Person.html#printHand--">printHand()</a></span> - Method in class model.<a href="../model/Person.html" title="class in model">Person</a></dt>
-<dd>
-<div class="block">Prints a formatted version of the person's hand.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../view/MainGUI.html#printPlayerHand--">printPlayerHand()</a></span> - Method in class view.<a href="../view/MainGUI.html" title="class in view">MainGUI</a></dt>
-<dd> </dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-9.html">Prev Letter</a></li>
-<li><a href="index-11.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-10.html" target="_top">Frames</a></li>
-<li><a href="index-10.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-11.html b/docs/index-files/index-11.html
@@ -1,134 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>R-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="R-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-10.html">Prev Letter</a></li>
-<li><a href="index-12.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-11.html" target="_top">Frames</a></li>
-<li><a href="index-11.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:R">
-<!-- -->
-</a>
-<h2 class="title">R</h2>
-<dl>
-<dt><span class="memberNameLink"><a href="../model/Card.Rank.html#rankValue">rankValue</a></span> - Variable in enum model.<a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="../model/Deck.html#reloadDeckFromDiscard-model.Deck-">reloadDeckFromDiscard(Deck)</a></span> - Method in class model.<a href="../model/Deck.html" title="class in model">Deck</a></dt>
-<dd>
-<div class="block">Take all cards from discarded deck and place them in this deck, shuffled.</div>
-</dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-10.html">Prev Letter</a></li>
-<li><a href="index-12.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-11.html" target="_top">Frames</a></li>
-<li><a href="index-11.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-12.html b/docs/index-files/index-12.html
@@ -1,192 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>S-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="S-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-11.html">Prev Letter</a></li>
-<li><a href="index-13.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-12.html" target="_top">Frames</a></li>
-<li><a href="index-12.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:S">
-<!-- -->
-</a>
-<h2 class="title">S</h2>
-<dl>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#setBalance-double-">setBalance(double)</a></span> - Method in class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd>
-<div class="block">Sets the current player's balance.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Player.html#setBalance-double-">setBalance(double)</a></span> - Method in class model.<a href="../model/Player.html" title="class in model">Player</a></dt>
-<dd>
-<div class="block">Sets the player's balance and stores it in a file.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#setBet-double-">setBet(double)</a></span> - Method in class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd>
-<div class="block">Sets the current player's bet.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Person.html#setHand-controller.Hand-">setHand(Hand)</a></span> - Method in class model.<a href="../model/Person.html" title="class in model">Person</a></dt>
-<dd>
-<div class="block">Sets the hand of the person.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Statistics.html#setLosses-int-">setLosses(int)</a></span> - Method in class model.<a href="../model/Statistics.html" title="class in model">Statistics</a></dt>
-<dd>
-<div class="block">Sets the number of losses.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Person.html#setName-java.lang.String-">setName(String)</a></span> - Method in class model.<a href="../model/Person.html" title="class in model">Person</a></dt>
-<dd>
-<div class="block">Sets the name of the person.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Statistics.html#setPushes-int-">setPushes(int)</a></span> - Method in class model.<a href="../model/Statistics.html" title="class in model">Statistics</a></dt>
-<dd>
-<div class="block">Sets the number of pushes (ties).</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Statistics.html#setWins-int-">setWins(int)</a></span> - Method in class model.<a href="../model/Statistics.html" title="class in model">Statistics</a></dt>
-<dd>
-<div class="block">Sets the number of wins.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Deck.html#shuffle--">shuffle()</a></span> - Method in class model.<a href="../model/Deck.html" title="class in model">Deck</a></dt>
-<dd>
-<div class="block">Shuffles deck using a temporary deck for storing cards in random order.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#startRound--">startRound()</a></span> - Method in class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd>
-<div class="block">
- Starts a new round of the game.</div>
-</dd>
-<dt><a href="../model/Statistics.html" title="class in model"><span class="typeNameLink">Statistics</span></a> - Class in <a href="../model/package-summary.html">model</a></dt>
-<dd>
-<div class="block">
- The Statistics class represents a set of statistics for a blackjack game.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Statistics.html#Statistics--">Statistics()</a></span> - Constructor for class model.<a href="../model/Statistics.html" title="class in model">Statistics</a></dt>
-<dd>
-<div class="block">Constructs a new Statistics object with all statistics initialized to 0.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Statistics.html#Statistics-int-int-int-">Statistics(int, int, int)</a></span> - Constructor for class model.<a href="../model/Statistics.html" title="class in model">Statistics</a></dt>
-<dd>
-<div class="block">Constructs a new Statistics object with the given statistics.</div>
-</dd>
-<dt><a href="../view/StatisticsGUI.html" title="class in view"><span class="typeNameLink">StatisticsGUI</span></a> - Class in <a href="../view/package-summary.html">view</a></dt>
-<dd>
-<div class="block">GUI that displays the player's wins, losses and pushes.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../view/StatisticsGUI.html#StatisticsGUI--">StatisticsGUI()</a></span> - Constructor for class view.<a href="../view/StatisticsGUI.html" title="class in view">StatisticsGUI</a></dt>
-<dd>
-<div class="block">Creates new form StatisticsGUI</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Card.Suit.html#suitName">suitName</a></span> - Variable in enum model.<a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a></dt>
-<dd> </dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-11.html">Prev Letter</a></li>
-<li><a href="index-13.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-12.html" target="_top">Frames</a></li>
-<li><a href="index-12.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-13.html b/docs/index-files/index-13.html
@@ -1,157 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>T-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="T-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-12.html">Prev Letter</a></li>
-<li><a href="index-14.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-13.html" target="_top">Frames</a></li>
-<li><a href="index-13.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:T">
-<!-- -->
-</a>
-<h2 class="title">T</h2>
-<dl>
-<dt><span class="memberNameLink"><a href="../model/Deck.html#takeCard--">takeCard()</a></span> - Method in class model.<a href="../model/Deck.html" title="class in model">Deck</a></dt>
-<dd>
-<div class="block">Takes copy of first card from deck and removes card from deck.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../controller/Hand.html#takeCardFromDeck-model.Deck-">takeCardFromDeck(Deck)</a></span> - Method in class controller.<a href="../controller/Hand.html" title="class in controller">Hand</a></dt>
-<dd>
-<div class="block">Adds a card from the deck to the hand.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../controller/Hand.html#toString--">toString()</a></span> - Method in class controller.<a href="../controller/Hand.html" title="class in controller">Hand</a></dt>
-<dd>
-<div class="block">Returns a string representation of the current hand.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Card.Rank.html#toString--">toString()</a></span> - Method in enum model.<a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a></dt>
-<dd>
-<div class="block">Returns the name of the rank as a string.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Card.Suit.html#toString--">toString()</a></span> - Method in enum model.<a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a></dt>
-<dd>
-<div class="block">Returns the name of the suit as a string.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Card.html#toString--">toString()</a></span> - Method in class model.<a href="../model/Card.html" title="class in model">Card</a></dt>
-<dd>
-<div class="block">Returns a String representation of the Card object, including the rank
- and suit of the card, as well as its value in parentheses.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Deck.html#toString--">toString()</a></span> - Method in class model.<a href="../model/Deck.html" title="class in model">Deck</a></dt>
-<dd>
-<div class="block">Returns a String representation of the Deck object.</div>
-</dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-12.html">Prev Letter</a></li>
-<li><a href="index-14.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-13.html" target="_top">Frames</a></li>
-<li><a href="index-13.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-14.html b/docs/index-files/index-14.html
@@ -1,148 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>V-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="V-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-13.html">Prev Letter</a></li>
-<li>Next Letter</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-14.html" target="_top">Frames</a></li>
-<li><a href="index-14.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:V">
-<!-- -->
-</a>
-<h2 class="title">V</h2>
-<dl>
-<dt><span class="memberNameLink"><a href="../model/Card.Rank.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum model.<a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a></dt>
-<dd>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Card.Suit.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum model.<a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a></dt>
-<dd>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Card.Rank.html#values--">values()</a></span> - Static method in enum model.<a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a></dt>
-<dd>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Card.Suit.html#values--">values()</a></span> - Static method in enum model.<a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a></dt>
-<dd>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</dd>
-<dt><a href="../view/package-summary.html">view</a> - package view</dt>
-<dd> </dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-13.html">Prev Letter</a></li>
-<li>Next Letter</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-14.html" target="_top">Frames</a></li>
-<li><a href="index-14.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-2.html b/docs/index-files/index-2.html
@@ -1,170 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>C-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="C-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-1.html">Prev Letter</a></li>
-<li><a href="index-3.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-2.html" target="_top">Frames</a></li>
-<li><a href="index-2.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:C">
-<!-- -->
-</a>
-<h2 class="title">C</h2>
-<dl>
-<dt><span class="memberNameLink"><a href="../controller/Hand.html#calculateValue--">calculateValue()</a></span> - Method in class controller.<a href="../controller/Hand.html" title="class in controller">Hand</a></dt>
-<dd>
-<div class="block">Calculates the value of a hand.</div>
-</dd>
-<dt><a href="../model/Card.html" title="class in model"><span class="typeNameLink">Card</span></a> - Class in <a href="../model/package-summary.html">model</a></dt>
-<dd>
-<div class="block">Represents a standard playing card and handles card operations.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Card.html#Card-model.Card.Suit-model.Card.Rank-">Card(Card.Suit, Card.Rank)</a></span> - Constructor for class model.<a href="../model/Card.html" title="class in model">Card</a></dt>
-<dd>
-<div class="block">Creates a new Card object with the specified suit and rank.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Card.html#Card-model.Card-">Card(Card)</a></span> - Constructor for class model.<a href="../model/Card.html" title="class in model">Card</a></dt>
-<dd>
-<div class="block">Creates a new Card object as a copy of another Card object.</div>
-</dd>
-<dt><a href="../model/Card.Rank.html" title="enum in model"><span class="typeNameLink">Card.Rank</span></a> - Enum in <a href="../model/package-summary.html">model</a></dt>
-<dd>
-<div class="block">Represents the thirteen possible ranks in a standard playing card deck.</div>
-</dd>
-<dt><a href="../model/Card.Suit.html" title="enum in model"><span class="typeNameLink">Card.Suit</span></a> - Enum in <a href="../model/package-summary.html">model</a></dt>
-<dd>
-<div class="block">Represents the four possible suits in a standard playing card deck.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Deck.html#cardsLeft--">cardsLeft()</a></span> - Method in class model.<a href="../model/Deck.html" title="class in model">Deck</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#checkWhoWins--">checkWhoWins()</a></span> - Method in class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd>
-<div class="block">Checks who wins the game and returns a message indicating the result.</div>
-</dd>
-<dt><a href="../controller/package-summary.html">controller</a> - package controller</dt>
-<dd> </dd>
-<dt><a href="../controller/Controller.html" title="class in controller"><span class="typeNameLink">Controller</span></a> - Class in <a href="../controller/package-summary.html">controller</a></dt>
-<dd>
-<div class="block">
- The Controller class is responsible for handling most of the game logic for a
- Blackjack game.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#Controller--">Controller()</a></span> - Constructor for class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd>
-<div class="block">Creates a new instance of the Controller class.</div>
-</dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-1.html">Prev Letter</a></li>
-<li><a href="index-3.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-2.html" target="_top">Frames</a></li>
-<li><a href="index-2.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-3.html b/docs/index-files/index-3.html
@@ -1,162 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>D-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="D-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-2.html">Prev Letter</a></li>
-<li><a href="index-4.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-3.html" target="_top">Frames</a></li>
-<li><a href="index-3.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:D">
-<!-- -->
-</a>
-<h2 class="title">D</h2>
-<dl>
-<dt><a href="../model/Dealer.html" title="class in model"><span class="typeNameLink">Dealer</span></a> - Class in <a href="../model/package-summary.html">model</a></dt>
-<dd>
-<div class="block">Represents a dealer in a card game and handles dealer-specific operations.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Dealer.html#Dealer--">Dealer()</a></span> - Constructor for class model.<a href="../model/Dealer.html" title="class in model">Dealer</a></dt>
-<dd>
-<div class="block">Creates a new dealer with the default name "Dealer".</div>
-</dd>
-<dt><a href="../model/Deck.html" title="class in model"><span class="typeNameLink">Deck</span></a> - Class in <a href="../model/package-summary.html">model</a></dt>
-<dd>
-<div class="block">
- Holds multiple cards and performs operations such as shuffling the deck.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Deck.html#Deck--">Deck()</a></span> - Constructor for class model.<a href="../model/Deck.html" title="class in model">Deck</a></dt>
-<dd>
-<div class="block">Deck constructor</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../controller/Hand.html#discardHandToDeck-model.Deck-">discardHandToDeck(Deck)</a></span> - Method in class controller.<a href="../controller/Hand.html" title="class in controller">Hand</a></dt>
-<dd>
-<div class="block">Discards the current hand and adds its cards to the specified discard
- deck.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#displayDealerFirstCard--">displayDealerFirstCard()</a></span> - Method in class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#displayDealerFirstCardValue--">displayDealerFirstCardValue()</a></span> - Method in class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#displayDealerHand--">displayDealerHand()</a></span> - Method in class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#displayDealerHandValue--">displayDealerHandValue()</a></span> - Method in class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#displayPlayerHand--">displayPlayerHand()</a></span> - Method in class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#displayPlayerHandValue--">displayPlayerHandValue()</a></span> - Method in class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd> </dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-2.html">Prev Letter</a></li>
-<li><a href="index-4.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-3.html" target="_top">Frames</a></li>
-<li><a href="index-3.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-4.html b/docs/index-files/index-4.html
@@ -1,132 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>E-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="E-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-3.html">Prev Letter</a></li>
-<li><a href="index-5.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-4.html" target="_top">Frames</a></li>
-<li><a href="index-4.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:E">
-<!-- -->
-</a>
-<h2 class="title">E</h2>
-<dl>
-<dt><span class="memberNameLink"><a href="../model/Deck.html#emptyDeck--">emptyDeck()</a></span> - Method in class model.<a href="../model/Deck.html" title="class in model">Deck</a></dt>
-<dd>
-<div class="block">Removes all Card objects from the deck.</div>
-</dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-3.html">Prev Letter</a></li>
-<li><a href="index-5.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-4.html" target="_top">Frames</a></li>
-<li><a href="index-4.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-5.html b/docs/index-files/index-5.html
@@ -1,180 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>G-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="G-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-4.html">Prev Letter</a></li>
-<li><a href="index-6.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-5.html" target="_top">Frames</a></li>
-<li><a href="index-5.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:G">
-<!-- -->
-</a>
-<h2 class="title">G</h2>
-<dl>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#getBalance--">getBalance()</a></span> - Method in class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd>
-<div class="block">Gets the current player's balance.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Player.html#getBalance--">getBalance()</a></span> - Method in class model.<a href="../model/Player.html" title="class in model">Player</a></dt>
-<dd>
-<div class="block">Gets the player's current balance from a file.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#getBet--">getBet()</a></span> - Method in class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd>
-<div class="block">Gets the current player's bet.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../controller/Hand.html#getCard-int-">getCard(int)</a></span> - Method in class controller.<a href="../controller/Hand.html" title="class in controller">Hand</a></dt>
-<dd>
-<div class="block">Gets the card at a specific index.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Deck.html#getCards--">getCards()</a></span> - Method in class model.<a href="../model/Deck.html" title="class in model">Deck</a></dt>
-<dd>
-<div class="block">Returns arraylist containing all the cards in the deck.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Person.html#getHand--">getHand()</a></span> - Method in class model.<a href="../model/Person.html" title="class in model">Person</a></dt>
-<dd>
-<div class="block">Returns the hand of the person.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Statistics.html#getLosses--">getLosses()</a></span> - Method in class model.<a href="../model/Statistics.html" title="class in model">Statistics</a></dt>
-<dd>
-<div class="block">Gets the number of losses.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Person.html#getName--">getName()</a></span> - Method in class model.<a href="../model/Person.html" title="class in model">Person</a></dt>
-<dd>
-<div class="block">Returns the name of the person.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Statistics.html#getPushes--">getPushes()</a></span> - Method in class model.<a href="../model/Statistics.html" title="class in model">Statistics</a></dt>
-<dd>
-<div class="block">Gets the number of pushes (ties).</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Card.html#getRank--">getRank()</a></span> - Method in class model.<a href="../model/Card.html" title="class in model">Card</a></dt>
-<dd>
-<div class="block">Gets the rank of the card.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Card.html#getSuit--">getSuit()</a></span> - Method in class model.<a href="../model/Card.html" title="class in model">Card</a></dt>
-<dd>
-<div class="block">Gets the suit of the card.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Card.html#getValue--">getValue()</a></span> - Method in class model.<a href="../model/Card.html" title="class in model">Card</a></dt>
-<dd>
-<div class="block">Gets the value of the card.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Statistics.html#getWins--">getWins()</a></span> - Method in class model.<a href="../model/Statistics.html" title="class in model">Statistics</a></dt>
-<dd>
-<div class="block">Gets the number of wins.</div>
-</dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-4.html">Prev Letter</a></li>
-<li><a href="index-6.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-5.html" target="_top">Frames</a></li>
-<li><a href="index-5.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-6.html b/docs/index-files/index-6.html
@@ -1,153 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>H-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="H-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-5.html">Prev Letter</a></li>
-<li><a href="index-7.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-6.html" target="_top">Frames</a></li>
-<li><a href="index-6.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:H">
-<!-- -->
-</a>
-<h2 class="title">H</h2>
-<dl>
-<dt><a href="../controller/Hand.html" title="class in controller"><span class="typeNameLink">Hand</span></a> - Class in <a href="../controller/package-summary.html">controller</a></dt>
-<dd>
-<div class="block">Contains methods to calculate the value of a hand, take cards from a deck and
- discard the hand to a deck.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../controller/Hand.html#Hand--">Hand()</a></span> - Constructor for class controller.<a href="../controller/Hand.html" title="class in controller">Hand</a></dt>
-<dd>
-<div class="block">Creates a new empty Hand object.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Person.html#hasBlackjack--">hasBlackjack()</a></span> - Method in class model.<a href="../model/Person.html" title="class in model">Person</a></dt>
-<dd>
-<div class="block">Checks if the person has blackjack.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Deck.html#hasCards--">hasCards()</a></span> - Method in class model.<a href="../model/Deck.html" title="class in model">Deck</a></dt>
-<dd>
-<div class="block">Makes sure the deck we're hitting from has cards in it.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Person.html#hit-model.Deck-model.Deck-">hit(Deck, Deck)</a></span> - Method in class model.<a href="../model/Person.html" title="class in model">Person</a></dt>
-<dd>
-<div class="block">Draws a card from the deck and adds it to the person's hand.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../controller/Controller.html#hitPlayer--">hitPlayer()</a></span> - Method in class controller.<a href="../controller/Controller.html" title="class in controller">Controller</a></dt>
-<dd>
-<div class="block">Hits the player with a card.</div>
-</dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-5.html">Prev Letter</a></li>
-<li><a href="index-7.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-6.html" target="_top">Frames</a></li>
-<li><a href="index-6.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-7.html b/docs/index-files/index-7.html
@@ -1,143 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>I-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="I-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-6.html">Prev Letter</a></li>
-<li><a href="index-8.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-7.html" target="_top">Frames</a></li>
-<li><a href="index-7.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:I">
-<!-- -->
-</a>
-<h2 class="title">I</h2>
-<dl>
-<dt><span class="memberNameLink"><a href="../model/Statistics.html#incrementLosses--">incrementLosses()</a></span> - Method in class model.<a href="../model/Statistics.html" title="class in model">Statistics</a></dt>
-<dd>
-<div class="block">Increments the number of losses by 1 and saves the new statistics to the
- CSV file.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Statistics.html#incrementPushes--">incrementPushes()</a></span> - Method in class model.<a href="../model/Statistics.html" title="class in model">Statistics</a></dt>
-<dd>
-<div class="block">Increments the number of pushes (ties) by 1 and saves the new statistics
- to the CSV file.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../model/Statistics.html#incrementWins--">incrementWins()</a></span> - Method in class model.<a href="../model/Statistics.html" title="class in model">Statistics</a></dt>
-<dd>
-<div class="block">Increments the number of wins by 1 and saves the new statistics to the
- CSV file.</div>
-</dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-6.html">Prev Letter</a></li>
-<li><a href="index-8.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-7.html" target="_top">Frames</a></li>
-<li><a href="index-7.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-8.html b/docs/index-files/index-8.html
@@ -1,149 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>L-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="L-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-7.html">Prev Letter</a></li>
-<li><a href="index-9.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-8.html" target="_top">Frames</a></li>
-<li><a href="index-8.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:L">
-<!-- -->
-</a>
-<h2 class="title">L</h2>
-<dl>
-<dt><span class="memberNameLink"><a href="../model/Statistics.html#load--">load()</a></span> - Static method in class model.<a href="../model/Statistics.html" title="class in model">Statistics</a></dt>
-<dd>
-<div class="block">
- This static method loads the statistics from the CSV file located at the
- path defined by the CSV_FILE constant in the Statistics class.</div>
-</dd>
-<dt><a href="../controller/LoginController.html" title="class in controller"><span class="typeNameLink">LoginController</span></a> - Class in <a href="../controller/package-summary.html">controller</a></dt>
-<dd>
-<div class="block">
- Controller for handling user login.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../controller/LoginController.html#LoginController--">LoginController()</a></span> - Constructor for class controller.<a href="../controller/LoginController.html" title="class in controller">LoginController</a></dt>
-<dd> </dd>
-<dt><a href="../view/LoginGUI.html" title="class in view"><span class="typeNameLink">LoginGUI</span></a> - Class in <a href="../view/package-summary.html">view</a></dt>
-<dd>
-<div class="block">GUI for login screen.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../view/LoginGUI.html#LoginGUI--">LoginGUI()</a></span> - Constructor for class view.<a href="../view/LoginGUI.html" title="class in view">LoginGUI</a></dt>
-<dd>
-<div class="block">Creates new form LoginGUI</div>
-</dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-7.html">Prev Letter</a></li>
-<li><a href="index-9.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-8.html" target="_top">Frames</a></li>
-<li><a href="index-8.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index-files/index-9.html b/docs/index-files/index-9.html
@@ -1,144 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>M-Index (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="M-Index (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-8.html">Prev Letter</a></li>
-<li><a href="index-10.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-9.html" target="_top">Frames</a></li>
-<li><a href="index-9.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer"><a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> <a name="I:M">
-<!-- -->
-</a>
-<h2 class="title">M</h2>
-<dl>
-<dt><span class="memberNameLink"><a href="../view/LoginGUI.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class view.<a href="../view/LoginGUI.html" title="class in view">LoginGUI</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="../view/MainGUI.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class view.<a href="../view/MainGUI.html" title="class in view">MainGUI</a></dt>
-<dd> </dd>
-<dt><span class="memberNameLink"><a href="../view/StatisticsGUI.html#main-java.lang.String:A-">main(String[])</a></span> - Static method in class view.<a href="../view/StatisticsGUI.html" title="class in view">StatisticsGUI</a></dt>
-<dd> </dd>
-<dt><a href="../view/MainGUI.html" title="class in view"><span class="typeNameLink">MainGUI</span></a> - Class in <a href="../view/package-summary.html">view</a></dt>
-<dd>
-<div class="block">Main GUI.</div>
-</dd>
-<dt><span class="memberNameLink"><a href="../view/MainGUI.html#MainGUI--">MainGUI()</a></span> - Constructor for class view.<a href="../view/MainGUI.html" title="class in view">MainGUI</a></dt>
-<dd>
-<div class="block">Creates new form GUI</div>
-</dd>
-<dt><a href="../model/package-summary.html">model</a> - package model</dt>
-<dd> </dd>
-</dl>
-<a href="index-1.html">A</a> <a href="index-2.html">C</a> <a href="index-3.html">D</a> <a href="index-4.html">E</a> <a href="index-5.html">G</a> <a href="index-6.html">H</a> <a href="index-7.html">I</a> <a href="index-8.html">L</a> <a href="index-9.html">M</a> <a href="index-10.html">P</a> <a href="index-11.html">R</a> <a href="index-12.html">S</a> <a href="index-13.html">T</a> <a href="index-14.html">V</a> </div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="../overview-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li class="navBarCell1Rev">Index</li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="index-8.html">Prev Letter</a></li>
-<li><a href="index-10.html">Next Letter</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?index-files/index-9.html" target="_top">Frames</a></li>
-<li><a href="index-9.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/index.html b/docs/index.html
@@ -1,76 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>librejack</title>
-<script type="text/javascript">
- tmpTargetPage = "" + window.location.search;
- if (tmpTargetPage != "" && tmpTargetPage != "undefined")
- tmpTargetPage = tmpTargetPage.substring(1);
- if (tmpTargetPage.indexOf(":") != -1 || (tmpTargetPage != "" && !validURL(tmpTargetPage)))
- tmpTargetPage = "undefined";
- targetPage = tmpTargetPage;
- function validURL(url) {
- try {
- url = decodeURIComponent(url);
- }
- catch (error) {
- return false;
- }
- var pos = url.indexOf(".html");
- if (pos == -1 || pos != url.length - 5)
- return false;
- var allowNumber = false;
- var allowSep = false;
- var seenDot = false;
- for (var i = 0; i < url.length - 5; i++) {
- var ch = url.charAt(i);
- if ('a' <= ch && ch <= 'z' ||
- 'A' <= ch && ch <= 'Z' ||
- ch == '$' ||
- ch == '_' ||
- ch.charCodeAt(0) > 127) {
- allowNumber = true;
- allowSep = true;
- } else if ('0' <= ch && ch <= '9'
- || ch == '-') {
- if (!allowNumber)
- return false;
- } else if (ch == '/' || ch == '.') {
- if (!allowSep)
- return false;
- allowNumber = false;
- allowSep = false;
- if (ch == '.')
- seenDot = true;
- if (ch == '/' && seenDot)
- return false;
- } else {
- return false;
- }
- }
- return true;
- }
- function loadFrames() {
- if (targetPage != "" && targetPage != "undefined")
- top.classFrame.location = top.targetPage;
- }
-</script>
-</head>
-<frameset cols="20%,80%" title="Documentation frame" onload="top.loadFrames()">
-<frameset rows="30%,70%" title="Left frames" onload="top.loadFrames()">
-<frame src="overview-frame.html" name="packageListFrame" title="All Packages">
-<frame src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
-</frameset>
-<frame src="overview-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
-<noframes>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<h2>Frame Alert</h2>
-<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="overview-summary.html">Non-frame version</a>.</p>
-</noframes>
-</frameset>
-</html>
diff --git a/docs/model/Card.Rank.html b/docs/model/Card.Rank.html
@@ -1,539 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Card.Rank (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Card.Rank (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":10,"i1":9,"i2":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Card.Rank.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Card.html" title="class in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../model/Card.Suit.html" title="enum in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Card.Rank.html" target="_top">Frames</a></li>
-<li><a href="Card.Rank.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li><a href="#enum.constant.summary">Enum Constants</a> | </li>
-<li><a href="#field.summary">Field</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li><a href="#enum.constant.detail">Enum Constants</a> | </li>
-<li><a href="#field.detail">Field</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">model</div>
-<h2 title="Enum Card.Rank" class="title">Enum Card.Rank</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>java.lang.Enum<<a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a>></li>
-<li>
-<ul class="inheritance">
-<li>model.Card.Rank</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.Comparable<<a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a>></dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../model/Card.html" title="class in model">Card</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public static enum <span class="typeNameLabel">Card.Rank</span>
-extends java.lang.Enum<<a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a>></pre>
-<div class="block">Represents the thirteen possible ranks in a standard playing card deck.
-
- Each rank has a name and a value.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== ENUM CONSTANT SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum.constant.summary">
-<!-- -->
-</a>
-<h3>Enum Constant Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
-<caption><span>Enum Constants</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Enum Constant and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#ACE">ACE</a></span></code> </td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#EIGHT">EIGHT</a></span></code> </td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#FIVE">FIVE</a></span></code> </td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#FOUR">FOUR</a></span></code> </td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#JACK">JACK</a></span></code> </td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#KING">KING</a></span></code> </td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#NINE">NINE</a></span></code> </td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#QUEEN">QUEEN</a></span></code> </td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#SEVEN">SEVEN</a></span></code> </td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#SIX">SIX</a></span></code> </td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#TEN">TEN</a></span></code> </td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#THREE">THREE</a></span></code> </td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#TWO">TWO</a></span></code> </td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!-- -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#rankValue">rankValue</a></span></code> </td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#toString--">toString</a></span>()</code>
-<div class="block">Returns the name of the rank as a string.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.Rank.html#values--">values</a></span>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Enum</h3>
-<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ ENUM CONSTANT DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum.constant.detail">
-<!-- -->
-</a>
-<h3>Enum Constant Detail</h3>
-<a name="TWO">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>TWO</h4>
-<pre>public static final <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> TWO</pre>
-</li>
-</ul>
-<a name="THREE">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>THREE</h4>
-<pre>public static final <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> THREE</pre>
-</li>
-</ul>
-<a name="FOUR">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>FOUR</h4>
-<pre>public static final <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> FOUR</pre>
-</li>
-</ul>
-<a name="FIVE">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>FIVE</h4>
-<pre>public static final <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> FIVE</pre>
-</li>
-</ul>
-<a name="SIX">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>SIX</h4>
-<pre>public static final <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> SIX</pre>
-</li>
-</ul>
-<a name="SEVEN">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>SEVEN</h4>
-<pre>public static final <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> SEVEN</pre>
-</li>
-</ul>
-<a name="EIGHT">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>EIGHT</h4>
-<pre>public static final <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> EIGHT</pre>
-</li>
-</ul>
-<a name="NINE">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>NINE</h4>
-<pre>public static final <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> NINE</pre>
-</li>
-</ul>
-<a name="TEN">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>TEN</h4>
-<pre>public static final <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> TEN</pre>
-</li>
-</ul>
-<a name="JACK">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>JACK</h4>
-<pre>public static final <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> JACK</pre>
-</li>
-</ul>
-<a name="QUEEN">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>QUEEN</h4>
-<pre>public static final <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> QUEEN</pre>
-</li>
-</ul>
-<a name="KING">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>KING</h4>
-<pre>public static final <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> KING</pre>
-</li>
-</ul>
-<a name="ACE">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>ACE</h4>
-<pre>public static final <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> ACE</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!-- -->
-</a>
-<h3>Field Detail</h3>
-<a name="rankValue">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>rankValue</h4>
-<pre>public int rankValue</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="values--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>values</h4>
-<pre>public static <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a>[] values()</pre>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared. This method may be used to iterate
-over the constants as follows:
-<pre>
-for (Card.Rank c : Card.Rank.values())
- System.out.println(c);
-</pre></div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an array containing the constants of this enum type, in the order they are declared</dd>
-</dl>
-</li>
-</ul>
-<a name="valueOf-java.lang.String-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>valueOf</h4>
-<pre>public static <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> valueOf(java.lang.String name)</pre>
-<div class="block">Returns the enum constant of this type with the specified name.
-The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type. (Extraneous whitespace characters are
-not permitted.)</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>name</code> - the name of the enum constant to be returned.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the enum constant with the specified name</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
-<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
-</dl>
-</li>
-</ul>
-<a name="toString--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public java.lang.String toString()</pre>
-<div class="block">Returns the name of the rank as a string.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code> in class <code>java.lang.Enum<<a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a>></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the name of the rank</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Card.Rank.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Card.html" title="class in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../model/Card.Suit.html" title="enum in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Card.Rank.html" target="_top">Frames</a></li>
-<li><a href="Card.Rank.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li><a href="#enum.constant.summary">Enum Constants</a> | </li>
-<li><a href="#field.summary">Field</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li><a href="#enum.constant.detail">Enum Constants</a> | </li>
-<li><a href="#field.detail">Field</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/Card.Suit.html b/docs/model/Card.Suit.html
@@ -1,429 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Card.Suit (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Card.Suit (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":10,"i1":9,"i2":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Card.Suit.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Card.Rank.html" title="enum in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../model/Dealer.html" title="class in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Card.Suit.html" target="_top">Frames</a></li>
-<li><a href="Card.Suit.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li><a href="#enum.constant.summary">Enum Constants</a> | </li>
-<li><a href="#field.summary">Field</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li><a href="#enum.constant.detail">Enum Constants</a> | </li>
-<li><a href="#field.detail">Field</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">model</div>
-<h2 title="Enum Card.Suit" class="title">Enum Card.Suit</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>java.lang.Enum<<a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a>></li>
-<li>
-<ul class="inheritance">
-<li>model.Card.Suit</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.io.Serializable, java.lang.Comparable<<a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a>></dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../model/Card.html" title="class in model">Card</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public static enum <span class="typeNameLabel">Card.Suit</span>
-extends java.lang.Enum<<a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a>></pre>
-<div class="block">Represents the four possible suits in a standard playing card deck.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== ENUM CONSTANT SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum.constant.summary">
-<!-- -->
-</a>
-<h3>Enum Constant Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
-<caption><span>Enum Constants</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Enum Constant and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Suit.html#CLUBS">CLUBS</a></span></code> </td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Suit.html#DIAMONDS">DIAMONDS</a></span></code> </td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Suit.html#HEARTS">HEARTS</a></span></code> </td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.Suit.html#SPADES">SPADES</a></span></code> </td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!-- -->
-</a>
-<h3>Field Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
-<caption><span>Fields</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Field and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.Suit.html#suitName">suitName</a></span></code> </td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.Suit.html#toString--">toString</a></span>()</code>
-<div class="block">Returns the name of the suit as a string.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.Suit.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static <a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a>[]</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.Suit.html#values--">values</a></span>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Enum">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Enum</h3>
-<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ ENUM CONSTANT DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="enum.constant.detail">
-<!-- -->
-</a>
-<h3>Enum Constant Detail</h3>
-<a name="CLUBS">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>CLUBS</h4>
-<pre>public static final <a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a> CLUBS</pre>
-</li>
-</ul>
-<a name="DIAMONDS">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DIAMONDS</h4>
-<pre>public static final <a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a> DIAMONDS</pre>
-</li>
-</ul>
-<a name="HEARTS">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>HEARTS</h4>
-<pre>public static final <a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a> HEARTS</pre>
-</li>
-</ul>
-<a name="SPADES">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>SPADES</h4>
-<pre>public static final <a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a> SPADES</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ FIELD DETAIL =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.detail">
-<!-- -->
-</a>
-<h3>Field Detail</h3>
-<a name="suitName">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>suitName</h4>
-<pre>public java.lang.String suitName</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="values--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>values</h4>
-<pre>public static <a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a>[] values()</pre>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared. This method may be used to iterate
-over the constants as follows:
-<pre>
-for (Card.Suit c : Card.Suit.values())
- System.out.println(c);
-</pre></div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>an array containing the constants of this enum type, in the order they are declared</dd>
-</dl>
-</li>
-</ul>
-<a name="valueOf-java.lang.String-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>valueOf</h4>
-<pre>public static <a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a> valueOf(java.lang.String name)</pre>
-<div class="block">Returns the enum constant of this type with the specified name.
-The string must match <i>exactly</i> an identifier used to declare an
-enum constant in this type. (Extraneous whitespace characters are
-not permitted.)</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>name</code> - the name of the enum constant to be returned.</dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the enum constant with the specified name</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.lang.IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
-<dd><code>java.lang.NullPointerException</code> - if the argument is null</dd>
-</dl>
-</li>
-</ul>
-<a name="toString--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public java.lang.String toString()</pre>
-<div class="block">Returns the name of the suit as a string.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code> in class <code>java.lang.Enum<<a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a>></code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the name of the suit</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Card.Suit.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Card.Rank.html" title="enum in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../model/Dealer.html" title="class in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Card.Suit.html" target="_top">Frames</a></li>
-<li><a href="Card.Suit.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li><a href="#enum.constant.summary">Enum Constants</a> | </li>
-<li><a href="#field.summary">Field</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li><a href="#enum.constant.detail">Enum Constants</a> | </li>
-<li><a href="#field.detail">Field</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/Card.html b/docs/model/Card.html
@@ -1,405 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Card (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Card (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Card.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev Class</li>
-<li><a href="../model/Card.Rank.html" title="enum in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Card.html" target="_top">Frames</a></li>
-<li><a href="Card.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li><a href="#nested.class.summary">Nested</a> | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">model</div>
-<h2 title="Class Card" class="title">Class Card</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>model.Card</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Card</span>
-extends java.lang.Object</pre>
-<div class="block">Represents a standard playing card and handles card operations.</div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Michael Neuper
- <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!-- -->
-</a>
-<h3>Nested Class Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
-<caption><span>Nested Classes</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static class </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a></span></code>
-<div class="block">Represents the thirteen possible ranks in a standard playing card deck.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static class </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a></span></code>
-<div class="block">Represents the four possible suits in a standard playing card deck.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.html#Card-model.Card.Suit-model.Card.Rank-">Card</a></span>(<a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a> suit,
- <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> rank)</code>
-<div class="block">Creates a new Card object with the specified suit and rank.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Card.html#Card-model.Card-">Card</a></span>(<a href="../model/Card.html" title="class in model">Card</a> card)</code>
-<div class="block">Creates a new Card object as a copy of another Card object.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.html#getRank--">getRank</a></span>()</code>
-<div class="block">Gets the rank of the card.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code><a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.html#getSuit--">getSuit</a></span>()</code>
-<div class="block">Gets the suit of the card.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.html#getValue--">getValue</a></span>()</code>
-<div class="block">Gets the value of the card.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Card.html#toString--">toString</a></span>()</code>
-<div class="block">Returns a String representation of the Card object, including the rank
- and suit of the card, as well as its value in parentheses.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Card-model.Card.Suit-model.Card.Rank-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>Card</h4>
-<pre>public Card(<a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a> suit,
- <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> rank)</pre>
-<div class="block">Creates a new Card object with the specified suit and rank.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>suit</code> - Card suit</dd>
-<dd><code>rank</code> - Card rank</dd>
-</dl>
-</li>
-</ul>
-<a name="Card-model.Card-">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Card</h4>
-<pre>public Card(<a href="../model/Card.html" title="class in model">Card</a> card)</pre>
-<div class="block">Creates a new Card object as a copy of another Card object.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>card</code> - card to be added</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="getValue--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getValue</h4>
-<pre>public int getValue()</pre>
-<div class="block">Gets the value of the card.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>The value of the card.</dd>
-</dl>
-</li>
-</ul>
-<a name="getSuit--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getSuit</h4>
-<pre>public <a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a> getSuit()</pre>
-<div class="block">Gets the suit of the card.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>The suit of the card.</dd>
-</dl>
-</li>
-</ul>
-<a name="getRank--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getRank</h4>
-<pre>public <a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a> getRank()</pre>
-<div class="block">Gets the rank of the card.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>The rank of the card.</dd>
-</dl>
-</li>
-</ul>
-<a name="toString--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public java.lang.String toString()</pre>
-<div class="block">Returns a String representation of the Card object, including the rank
- and suit of the card, as well as its value in parentheses.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code> in class <code>java.lang.Object</code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a String representation of the Card object</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Card.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev Class</li>
-<li><a href="../model/Card.Rank.html" title="enum in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Card.html" target="_top">Frames</a></li>
-<li><a href="Card.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li><a href="#nested.class.summary">Nested</a> | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/Dealer.html b/docs/model/Dealer.html
@@ -1,328 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Dealer (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Dealer (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":10,"i1":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Dealer.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Card.Suit.html" title="enum in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../model/Deck.html" title="class in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Dealer.html" target="_top">Frames</a></li>
-<li><a href="Dealer.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">model</div>
-<h2 title="Class Dealer" class="title">Class Dealer</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li><a href="../model/Person.html" title="class in model">model.Person</a></li>
-<li>
-<ul class="inheritance">
-<li>model.Dealer</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Dealer</span>
-extends <a href="../model/Person.html" title="class in model">Person</a></pre>
-<div class="block">Represents a dealer in a card game and handles dealer-specific operations.
-
- <p>
- This class extends the <a href="../model/Person.html" title="class in model"><code>Person</code></a> class, which contains shared methods
- and properties between players and dealers.</p></div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Michael Neuper
- <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a></dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../model/Person.html" title="class in model"><code>Person</code></a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Dealer.html#Dealer--">Dealer</a></span>()</code>
-<div class="block">Creates a new dealer with the default name "Dealer".</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Dealer.html#printFirstCardValue--">printFirstCardValue</a></span>()</code>
-<div class="block">Returns a string representation of the value of the dealer's first card
- in their hand.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Dealer.html#printFirstHand--">printFirstHand</a></span>()</code>
-<div class="block">Returns a string representation of the dealer's first card in their hand.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.model.Person">
-<!-- -->
-</a>
-<h3>Methods inherited from class model.<a href="../model/Person.html" title="class in model">Person</a></h3>
-<code><a href="../model/Person.html#getHand--">getHand</a>, <a href="../model/Person.html#getName--">getName</a>, <a href="../model/Person.html#hasBlackjack--">hasBlackjack</a>, <a href="../model/Person.html#hit-model.Deck-model.Deck-">hit</a>, <a href="../model/Person.html#printHand--">printHand</a>, <a href="../model/Person.html#setHand-controller.Hand-">setHand</a>, <a href="../model/Person.html#setName-java.lang.String-">setName</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Dealer--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Dealer</h4>
-<pre>public Dealer()</pre>
-<div class="block">Creates a new dealer with the default name "Dealer".</div>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="printFirstHand--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>printFirstHand</h4>
-<pre>public java.lang.String printFirstHand()</pre>
-<div class="block">Returns a string representation of the dealer's first card in their hand.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the first card in the dealer's hand as a String</dd>
-</dl>
-</li>
-</ul>
-<a name="printFirstCardValue--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>printFirstCardValue</h4>
-<pre>public java.lang.String printFirstCardValue()</pre>
-<div class="block">Returns a string representation of the value of the dealer's first card
- in their hand.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the value of the first card in the dealer's hand as a String</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Dealer.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Card.Suit.html" title="enum in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../model/Deck.html" title="class in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Dealer.html" target="_top">Frames</a></li>
-<li><a href="Dealer.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/Deck.html b/docs/model/Deck.html
@@ -1,483 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Deck (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Deck (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Deck.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Dealer.html" title="class in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../model/Person.html" title="class in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Deck.html" target="_top">Frames</a></li>
-<li><a href="Deck.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">model</div>
-<h2 title="Class Deck" class="title">Class Deck</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>model.Deck</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Deck</span>
-extends java.lang.Object</pre>
-<div class="block"><p>
- Holds multiple cards and performs operations such as shuffling the deck.</p>
- <p>
- This class is responsible for creating a deck, populating it with 52 cards,
- shuffling the deck, adding cards to the deck, removing a card from the deck,
- checking if the deck has any cards left, emptying the deck, and returning the
- deck's current size.</p></div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Michael Neuper
- <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Deck.html#Deck--">Deck</a></span>()</code>
-<div class="block">Deck constructor</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Deck.html#addCard-model.Card-">addCard</a></span>(<a href="../model/Card.html" title="class in model">Card</a> inCard)</code>
-<div class="block">Adds a card to the deck.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Deck.html#addCards-java.util.ArrayList-">addCards</a></span>(java.util.ArrayList<<a href="../model/Card.html" title="class in model">Card</a>> cards)</code>
-<div class="block">Adds arraylist of cards to deck.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Deck.html#cardsLeft--">cardsLeft</a></span>()</code> </td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Deck.html#emptyDeck--">emptyDeck</a></span>()</code>
-<div class="block">Removes all Card objects from the deck.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>java.util.ArrayList<<a href="../model/Card.html" title="class in model">Card</a>></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Deck.html#getCards--">getCards</a></span>()</code>
-<div class="block">Returns arraylist containing all the cards in the deck.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Deck.html#hasCards--">hasCards</a></span>()</code>
-<div class="block">Makes sure the deck we're hitting from has cards in it.</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Deck.html#populate--">populate</a></span>()</code>
-<div class="block">Populates empty deck with 52 cards by looping over each rank and value.</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Deck.html#reloadDeckFromDiscard-model.Deck-">reloadDeckFromDiscard</a></span>(<a href="../model/Deck.html" title="class in model">Deck</a> discard)</code>
-<div class="block">Take all cards from discarded deck and place them in this deck, shuffled.</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Deck.html#shuffle--">shuffle</a></span>()</code>
-<div class="block">Shuffles deck using a temporary deck for storing cards in random order.</div>
-</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code><a href="../model/Card.html" title="class in model">Card</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Deck.html#takeCard--">takeCard</a></span>()</code>
-<div class="block">Takes copy of first card from deck and removes card from deck.</div>
-</td>
-</tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Deck.html#toString--">toString</a></span>()</code>
-<div class="block">Returns a String representation of the Deck object.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Deck--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Deck</h4>
-<pre>public Deck()</pre>
-<div class="block">Deck constructor</div>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="populate--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>populate</h4>
-<pre>public void populate()</pre>
-<div class="block">Populates empty deck with 52 cards by looping over each rank and value.</div>
-</li>
-</ul>
-<a name="shuffle--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>shuffle</h4>
-<pre>public void shuffle()</pre>
-<div class="block">Shuffles deck using a temporary deck for storing cards in random order.</div>
-</li>
-</ul>
-<a name="addCard-model.Card-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addCard</h4>
-<pre>public void addCard(<a href="../model/Card.html" title="class in model">Card</a> inCard)</pre>
-<div class="block">Adds a card to the deck.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>inCard</code> - card the be added</dd>
-</dl>
-</li>
-</ul>
-<a name="takeCard--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>takeCard</h4>
-<pre>public <a href="../model/Card.html" title="class in model">Card</a> takeCard()</pre>
-<div class="block">Takes copy of first card from deck and removes card from deck.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the card that was removed</dd>
-</dl>
-</li>
-</ul>
-<a name="hasCards--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>hasCards</h4>
-<pre>public boolean hasCards()</pre>
-<div class="block">Makes sure the deck we're hitting from has cards in it.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if the deck has cards in or false if the deck is empty</dd>
-</dl>
-</li>
-</ul>
-<a name="emptyDeck--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>emptyDeck</h4>
-<pre>public void emptyDeck()</pre>
-<div class="block">Removes all Card objects from the deck.</div>
-</li>
-</ul>
-<a name="addCards-java.util.ArrayList-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>addCards</h4>
-<pre>public void addCards(java.util.ArrayList<<a href="../model/Card.html" title="class in model">Card</a>> cards)</pre>
-<div class="block">Adds arraylist of cards to deck.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>cards</code> - arraylist of cards to be added to deck</dd>
-</dl>
-</li>
-</ul>
-<a name="getCards--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getCards</h4>
-<pre>public java.util.ArrayList<<a href="../model/Card.html" title="class in model">Card</a>> getCards()</pre>
-<div class="block">Returns arraylist containing all the cards in the deck.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>deck arraylist with the cards</dd>
-</dl>
-</li>
-</ul>
-<a name="reloadDeckFromDiscard-model.Deck-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>reloadDeckFromDiscard</h4>
-<pre>public void reloadDeckFromDiscard(<a href="../model/Deck.html" title="class in model">Deck</a> discard)</pre>
-<div class="block">Take all cards from discarded deck and place them in this deck, shuffled.
- Clear the old deck.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>discard</code> - the deck cards are coming from</dd>
-</dl>
-</li>
-</ul>
-<a name="cardsLeft--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>cardsLeft</h4>
-<pre>public int cardsLeft()</pre>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>number of cards left in the deck.</dd>
-</dl>
-</li>
-</ul>
-<a name="toString--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>toString</h4>
-<pre>public java.lang.String toString()</pre>
-<div class="block">Returns a String representation of the Deck object. The String contains a
- list of all the cards in the deck, with each card on a new line.</div>
-<dl>
-<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
-<dd><code>toString</code> in class <code>java.lang.Object</code></dd>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a String representation of the Deck object</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Deck.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Dealer.html" title="class in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../model/Person.html" title="class in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Deck.html" target="_top">Frames</a></li>
-<li><a href="Deck.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/Person.html b/docs/model/Person.html
@@ -1,423 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Person (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Person (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Person.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Deck.html" title="class in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../model/Player.html" title="class in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Person.html" target="_top">Frames</a></li>
-<li><a href="Person.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">model</div>
-<h2 title="Class Person" class="title">Class Person</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>model.Person</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../model/Dealer.html" title="class in model">Dealer</a>, <a href="../model/Player.html" title="class in model">Player</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public abstract class <span class="typeNameLabel">Person</span>
-extends java.lang.Object</pre>
-<div class="block"><p>
- Parent class of the Player and Dealer Objects.</p>
- <p>
- Contains information about a person in a blackjack game, such as their name
- and hand.</p></div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Michael Neuper
- <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a></dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../model/Player.html" title="class in model"><code>Player</code></a>,
-<a href="../model/Dealer.html" title="class in model"><code>Dealer</code></a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Person.html#Person--">Person</a></span>()</code>
-<div class="block">Creates a person with an empty hand and no name.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code><a href="../controller/Hand.html" title="class in controller">Hand</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Person.html#getHand--">getHand</a></span>()</code>
-<div class="block">Returns the hand of the person.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Person.html#getName--">getName</a></span>()</code>
-<div class="block">Returns the name of the person.</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Person.html#hasBlackjack--">hasBlackjack</a></span>()</code>
-<div class="block">Checks if the person has blackjack.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Person.html#hit-model.Deck-model.Deck-">hit</a></span>(<a href="../model/Deck.html" title="class in model">Deck</a> deck,
- <a href="../model/Deck.html" title="class in model">Deck</a> discard)</code>
-<div class="block">Draws a card from the deck and adds it to the person's hand.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>java.lang.String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Person.html#printHand--">printHand</a></span>()</code>
-<div class="block">Prints a formatted version of the person's hand.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Person.html#setHand-controller.Hand-">setHand</a></span>(<a href="../controller/Hand.html" title="class in controller">Hand</a> hand)</code>
-<div class="block">Sets the hand of the person.</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Person.html#setName-java.lang.String-">setName</a></span>(java.lang.String name)</code>
-<div class="block">Sets the name of the person.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Person--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Person</h4>
-<pre>public Person()</pre>
-<div class="block">Creates a person with an empty hand and no name.</div>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="getHand--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getHand</h4>
-<pre>public <a href="../controller/Hand.html" title="class in controller">Hand</a> getHand()</pre>
-<div class="block">Returns the hand of the person.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the hand of the person</dd>
-</dl>
-</li>
-</ul>
-<a name="setHand-controller.Hand-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setHand</h4>
-<pre>public void setHand(<a href="../controller/Hand.html" title="class in controller">Hand</a> hand)</pre>
-<div class="block">Sets the hand of the person.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>hand</code> - the hand to set</dd>
-</dl>
-</li>
-</ul>
-<a name="getName--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getName</h4>
-<pre>public java.lang.String getName()</pre>
-<div class="block">Returns the name of the person.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>the name of the person</dd>
-</dl>
-</li>
-</ul>
-<a name="setName-java.lang.String-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setName</h4>
-<pre>public void setName(java.lang.String name)</pre>
-<div class="block">Sets the name of the person.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>name</code> - the name to set</dd>
-</dl>
-</li>
-</ul>
-<a name="hasBlackjack--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>hasBlackjack</h4>
-<pre>public boolean hasBlackjack()</pre>
-<div class="block">Checks if the person has blackjack.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>true if the person has a blackjack, false otherwise</dd>
-</dl>
-</li>
-</ul>
-<a name="printHand--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>printHand</h4>
-<pre>public java.lang.String printHand()</pre>
-<div class="block">Prints a formatted version of the person's hand.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a formatted string representing the person's hand</dd>
-</dl>
-</li>
-</ul>
-<a name="hit-model.Deck-model.Deck-">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>hit</h4>
-<pre>public void hit(<a href="../model/Deck.html" title="class in model">Deck</a> deck,
- <a href="../model/Deck.html" title="class in model">Deck</a> discard)</pre>
-<div class="block">Draws a card from the deck and adds it to the person's hand. If the deck
- has no cards, the deck is reloaded from the discard pile.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>deck</code> - the deck to draw from</dd>
-<dd><code>discard</code> - the discard pile to reload from if the deck is empty</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Person.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Deck.html" title="class in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../model/Player.html" title="class in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Person.html" target="_top">Frames</a></li>
-<li><a href="Person.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/Player.html b/docs/model/Player.html
@@ -1,329 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Player (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Player (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":10,"i1":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Player.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Person.html" title="class in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../model/Statistics.html" title="class in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Player.html" target="_top">Frames</a></li>
-<li><a href="Player.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">model</div>
-<h2 title="Class Player" class="title">Class Player</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li><a href="../model/Person.html" title="class in model">model.Person</a></li>
-<li>
-<ul class="inheritance">
-<li>model.Player</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Player</span>
-extends <a href="../model/Person.html" title="class in model">Person</a></pre>
-<div class="block"><p>
- Represents a player in a blackjack game. A player has a name and a hand of
- cards. They can take actions such as hitting, standing, and doubling down.
- They can also make bets and receive payouts.</p>
-
- <p>
- This class extends the <a href="../model/Person.html" title="class in model"><code>Person</code></a> class, which contains shared methods
- and properties between players and dealers.</p></div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Michael Neuper
- <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a></dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../model/Person.html" title="class in model"><code>Person</code></a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Player.html#Player--">Player</a></span>()</code>
-<div class="block">Creates a new player with a default name of "Player".</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>double</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Player.html#getBalance--">getBalance</a></span>()</code>
-<div class="block">Gets the player's current balance from a file.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Player.html#setBalance-double-">setBalance</a></span>(double balance)</code>
-<div class="block">Sets the player's balance and stores it in a file.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.model.Person">
-<!-- -->
-</a>
-<h3>Methods inherited from class model.<a href="../model/Person.html" title="class in model">Person</a></h3>
-<code><a href="../model/Person.html#getHand--">getHand</a>, <a href="../model/Person.html#getName--">getName</a>, <a href="../model/Person.html#hasBlackjack--">hasBlackjack</a>, <a href="../model/Person.html#hit-model.Deck-model.Deck-">hit</a>, <a href="../model/Person.html#printHand--">printHand</a>, <a href="../model/Person.html#setHand-controller.Hand-">setHand</a>, <a href="../model/Person.html#setName-java.lang.String-">setName</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Player--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Player</h4>
-<pre>public Player()</pre>
-<div class="block">Creates a new player with a default name of "Player".</div>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="getBalance--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getBalance</h4>
-<pre>public double getBalance()</pre>
-<div class="block">Gets the player's current balance from a file.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>balance the player's current balance</dd>
-</dl>
-</li>
-</ul>
-<a name="setBalance-double-">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>setBalance</h4>
-<pre>public void setBalance(double balance)</pre>
-<div class="block">Sets the player's balance and stores it in a file.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>balance</code> - the new balance to set</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Player.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Person.html" title="class in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../model/Statistics.html" title="class in model"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Player.html" target="_top">Frames</a></li>
-<li><a href="Player.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/Statistics.html b/docs/model/Statistics.html
@@ -1,516 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Statistics (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Statistics (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":9,"i7":10,"i8":10,"i9":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Statistics.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Player.html" title="class in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li>Next Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Statistics.html" target="_top">Frames</a></li>
-<li><a href="Statistics.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">model</div>
-<h2 title="Class Statistics" class="title">Class Statistics</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>model.Statistics</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">Statistics</span>
-extends java.lang.Object</pre>
-<div class="block"><p>
- The Statistics class represents a set of statistics for a blackjack game.
- Statistics are stored in a CSV file with the following format:
- <ul>
- <li><b>Column 1:</b> number of wins</li>
- <li><b>Column 2:</b> number of losses</li>
- <li><b>Column 3:</b> number of pushes(ties)</li>
- </ul></p>
-
- <p>
- The file is named `statistics.csv` and is stored in the 'db/' directory.</p></div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Michael Neuper
- <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Statistics.html#Statistics--">Statistics</a></span>()</code>
-<div class="block">Constructs a new Statistics object with all statistics initialized to 0.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../model/Statistics.html#Statistics-int-int-int-">Statistics</a></span>(int wins,
- int losses,
- int pushes)</code>
-<div class="block">Constructs a new Statistics object with the given statistics.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Statistics.html#getLosses--">getLosses</a></span>()</code>
-<div class="block">Gets the number of losses.</div>
-</td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Statistics.html#getPushes--">getPushes</a></span>()</code>
-<div class="block">Gets the number of pushes (ties).</div>
-</td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Statistics.html#getWins--">getWins</a></span>()</code>
-<div class="block">Gets the number of wins.</div>
-</td>
-</tr>
-<tr id="i3" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Statistics.html#incrementLosses--">incrementLosses</a></span>()</code>
-<div class="block">Increments the number of losses by 1 and saves the new statistics to the
- CSV file.</div>
-</td>
-</tr>
-<tr id="i4" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Statistics.html#incrementPushes--">incrementPushes</a></span>()</code>
-<div class="block">Increments the number of pushes (ties) by 1 and saves the new statistics
- to the CSV file.</div>
-</td>
-</tr>
-<tr id="i5" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Statistics.html#incrementWins--">incrementWins</a></span>()</code>
-<div class="block">Increments the number of wins by 1 and saves the new statistics to the
- CSV file.</div>
-</td>
-</tr>
-<tr id="i6" class="altColor">
-<td class="colFirst"><code>static <a href="../model/Statistics.html" title="class in model">Statistics</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Statistics.html#load--">load</a></span>()</code>
-<div class="block">
- This static method loads the statistics from the CSV file located at the
- path defined by the CSV_FILE constant in the Statistics class.</div>
-</td>
-</tr>
-<tr id="i7" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Statistics.html#setLosses-int-">setLosses</a></span>(int losses)</code>
-<div class="block">Sets the number of losses.</div>
-</td>
-</tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Statistics.html#setPushes-int-">setPushes</a></span>(int pushes)</code>
-<div class="block">Sets the number of pushes (ties).</div>
-</td>
-</tr>
-<tr id="i9" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../model/Statistics.html#setWins-int-">setWins</a></span>(int wins)</code>
-<div class="block">Sets the number of wins.</div>
-</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="Statistics--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>Statistics</h4>
-<pre>public Statistics()</pre>
-<div class="block">Constructs a new Statistics object with all statistics initialized to 0.</div>
-</li>
-</ul>
-<a name="Statistics-int-int-int-">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>Statistics</h4>
-<pre>public Statistics(int wins,
- int losses,
- int pushes)</pre>
-<div class="block">Constructs a new Statistics object with the given statistics.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>wins</code> - the number of wins</dd>
-<dd><code>losses</code> - the number of losses</dd>
-<dd><code>pushes</code> - the number of pushes (ties)</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="getWins--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getWins</h4>
-<pre>public int getWins()</pre>
-<div class="block">Gets the number of wins.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>wins number of wins</dd>
-</dl>
-</li>
-</ul>
-<a name="getLosses--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getLosses</h4>
-<pre>public int getLosses()</pre>
-<div class="block">Gets the number of losses.</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>losses number of losses</dd>
-</dl>
-</li>
-</ul>
-<a name="getPushes--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getPushes</h4>
-<pre>public int getPushes()</pre>
-<div class="block">Gets the number of pushes (ties).</div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>pushes number of pushes</dd>
-</dl>
-</li>
-</ul>
-<a name="setWins-int-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setWins</h4>
-<pre>public void setWins(int wins)</pre>
-<div class="block">Sets the number of wins.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>wins</code> - the new number of wins</dd>
-</dl>
-</li>
-</ul>
-<a name="setLosses-int-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setLosses</h4>
-<pre>public void setLosses(int losses)</pre>
-<div class="block">Sets the number of losses.</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>losses</code> - the new number of losses</dd>
-</dl>
-</li>
-</ul>
-<a name="setPushes-int-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setPushes</h4>
-<pre>public void setPushes(int pushes)</pre>
-<div class="block">Sets the number of pushes (ties).</div>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>pushes</code> - the new number of pushes</dd>
-</dl>
-</li>
-</ul>
-<a name="incrementWins--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>incrementWins</h4>
-<pre>public void incrementWins()</pre>
-<div class="block">Increments the number of wins by 1 and saves the new statistics to the
- CSV file.</div>
-</li>
-</ul>
-<a name="incrementLosses--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>incrementLosses</h4>
-<pre>public void incrementLosses()</pre>
-<div class="block">Increments the number of losses by 1 and saves the new statistics to the
- CSV file.</div>
-</li>
-</ul>
-<a name="incrementPushes--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>incrementPushes</h4>
-<pre>public void incrementPushes()</pre>
-<div class="block">Increments the number of pushes (ties) by 1 and saves the new statistics
- to the CSV file.</div>
-</li>
-</ul>
-<a name="load--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>load</h4>
-<pre>public static <a href="../model/Statistics.html" title="class in model">Statistics</a> load()
- throws java.io.IOException</pre>
-<div class="block"><p>
- This static method loads the statistics from the CSV file located at the
- path defined by the CSV_FILE constant in the Statistics class. The method
- uses a CSVReader object to read the data from the file.</p>
- <p>
- If the CSV file does not have the expected headers, an IOException is
- thrown. The method returns a Statistics object with the values read from
- the CSV file.</p>
- <p>
- If an IOException occurs during the file reading process, it is caught
- and ignored. If a CsvValidationException is thrown during the file
- reading process, it is handled internally and an empty Statistics object
- is returned.</p></div>
-<dl>
-<dt><span class="returnLabel">Returns:</span></dt>
-<dd>a Statistics object with the values read from the CSV file, or an
- empty Statistics object if there was a problem with the CSV file format</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code> - if there is a problem with the file reading process
- or the CSV file headers are invalid</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/Statistics.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/Player.html" title="class in model"><span class="typeNameLink">Prev Class</span></a></li>
-<li>Next Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/Statistics.html" target="_top">Frames</a></li>
-<li><a href="Statistics.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li>Nested | </li>
-<li>Field | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/class-use/Card.Rank.html b/docs/model/class-use/Card.Rank.html
@@ -1,194 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class model.Card.Rank (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class model.Card.Rank (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Card.Rank.html" title="enum in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Card.Rank.html" target="_top">Frames</a></li>
-<li><a href="Card.Rank.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class model.Card.Rank" class="title">Uses of Class<br>model.Card.Rank</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../model/Card.Rank.html" title="enum in model">Card.Rank</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#model">model</a></td>
-<td class="colLast"> </td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="model">
-<!-- -->
-</a>
-<h3>Uses of <a href="../../model/Card.Rank.html" title="enum in model">Card.Rank</a> in <a href="../../model/package-summary.html">model</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../model/package-summary.html">model</a> that return <a href="../../model/Card.Rank.html" title="enum in model">Card.Rank</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../model/Card.Rank.html" title="enum in model">Card.Rank</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Card.</span><code><span class="memberNameLink"><a href="../../model/Card.html#getRank--">getRank</a></span>()</code>
-<div class="block">Gets the rank of the card.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../model/Card.Rank.html" title="enum in model">Card.Rank</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Card.Rank.</span><code><span class="memberNameLink"><a href="../../model/Card.Rank.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../model/Card.Rank.html" title="enum in model">Card.Rank</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">Card.Rank.</span><code><span class="memberNameLink"><a href="../../model/Card.Rank.html#values--">values</a></span>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../model/package-summary.html">model</a> with parameters of type <a href="../../model/Card.Rank.html" title="enum in model">Card.Rank</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../model/Card.html#Card-model.Card.Suit-model.Card.Rank-">Card</a></span>(<a href="../../model/Card.Suit.html" title="enum in model">Card.Suit</a> suit,
- <a href="../../model/Card.Rank.html" title="enum in model">Card.Rank</a> rank)</code>
-<div class="block">Creates a new Card object with the specified suit and rank.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Card.Rank.html" title="enum in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Card.Rank.html" target="_top">Frames</a></li>
-<li><a href="Card.Rank.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/class-use/Card.Suit.html b/docs/model/class-use/Card.Suit.html
@@ -1,194 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class model.Card.Suit (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class model.Card.Suit (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Card.Suit.html" title="enum in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Card.Suit.html" target="_top">Frames</a></li>
-<li><a href="Card.Suit.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class model.Card.Suit" class="title">Uses of Class<br>model.Card.Suit</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../model/Card.Suit.html" title="enum in model">Card.Suit</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#model">model</a></td>
-<td class="colLast"> </td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="model">
-<!-- -->
-</a>
-<h3>Uses of <a href="../../model/Card.Suit.html" title="enum in model">Card.Suit</a> in <a href="../../model/package-summary.html">model</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../model/package-summary.html">model</a> that return <a href="../../model/Card.Suit.html" title="enum in model">Card.Suit</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../model/Card.Suit.html" title="enum in model">Card.Suit</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Card.</span><code><span class="memberNameLink"><a href="../../model/Card.html#getSuit--">getSuit</a></span>()</code>
-<div class="block">Gets the suit of the card.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static <a href="../../model/Card.Suit.html" title="enum in model">Card.Suit</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Card.Suit.</span><code><span class="memberNameLink"><a href="../../model/Card.Suit.html#valueOf-java.lang.String-">valueOf</a></span>(java.lang.String name)</code>
-<div class="block">Returns the enum constant of this type with the specified name.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../model/Card.Suit.html" title="enum in model">Card.Suit</a>[]</code></td>
-<td class="colLast"><span class="typeNameLabel">Card.Suit.</span><code><span class="memberNameLink"><a href="../../model/Card.Suit.html#values--">values</a></span>()</code>
-<div class="block">Returns an array containing the constants of this enum type, in
-the order they are declared.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../model/package-summary.html">model</a> with parameters of type <a href="../../model/Card.Suit.html" title="enum in model">Card.Suit</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../model/Card.html#Card-model.Card.Suit-model.Card.Rank-">Card</a></span>(<a href="../../model/Card.Suit.html" title="enum in model">Card.Suit</a> suit,
- <a href="../../model/Card.Rank.html" title="enum in model">Card.Rank</a> rank)</code>
-<div class="block">Creates a new Card object with the specified suit and rank.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Card.Suit.html" title="enum in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Card.Suit.html" target="_top">Frames</a></li>
-<li><a href="Card.Suit.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/class-use/Card.html b/docs/model/class-use/Card.html
@@ -1,249 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class model.Card (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class model.Card (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Card.html" title="class in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Card.html" target="_top">Frames</a></li>
-<li><a href="Card.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class model.Card" class="title">Uses of Class<br>model.Card</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../model/Card.html" title="class in model">Card</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#controller">controller</a></td>
-<td class="colLast"> </td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#model">model</a></td>
-<td class="colLast"> </td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="controller">
-<!-- -->
-</a>
-<h3>Uses of <a href="../../model/Card.html" title="class in model">Card</a> in <a href="../../controller/package-summary.html">controller</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../controller/package-summary.html">controller</a> that return <a href="../../model/Card.html" title="class in model">Card</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../model/Card.html" title="class in model">Card</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Hand.</span><code><span class="memberNameLink"><a href="../../controller/Hand.html#getCard-int-">getCard</a></span>(int i)</code>
-<div class="block">Gets the card at a specific index.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="model">
-<!-- -->
-</a>
-<h3>Uses of <a href="../../model/Card.html" title="class in model">Card</a> in <a href="../../model/package-summary.html">model</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../model/package-summary.html">model</a> that return <a href="../../model/Card.html" title="class in model">Card</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code><a href="../../model/Card.html" title="class in model">Card</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Deck.</span><code><span class="memberNameLink"><a href="../../model/Deck.html#takeCard--">takeCard</a></span>()</code>
-<div class="block">Takes copy of first card from deck and removes card from deck.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../model/package-summary.html">model</a> that return types with arguments of type <a href="../../model/Card.html" title="class in model">Card</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>java.util.ArrayList<<a href="../../model/Card.html" title="class in model">Card</a>></code></td>
-<td class="colLast"><span class="typeNameLabel">Deck.</span><code><span class="memberNameLink"><a href="../../model/Deck.html#getCards--">getCards</a></span>()</code>
-<div class="block">Returns arraylist containing all the cards in the deck.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../model/package-summary.html">model</a> with parameters of type <a href="../../model/Card.html" title="class in model">Card</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Deck.</span><code><span class="memberNameLink"><a href="../../model/Deck.html#addCard-model.Card-">addCard</a></span>(<a href="../../model/Card.html" title="class in model">Card</a> inCard)</code>
-<div class="block">Adds a card to the deck.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Method parameters in <a href="../../model/package-summary.html">model</a> with type arguments of type <a href="../../model/Card.html" title="class in model">Card</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Deck.</span><code><span class="memberNameLink"><a href="../../model/Deck.html#addCards-java.util.ArrayList-">addCards</a></span>(java.util.ArrayList<<a href="../../model/Card.html" title="class in model">Card</a>> cards)</code>
-<div class="block">Adds arraylist of cards to deck.</div>
-</td>
-</tr>
-</tbody>
-</table>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing constructors, and an explanation">
-<caption><span>Constructors in <a href="../../model/package-summary.html">model</a> with parameters of type <a href="../../model/Card.html" title="class in model">Card</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colLast"><code><span class="memberNameLink"><a href="../../model/Card.html#Card-model.Card-">Card</a></span>(<a href="../../model/Card.html" title="class in model">Card</a> card)</code>
-<div class="block">Creates a new Card object as a copy of another Card object.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Card.html" title="class in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Card.html" target="_top">Frames</a></li>
-<li><a href="Card.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/class-use/Dealer.html b/docs/model/class-use/Dealer.html
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class model.Dealer (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class model.Dealer (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Dealer.html" title="class in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Dealer.html" target="_top">Frames</a></li>
-<li><a href="Dealer.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class model.Dealer" class="title">Uses of Class<br>model.Dealer</h2>
-</div>
-<div class="classUseContainer">No usage of model.Dealer</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Dealer.html" title="class in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Dealer.html" target="_top">Frames</a></li>
-<li><a href="Dealer.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/class-use/Deck.html b/docs/model/class-use/Deck.html
@@ -1,205 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class model.Deck (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class model.Deck (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Deck.html" title="class in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Deck.html" target="_top">Frames</a></li>
-<li><a href="Deck.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class model.Deck" class="title">Uses of Class<br>model.Deck</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../model/Deck.html" title="class in model">Deck</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#controller">controller</a></td>
-<td class="colLast"> </td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#model">model</a></td>
-<td class="colLast"> </td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="controller">
-<!-- -->
-</a>
-<h3>Uses of <a href="../../model/Deck.html" title="class in model">Deck</a> in <a href="../../controller/package-summary.html">controller</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../controller/package-summary.html">controller</a> with parameters of type <a href="../../model/Deck.html" title="class in model">Deck</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Hand.</span><code><span class="memberNameLink"><a href="../../controller/Hand.html#discardHandToDeck-model.Deck-">discardHandToDeck</a></span>(<a href="../../model/Deck.html" title="class in model">Deck</a> discardDeck)</code>
-<div class="block">Discards the current hand and adds its cards to the specified discard
- deck.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Hand.</span><code><span class="memberNameLink"><a href="../../controller/Hand.html#takeCardFromDeck-model.Deck-">takeCardFromDeck</a></span>(<a href="../../model/Deck.html" title="class in model">Deck</a> deck)</code>
-<div class="block">Adds a card from the deck to the hand.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="model">
-<!-- -->
-</a>
-<h3>Uses of <a href="../../model/Deck.html" title="class in model">Deck</a> in <a href="../../model/package-summary.html">model</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../model/package-summary.html">model</a> with parameters of type <a href="../../model/Deck.html" title="class in model">Deck</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Person.</span><code><span class="memberNameLink"><a href="../../model/Person.html#hit-model.Deck-model.Deck-">hit</a></span>(<a href="../../model/Deck.html" title="class in model">Deck</a> deck,
- <a href="../../model/Deck.html" title="class in model">Deck</a> discard)</code>
-<div class="block">Draws a card from the deck and adds it to the person's hand.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><span class="typeNameLabel">Deck.</span><code><span class="memberNameLink"><a href="../../model/Deck.html#reloadDeckFromDiscard-model.Deck-">reloadDeckFromDiscard</a></span>(<a href="../../model/Deck.html" title="class in model">Deck</a> discard)</code>
-<div class="block">Take all cards from discarded deck and place them in this deck, shuffled.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Deck.html" title="class in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Deck.html" target="_top">Frames</a></li>
-<li><a href="Deck.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/class-use/Person.html b/docs/model/class-use/Person.html
@@ -1,174 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class model.Person (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class model.Person (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Person.html" title="class in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Person.html" target="_top">Frames</a></li>
-<li><a href="Person.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class model.Person" class="title">Uses of Class<br>model.Person</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../model/Person.html" title="class in model">Person</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#model">model</a></td>
-<td class="colLast"> </td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="model">
-<!-- -->
-</a>
-<h3>Uses of <a href="../../model/Person.html" title="class in model">Person</a> in <a href="../../model/package-summary.html">model</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../model/Person.html" title="class in model">Person</a> in <a href="../../model/package-summary.html">model</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>class </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../model/Dealer.html" title="class in model">Dealer</a></span></code>
-<div class="block">Represents a dealer in a card game and handles dealer-specific operations.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>class </code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../model/Player.html" title="class in model">Player</a></span></code>
-<div class="block">
- Represents a player in a blackjack game.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Person.html" title="class in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Person.html" target="_top">Frames</a></li>
-<li><a href="Person.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/class-use/Player.html b/docs/model/class-use/Player.html
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class model.Player (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class model.Player (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Player.html" title="class in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Player.html" target="_top">Frames</a></li>
-<li><a href="Player.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class model.Player" class="title">Uses of Class<br>model.Player</h2>
-</div>
-<div class="classUseContainer">No usage of model.Player</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Player.html" title="class in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Player.html" target="_top">Frames</a></li>
-<li><a href="Player.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/class-use/Statistics.html b/docs/model/class-use/Statistics.html
@@ -1,169 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class model.Statistics (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class model.Statistics (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Statistics.html" title="class in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Statistics.html" target="_top">Frames</a></li>
-<li><a href="Statistics.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class model.Statistics" class="title">Uses of Class<br>model.Statistics</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../../model/Statistics.html" title="class in model">Statistics</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#model">model</a></td>
-<td class="colLast"> </td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<ul class="blockList">
-<li class="blockList"><a name="model">
-<!-- -->
-</a>
-<h3>Uses of <a href="../../model/Statistics.html" title="class in model">Statistics</a> in <a href="../../model/package-summary.html">model</a></h3>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing methods, and an explanation">
-<caption><span>Methods in <a href="../../model/package-summary.html">model</a> that return <a href="../../model/Statistics.html" title="class in model">Statistics</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>static <a href="../../model/Statistics.html" title="class in model">Statistics</a></code></td>
-<td class="colLast"><span class="typeNameLabel">Statistics.</span><code><span class="memberNameLink"><a href="../../model/Statistics.html#load--">load</a></span>()</code>
-<div class="block">
- This static method loads the statistics from the CSV file located at the
- path defined by the CSV_FILE constant in the Statistics class.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../model/Statistics.html" title="class in model">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?model/class-use/Statistics.html" target="_top">Frames</a></li>
-<li><a href="Statistics.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/package-frame.html b/docs/model/package-frame.html
@@ -1,31 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>model (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../model/package-summary.html" target="classFrame">model</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="Card.html" title="class in model" target="classFrame">Card</a></li>
-<li><a href="Dealer.html" title="class in model" target="classFrame">Dealer</a></li>
-<li><a href="Deck.html" title="class in model" target="classFrame">Deck</a></li>
-<li><a href="Person.html" title="class in model" target="classFrame">Person</a></li>
-<li><a href="Player.html" title="class in model" target="classFrame">Player</a></li>
-<li><a href="Statistics.html" title="class in model" target="classFrame">Statistics</a></li>
-</ul>
-<h2 title="Enums">Enums</h2>
-<ul title="Enums">
-<li><a href="Card.Rank.html" title="enum in model" target="classFrame">Card.Rank</a></li>
-<li><a href="Card.Suit.html" title="enum in model" target="classFrame">Card.Suit</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/docs/model/package-summary.html b/docs/model/package-summary.html
@@ -1,202 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>model (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="model (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../controller/package-summary.html">Prev Package</a></li>
-<li><a href="../view/package-summary.html">Next Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package model</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../model/Card.html" title="class in model">Card</a></td>
-<td class="colLast">
-<div class="block">Represents a standard playing card and handles card operations.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../model/Dealer.html" title="class in model">Dealer</a></td>
-<td class="colLast">
-<div class="block">Represents a dealer in a card game and handles dealer-specific operations.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../model/Deck.html" title="class in model">Deck</a></td>
-<td class="colLast">
-<div class="block">
- Holds multiple cards and performs operations such as shuffling the deck.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../model/Person.html" title="class in model">Person</a></td>
-<td class="colLast">
-<div class="block">
- Parent class of the Player and Dealer Objects.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../model/Player.html" title="class in model">Player</a></td>
-<td class="colLast">
-<div class="block">
- Represents a player in a blackjack game.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../model/Statistics.html" title="class in model">Statistics</a></td>
-<td class="colLast">
-<div class="block">
- The Statistics class represents a set of statistics for a blackjack game.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Summary table, listing enums, and an explanation">
-<caption><span>Enum Summary</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Enum</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../model/Card.Rank.html" title="enum in model">Card.Rank</a></td>
-<td class="colLast">
-<div class="block">Represents the thirteen possible ranks in a standard playing card deck.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../model/Card.Suit.html" title="enum in model">Card.Suit</a></td>
-<td class="colLast">
-<div class="block">Represents the four possible suits in a standard playing card deck.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../controller/package-summary.html">Prev Package</a></li>
-<li><a href="../view/package-summary.html">Next Package</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/package-tree.html b/docs/model/package-tree.html
@@ -1,159 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>model Class Hierarchy (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="model Class Hierarchy (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../controller/package-tree.html">Prev</a></li>
-<li><a href="../view/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package model</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">model.<a href="../model/Card.html" title="class in model"><span class="typeNameLink">Card</span></a></li>
-<li type="circle">model.<a href="../model/Deck.html" title="class in model"><span class="typeNameLink">Deck</span></a></li>
-<li type="circle">model.<a href="../model/Person.html" title="class in model"><span class="typeNameLink">Person</span></a>
-<ul>
-<li type="circle">model.<a href="../model/Dealer.html" title="class in model"><span class="typeNameLink">Dealer</span></a></li>
-<li type="circle">model.<a href="../model/Player.html" title="class in model"><span class="typeNameLink">Player</span></a></li>
-</ul>
-</li>
-<li type="circle">model.<a href="../model/Statistics.html" title="class in model"><span class="typeNameLink">Statistics</span></a></li>
-</ul>
-</li>
-</ul>
-<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
-<ul>
-<li type="circle">model.<a href="../model/Card.Suit.html" title="enum in model"><span class="typeNameLink">Card.Suit</span></a></li>
-<li type="circle">model.<a href="../model/Card.Rank.html" title="enum in model"><span class="typeNameLink">Card.Rank</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../controller/package-tree.html">Prev</a></li>
-<li><a href="../view/package-tree.html">Next</a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/model/package-use.html b/docs/model/package-use.html
@@ -1,215 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package model (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package model (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package model" class="title">Uses of Package<br>model</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
-<caption><span>Packages that use <a href="../model/package-summary.html">model</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="#controller">controller</a></td>
-<td class="colLast"> </td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="#model">model</a></td>
-<td class="colLast"> </td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="controller">
-<!-- -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../model/package-summary.html">model</a> used by <a href="../controller/package-summary.html">controller</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../model/class-use/Card.html#controller">Card</a>
-<div class="block">Represents a standard playing card and handles card operations.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../model/class-use/Deck.html#controller">Deck</a>
-<div class="block">
- Holds multiple cards and performs operations such as shuffling the deck.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList"><a name="model">
-<!-- -->
-</a>
-<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../model/package-summary.html">model</a> used by <a href="../model/package-summary.html">model</a></span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colOne"><a href="../model/class-use/Card.html#model">Card</a>
-<div class="block">Represents a standard playing card and handles card operations.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../model/class-use/Card.Rank.html#model">Card.Rank</a>
-<div class="block">Represents the thirteen possible ranks in a standard playing card deck.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><a href="../model/class-use/Card.Suit.html#model">Card.Suit</a>
-<div class="block">Represents the four possible suits in a standard playing card deck.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../model/class-use/Deck.html#model">Deck</a>
-<div class="block">
- Holds multiple cards and performs operations such as shuffling the deck.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colOne"><a href="../model/class-use/Person.html#model">Person</a>
-<div class="block">
- Parent class of the Player and Dealer Objects.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../model/class-use/Statistics.html#model">Statistics</a>
-<div class="block">
- The Statistics class represents a set of statistics for a blackjack game.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?model/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/overview-frame.html b/docs/overview-frame.html
@@ -1,24 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Overview List (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-</head>
-<body>
-<div class="indexHeader"><span><a href="allclasses-frame.html" target="packageFrame">All Classes</a></span></div>
-<div class="indexContainer">
-<h2 title="Packages">Packages</h2>
-<ul title="Packages">
-<li><a href="controller/package-frame.html" target="packageFrame">controller</a></li>
-<li><a href="model/package-frame.html" target="packageFrame">model</a></li>
-<li><a href="view/package-frame.html" target="packageFrame">view</a></li>
-</ul>
-</div>
-<p> </p>
-</body>
-</html>
diff --git a/docs/overview-summary.html b/docs/overview-summary.html
@@ -1,144 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Overview (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Overview (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li class="navBarCell1Rev">Overview</li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li><a href="deprecated-list.html">Deprecated</a></li>
-<li><a href="index-files/index-1.html">Index</a></li>
-<li><a href="help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="index.html?overview-summary.html" target="_top">Frames</a></li>
-<li><a href="overview-summary.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="contentContainer">
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Packages table, listing packages, and an explanation">
-<caption><span>Packages</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Package</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="controller/package-summary.html">controller</a></td>
-<td class="colLast"> </td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="model/package-summary.html">model</a></td>
-<td class="colLast"> </td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="view/package-summary.html">view</a></td>
-<td class="colLast"> </td>
-</tr>
-</tbody>
-</table>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li class="navBarCell1Rev">Overview</li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li><a href="deprecated-list.html">Deprecated</a></li>
-<li><a href="index-files/index-1.html">Index</a></li>
-<li><a href="help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="index.html?overview-summary.html" target="_top">Frames</a></li>
-<li><a href="overview-summary.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/overview-tree.html b/docs/overview-tree.html
@@ -1,187 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Class Hierarchy (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Class Hierarchy (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="deprecated-list.html">Deprecated</a></li>
-<li><a href="index-files/index-1.html">Index</a></li>
-<li><a href="help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li>
-<li><a href="overview-tree.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For All Packages</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="controller/package-tree.html">controller</a>, </li>
-<li><a href="model/package-tree.html">model</a>, </li>
-<li><a href="view/package-tree.html">view</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">model.<a href="model/Card.html" title="class in model"><span class="typeNameLink">Card</span></a></li>
-<li type="circle">java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
-<ul>
-<li type="circle">java.awt.Container
-<ul>
-<li type="circle">java.awt.Window (implements javax.accessibility.Accessible)
-<ul>
-<li type="circle">java.awt.Frame (implements java.awt.MenuContainer)
-<ul>
-<li type="circle">javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
-<ul>
-<li type="circle">view.<a href="view/LoginGUI.html" title="class in view"><span class="typeNameLink">LoginGUI</span></a></li>
-<li type="circle">view.<a href="view/MainGUI.html" title="class in view"><span class="typeNameLink">MainGUI</span></a></li>
-<li type="circle">view.<a href="view/StatisticsGUI.html" title="class in view"><span class="typeNameLink">StatisticsGUI</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li type="circle">controller.<a href="controller/Controller.html" title="class in controller"><span class="typeNameLink">Controller</span></a></li>
-<li type="circle">model.<a href="model/Deck.html" title="class in model"><span class="typeNameLink">Deck</span></a></li>
-<li type="circle">controller.<a href="controller/Hand.html" title="class in controller"><span class="typeNameLink">Hand</span></a></li>
-<li type="circle">controller.<a href="controller/LoginController.html" title="class in controller"><span class="typeNameLink">LoginController</span></a></li>
-<li type="circle">model.<a href="model/Person.html" title="class in model"><span class="typeNameLink">Person</span></a>
-<ul>
-<li type="circle">model.<a href="model/Dealer.html" title="class in model"><span class="typeNameLink">Dealer</span></a></li>
-<li type="circle">model.<a href="model/Player.html" title="class in model"><span class="typeNameLink">Player</span></a></li>
-</ul>
-</li>
-<li type="circle">model.<a href="model/Statistics.html" title="class in model"><span class="typeNameLink">Statistics</span></a></li>
-</ul>
-</li>
-</ul>
-<h2 title="Enum Hierarchy">Enum Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">java.lang.Enum<E> (implements java.lang.Comparable<T>, java.io.Serializable)
-<ul>
-<li type="circle">model.<a href="model/Card.Suit.html" title="enum in model"><span class="typeNameLink">Card.Suit</span></a></li>
-<li type="circle">model.<a href="model/Card.Rank.html" title="enum in model"><span class="typeNameLink">Card.Rank</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="deprecated-list.html">Deprecated</a></li>
-<li><a href="index-files/index-1.html">Index</a></li>
-<li><a href="help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="index.html?overview-tree.html" target="_top">Frames</a></li>
-<li><a href="overview-tree.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/package-list b/docs/package-list
@@ -1,3 +0,0 @@
-controller
-model
-view
diff --git a/docs/script.js b/docs/script.js
@@ -1,30 +0,0 @@
-function show(type)
-{
- count = 0;
- for (var key in methods) {
- var row = document.getElementById(key);
- if ((methods[key] & type) != 0) {
- row.style.display = '';
- row.className = (count++ % 2) ? rowColor : altColor;
- }
- else
- row.style.display = 'none';
- }
- updateTabs(type);
-}
-
-function updateTabs(type)
-{
- for (var value in tabs) {
- var sNode = document.getElementById(tabs[value][0]);
- var spanNode = sNode.firstChild;
- if (value == type) {
- sNode.className = activeTableTab;
- spanNode.innerHTML = tabs[value][1];
- }
- else {
- sNode.className = tableTab;
- spanNode.innerHTML = "<a href=\"javascript:show("+ value + ");\">" + tabs[value][1] + "</a>";
- }
- }
-}
diff --git a/docs/serialized-form.html b/docs/serialized-form.html
@@ -1,373 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Serialized Form (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
-<script type="text/javascript" src="script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Serialized Form (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li><a href="deprecated-list.html">Deprecated</a></li>
-<li><a href="index-files/index-1.html">Index</a></li>
-<li><a href="help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="index.html?serialized-form.html" target="_top">Frames</a></li>
-<li><a href="serialized-form.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Serialized Form" class="title">Serialized Form</h1>
-</div>
-<div class="serializedFormContainer">
-<ul class="blockList">
-<li class="blockList">
-<h2 title="Package">Package view</h2>
-<ul class="blockList">
-<li class="blockList"><a name="view.LoginGUI">
-<!-- -->
-</a>
-<h3>Class <a href="view/LoginGUI.html" title="class in view">view.LoginGUI</a> extends javax.swing.JFrame implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>controller</h4>
-<pre><a href="controller/LoginController.html" title="class in controller">LoginController</a> controller</pre>
-</li>
-<li class="blockList">
-<h4>jButtonVerify</h4>
-<pre>javax.swing.JButton jButtonVerify</pre>
-</li>
-<li class="blockList">
-<h4>jDateChooser1</h4>
-<pre>com.toedter.calendar.JDateChooser jDateChooser1</pre>
-</li>
-<li class="blockList">
-<h4>jLabel1</h4>
-<pre>javax.swing.JLabel jLabel1</pre>
-</li>
-<li class="blockList">
-<h4>jLabel2</h4>
-<pre>javax.swing.JLabel jLabel2</pre>
-</li>
-<li class="blockList">
-<h4>jLabel3</h4>
-<pre>javax.swing.JLabel jLabel3</pre>
-</li>
-<li class="blockList">
-<h4>jLabel4</h4>
-<pre>javax.swing.JLabel jLabel4</pre>
-</li>
-<li class="blockList">
-<h4>jLabel5</h4>
-<pre>javax.swing.JLabel jLabel5</pre>
-</li>
-<li class="blockList">
-<h4>jLabel6</h4>
-<pre>javax.swing.JLabel jLabel6</pre>
-</li>
-<li class="blockList">
-<h4>jLabelCardsImage</h4>
-<pre>javax.swing.JLabel jLabelCardsImage</pre>
-</li>
-<li class="blockList">
-<h4>jLabelDateOfBirth</h4>
-<pre>javax.swing.JLabel jLabelDateOfBirth</pre>
-</li>
-<li class="blockList">
-<h4>jLabelEmail</h4>
-<pre>javax.swing.JLabel jLabelEmail</pre>
-</li>
-<li class="blockList">
-<h4>jLabelLogin</h4>
-<pre>javax.swing.JLabel jLabelLogin</pre>
-</li>
-<li class="blockList">
-<h4>jLabelMobileNumber</h4>
-<pre>javax.swing.JLabel jLabelMobileNumber</pre>
-</li>
-<li class="blockList">
-<h4>jLabelPassword</h4>
-<pre>javax.swing.JLabel jLabelPassword</pre>
-</li>
-<li class="blockList">
-<h4>jLabelPasswordRequirements</h4>
-<pre>javax.swing.JLabel jLabelPasswordRequirements</pre>
-</li>
-<li class="blockList">
-<h4>jLabelUsername</h4>
-<pre>javax.swing.JLabel jLabelUsername</pre>
-</li>
-<li class="blockList">
-<h4>jLabelWelcome</h4>
-<pre>javax.swing.JLabel jLabelWelcome</pre>
-</li>
-<li class="blockList">
-<h4>jPanel1</h4>
-<pre>javax.swing.JPanel jPanel1</pre>
-</li>
-<li class="blockList">
-<h4>jPanel2</h4>
-<pre>javax.swing.JPanel jPanel2</pre>
-</li>
-<li class="blockList">
-<h4>jPanel3</h4>
-<pre>javax.swing.JPanel jPanel3</pre>
-</li>
-<li class="blockList">
-<h4>jPasswordField</h4>
-<pre>javax.swing.JPasswordField jPasswordField</pre>
-</li>
-<li class="blockList">
-<h4>jTextFieldEmail</h4>
-<pre>javax.swing.JTextField jTextFieldEmail</pre>
-</li>
-<li class="blockList">
-<h4>jTextFieldMobileNumber</h4>
-<pre>javax.swing.JTextField jTextFieldMobileNumber</pre>
-</li>
-<li class="blockListLast">
-<h4>jTextFieldUsername</h4>
-<pre>javax.swing.JTextField jTextFieldUsername</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="blockList"><a name="view.MainGUI">
-<!-- -->
-</a>
-<h3>Class <a href="view/MainGUI.html" title="class in view">view.MainGUI</a> extends javax.swing.JFrame implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>game</h4>
-<pre><a href="controller/Controller.html" title="class in controller">Controller</a> game</pre>
-</li>
-<li class="blockList">
-<h4>jButtonBetAmount</h4>
-<pre>javax.swing.JButton jButtonBetAmount</pre>
-</li>
-<li class="blockList">
-<h4>jButtonDeal</h4>
-<pre>javax.swing.JButton jButtonDeal</pre>
-</li>
-<li class="blockList">
-<h4>jButtonDouble</h4>
-<pre>javax.swing.JButton jButtonDouble</pre>
-</li>
-<li class="blockList">
-<h4>jButtonExit</h4>
-<pre>javax.swing.JButton jButtonExit</pre>
-</li>
-<li class="blockList">
-<h4>jButtonHit</h4>
-<pre>javax.swing.JButton jButtonHit</pre>
-</li>
-<li class="blockList">
-<h4>jButtonStand</h4>
-<pre>javax.swing.JButton jButtonStand</pre>
-</li>
-<li class="blockList">
-<h4>jButtonStats</h4>
-<pre>javax.swing.JButton jButtonStats</pre>
-</li>
-<li class="blockList">
-<h4>jLabelBalance</h4>
-<pre>javax.swing.JLabel jLabelBalance</pre>
-</li>
-<li class="blockList">
-<h4>jLabelCurrentBet</h4>
-<pre>javax.swing.JLabel jLabelCurrentBet</pre>
-</li>
-<li class="blockList">
-<h4>jLabelDealerHand</h4>
-<pre>javax.swing.JLabel jLabelDealerHand</pre>
-</li>
-<li class="blockList">
-<h4>jLabelDealerHandValue</h4>
-<pre>javax.swing.JLabel jLabelDealerHandValue</pre>
-</li>
-<li class="blockList">
-<h4>jLabelDisplayDealerHand</h4>
-<pre>javax.swing.JLabel jLabelDisplayDealerHand</pre>
-</li>
-<li class="blockList">
-<h4>jLabelDisplayPlayerHand</h4>
-<pre>javax.swing.JLabel jLabelDisplayPlayerHand</pre>
-</li>
-<li class="blockList">
-<h4>jLabelPlayerHand</h4>
-<pre>javax.swing.JLabel jLabelPlayerHand</pre>
-</li>
-<li class="blockList">
-<h4>jLabelPlayerHandValue</h4>
-<pre>javax.swing.JLabel jLabelPlayerHandValue</pre>
-</li>
-<li class="blockList">
-<h4>jLabelResult</h4>
-<pre>javax.swing.JLabel jLabelResult</pre>
-</li>
-<li class="blockListLast">
-<h4>jPanel3</h4>
-<pre>javax.swing.JPanel jPanel3</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-<li class="blockList"><a name="view.StatisticsGUI">
-<!-- -->
-</a>
-<h3>Class <a href="view/StatisticsGUI.html" title="class in view">view.StatisticsGUI</a> extends javax.swing.JFrame implements Serializable</h3>
-<ul class="blockList">
-<li class="blockList">
-<h3>Serialized Fields</h3>
-<ul class="blockList">
-<li class="blockList">
-<h4>stats</h4>
-<pre><a href="model/Statistics.html" title="class in model">Statistics</a> stats</pre>
-</li>
-<li class="blockList">
-<h4>jLabelLosses</h4>
-<pre>javax.swing.JLabel jLabelLosses</pre>
-</li>
-<li class="blockList">
-<h4>jLabelLossesAmount</h4>
-<pre>javax.swing.JLabel jLabelLossesAmount</pre>
-</li>
-<li class="blockList">
-<h4>jLabelPushes</h4>
-<pre>javax.swing.JLabel jLabelPushes</pre>
-</li>
-<li class="blockList">
-<h4>jLabelPushesAmount</h4>
-<pre>javax.swing.JLabel jLabelPushesAmount</pre>
-</li>
-<li class="blockList">
-<h4>jLabelStatistics</h4>
-<pre>javax.swing.JLabel jLabelStatistics</pre>
-</li>
-<li class="blockList">
-<h4>jLabelWins</h4>
-<pre>javax.swing.JLabel jLabelWins</pre>
-</li>
-<li class="blockListLast">
-<h4>jLabelWinsAmount</h4>
-<pre>javax.swing.JLabel jLabelWinsAmount</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="overview-summary.html">Overview</a></li>
-<li>Package</li>
-<li>Class</li>
-<li>Use</li>
-<li><a href="overview-tree.html">Tree</a></li>
-<li><a href="deprecated-list.html">Deprecated</a></li>
-<li><a href="index-files/index-1.html">Index</a></li>
-<li><a href="help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="index.html?serialized-form.html" target="_top">Frames</a></li>
-<li><a href="serialized-form.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/stylesheet.css b/docs/stylesheet.css
@@ -1,574 +0,0 @@
-/* Javadoc style sheet */
-/*
-Overall document style
-*/
-
-@import url('resources/fonts/dejavu.css');
-
-body {
- background-color:#ffffff;
- color:#353833;
- font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
- font-size:14px;
- margin:0;
-}
-a:link, a:visited {
- text-decoration:none;
- color:#4A6782;
-}
-a:hover, a:focus {
- text-decoration:none;
- color:#bb7a2a;
-}
-a:active {
- text-decoration:none;
- color:#4A6782;
-}
-a[name] {
- color:#353833;
-}
-a[name]:hover {
- text-decoration:none;
- color:#353833;
-}
-pre {
- font-family:'DejaVu Sans Mono', monospace;
- font-size:14px;
-}
-h1 {
- font-size:20px;
-}
-h2 {
- font-size:18px;
-}
-h3 {
- font-size:16px;
- font-style:italic;
-}
-h4 {
- font-size:13px;
-}
-h5 {
- font-size:12px;
-}
-h6 {
- font-size:11px;
-}
-ul {
- list-style-type:disc;
-}
-code, tt {
- font-family:'DejaVu Sans Mono', monospace;
- font-size:14px;
- padding-top:4px;
- margin-top:8px;
- line-height:1.4em;
-}
-dt code {
- font-family:'DejaVu Sans Mono', monospace;
- font-size:14px;
- padding-top:4px;
-}
-table tr td dt code {
- font-family:'DejaVu Sans Mono', monospace;
- font-size:14px;
- vertical-align:top;
- padding-top:4px;
-}
-sup {
- font-size:8px;
-}
-/*
-Document title and Copyright styles
-*/
-.clear {
- clear:both;
- height:0px;
- overflow:hidden;
-}
-.aboutLanguage {
- float:right;
- padding:0px 21px;
- font-size:11px;
- z-index:200;
- margin-top:-9px;
-}
-.legalCopy {
- margin-left:.5em;
-}
-.bar a, .bar a:link, .bar a:visited, .bar a:active {
- color:#FFFFFF;
- text-decoration:none;
-}
-.bar a:hover, .bar a:focus {
- color:#bb7a2a;
-}
-.tab {
- background-color:#0066FF;
- color:#ffffff;
- padding:8px;
- width:5em;
- font-weight:bold;
-}
-/*
-Navigation bar styles
-*/
-.bar {
- background-color:#4D7A97;
- color:#FFFFFF;
- padding:.8em .5em .4em .8em;
- height:auto;/*height:1.8em;*/
- font-size:11px;
- margin:0;
-}
-.topNav {
- background-color:#4D7A97;
- color:#FFFFFF;
- float:left;
- padding:0;
- width:100%;
- clear:right;
- height:2.8em;
- padding-top:10px;
- overflow:hidden;
- font-size:12px;
-}
-.bottomNav {
- margin-top:10px;
- background-color:#4D7A97;
- color:#FFFFFF;
- float:left;
- padding:0;
- width:100%;
- clear:right;
- height:2.8em;
- padding-top:10px;
- overflow:hidden;
- font-size:12px;
-}
-.subNav {
- background-color:#dee3e9;
- float:left;
- width:100%;
- overflow:hidden;
- font-size:12px;
-}
-.subNav div {
- clear:left;
- float:left;
- padding:0 0 5px 6px;
- text-transform:uppercase;
-}
-ul.navList, ul.subNavList {
- float:left;
- margin:0 25px 0 0;
- padding:0;
-}
-ul.navList li{
- list-style:none;
- float:left;
- padding: 5px 6px;
- text-transform:uppercase;
-}
-ul.subNavList li{
- list-style:none;
- float:left;
-}
-.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited {
- color:#FFFFFF;
- text-decoration:none;
- text-transform:uppercase;
-}
-.topNav a:hover, .bottomNav a:hover {
- text-decoration:none;
- color:#bb7a2a;
- text-transform:uppercase;
-}
-.navBarCell1Rev {
- background-color:#F8981D;
- color:#253441;
- margin: auto 5px;
-}
-.skipNav {
- position:absolute;
- top:auto;
- left:-9999px;
- overflow:hidden;
-}
-/*
-Page header and footer styles
-*/
-.header, .footer {
- clear:both;
- margin:0 20px;
- padding:5px 0 0 0;
-}
-.indexHeader {
- margin:10px;
- position:relative;
-}
-.indexHeader span{
- margin-right:15px;
-}
-.indexHeader h1 {
- font-size:13px;
-}
-.title {
- color:#2c4557;
- margin:10px 0;
-}
-.subTitle {
- margin:5px 0 0 0;
-}
-.header ul {
- margin:0 0 15px 0;
- padding:0;
-}
-.footer ul {
- margin:20px 0 5px 0;
-}
-.header ul li, .footer ul li {
- list-style:none;
- font-size:13px;
-}
-/*
-Heading styles
-*/
-div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 {
- background-color:#dee3e9;
- border:1px solid #d0d9e0;
- margin:0 0 6px -8px;
- padding:7px 5px;
-}
-ul.blockList ul.blockList ul.blockList li.blockList h3 {
- background-color:#dee3e9;
- border:1px solid #d0d9e0;
- margin:0 0 6px -8px;
- padding:7px 5px;
-}
-ul.blockList ul.blockList li.blockList h3 {
- padding:0;
- margin:15px 0;
-}
-ul.blockList li.blockList h2 {
- padding:0px 0 20px 0;
-}
-/*
-Page layout container styles
-*/
-.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer {
- clear:both;
- padding:10px 20px;
- position:relative;
-}
-.indexContainer {
- margin:10px;
- position:relative;
- font-size:12px;
-}
-.indexContainer h2 {
- font-size:13px;
- padding:0 0 3px 0;
-}
-.indexContainer ul {
- margin:0;
- padding:0;
-}
-.indexContainer ul li {
- list-style:none;
- padding-top:2px;
-}
-.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt {
- font-size:12px;
- font-weight:bold;
- margin:10px 0 0 0;
- color:#4E4E4E;
-}
-.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd {
- margin:5px 0 10px 0px;
- font-size:14px;
- font-family:'DejaVu Sans Mono',monospace;
-}
-.serializedFormContainer dl.nameValue dt {
- margin-left:1px;
- font-size:1.1em;
- display:inline;
- font-weight:bold;
-}
-.serializedFormContainer dl.nameValue dd {
- margin:0 0 0 1px;
- font-size:1.1em;
- display:inline;
-}
-/*
-List styles
-*/
-ul.horizontal li {
- display:inline;
- font-size:0.9em;
-}
-ul.inheritance {
- margin:0;
- padding:0;
-}
-ul.inheritance li {
- display:inline;
- list-style:none;
-}
-ul.inheritance li ul.inheritance {
- margin-left:15px;
- padding-left:15px;
- padding-top:1px;
-}
-ul.blockList, ul.blockListLast {
- margin:10px 0 10px 0;
- padding:0;
-}
-ul.blockList li.blockList, ul.blockListLast li.blockList {
- list-style:none;
- margin-bottom:15px;
- line-height:1.4;
-}
-ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList {
- padding:0px 20px 5px 10px;
- border:1px solid #ededed;
- background-color:#f8f8f8;
-}
-ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList {
- padding:0 0 5px 8px;
- background-color:#ffffff;
- border:none;
-}
-ul.blockList ul.blockList ul.blockList ul.blockList li.blockList {
- margin-left:0;
- padding-left:0;
- padding-bottom:15px;
- border:none;
-}
-ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast {
- list-style:none;
- border-bottom:none;
- padding-bottom:0;
-}
-table tr td dl, table tr td dl dt, table tr td dl dd {
- margin-top:0;
- margin-bottom:1px;
-}
-/*
-Table styles
-*/
-.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary {
- width:100%;
- border-left:1px solid #EEE;
- border-right:1px solid #EEE;
- border-bottom:1px solid #EEE;
-}
-.overviewSummary, .memberSummary {
- padding:0px;
-}
-.overviewSummary caption, .memberSummary caption, .typeSummary caption,
-.useSummary caption, .constantsSummary caption, .deprecatedSummary caption {
- position:relative;
- text-align:left;
- background-repeat:no-repeat;
- color:#253441;
- font-weight:bold;
- clear:none;
- overflow:hidden;
- padding:0px;
- padding-top:10px;
- padding-left:1px;
- margin:0px;
- white-space:pre;
-}
-.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link,
-.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link,
-.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover,
-.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover,
-.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active,
-.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active,
-.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited,
-.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited {
- color:#FFFFFF;
-}
-.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span,
-.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span {
- white-space:nowrap;
- padding-top:5px;
- padding-left:12px;
- padding-right:12px;
- padding-bottom:7px;
- display:inline-block;
- float:left;
- background-color:#F8981D;
- border: none;
- height:16px;
-}
-.memberSummary caption span.activeTableTab span {
- white-space:nowrap;
- padding-top:5px;
- padding-left:12px;
- padding-right:12px;
- margin-right:3px;
- display:inline-block;
- float:left;
- background-color:#F8981D;
- height:16px;
-}
-.memberSummary caption span.tableTab span {
- white-space:nowrap;
- padding-top:5px;
- padding-left:12px;
- padding-right:12px;
- margin-right:3px;
- display:inline-block;
- float:left;
- background-color:#4D7A97;
- height:16px;
-}
-.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab {
- padding-top:0px;
- padding-left:0px;
- padding-right:0px;
- background-image:none;
- float:none;
- display:inline;
-}
-.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd,
-.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd {
- display:none;
- width:5px;
- position:relative;
- float:left;
- background-color:#F8981D;
-}
-.memberSummary .activeTableTab .tabEnd {
- display:none;
- width:5px;
- margin-right:3px;
- position:relative;
- float:left;
- background-color:#F8981D;
-}
-.memberSummary .tableTab .tabEnd {
- display:none;
- width:5px;
- margin-right:3px;
- position:relative;
- background-color:#4D7A97;
- float:left;
-
-}
-.overviewSummary td, .memberSummary td, .typeSummary td,
-.useSummary td, .constantsSummary td, .deprecatedSummary td {
- text-align:left;
- padding:0px 0px 12px 10px;
-}
-th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th,
-td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{
- vertical-align:top;
- padding-right:0px;
- padding-top:8px;
- padding-bottom:3px;
-}
-th.colFirst, th.colLast, th.colOne, .constantsSummary th {
- background:#dee3e9;
- text-align:left;
- padding:8px 3px 3px 7px;
-}
-td.colFirst, th.colFirst {
- white-space:nowrap;
- font-size:13px;
-}
-td.colLast, th.colLast {
- font-size:13px;
-}
-td.colOne, th.colOne {
- font-size:13px;
-}
-.overviewSummary td.colFirst, .overviewSummary th.colFirst,
-.useSummary td.colFirst, .useSummary th.colFirst,
-.overviewSummary td.colOne, .overviewSummary th.colOne,
-.memberSummary td.colFirst, .memberSummary th.colFirst,
-.memberSummary td.colOne, .memberSummary th.colOne,
-.typeSummary td.colFirst{
- width:25%;
- vertical-align:top;
-}
-td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover {
- font-weight:bold;
-}
-.tableSubHeadingColor {
- background-color:#EEEEFF;
-}
-.altColor {
- background-color:#FFFFFF;
-}
-.rowColor {
- background-color:#EEEEEF;
-}
-/*
-Content styles
-*/
-.description pre {
- margin-top:0;
-}
-.deprecatedContent {
- margin:0;
- padding:10px 0;
-}
-.docSummary {
- padding:0;
-}
-
-ul.blockList ul.blockList ul.blockList li.blockList h3 {
- font-style:normal;
-}
-
-div.block {
- font-size:14px;
- font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
-}
-
-td.colLast div {
- padding-top:0px;
-}
-
-
-td.colLast a {
- padding-bottom:3px;
-}
-/*
-Formatting effect styles
-*/
-.sourceLineNo {
- color:green;
- padding:0 30px 0 0;
-}
-h1.hidden {
- visibility:hidden;
- overflow:hidden;
- font-size:10px;
-}
-.block {
- display:block;
- margin:3px 10px 2px 0px;
- color:#474747;
-}
-.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink,
-.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel,
-.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink {
- font-weight:bold;
-}
-.deprecationComment, .emphasizedPhrase, .interfaceName {
- font-style:italic;
-}
-
-div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase,
-div.block div.block span.interfaceName {
- font-style:normal;
-}
-
-div.contentContainer ul.blockList li.blockList h2{
- padding-bottom:0px;
-}
diff --git a/docs/view/LoginGUI.html b/docs/view/LoginGUI.html
@@ -1,444 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:37 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>LoginGUI (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="LoginGUI (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LoginGUI.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev Class</li>
-<li><a href="../view/MainGUI.html" title="class in view"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?view/LoginGUI.html" target="_top">Frames</a></li>
-<li><a href="LoginGUI.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li><a href="#nested.classes.inherited.from.class.javax.swing.JFrame">Nested</a> | </li>
-<li><a href="#fields.inherited.from.class.javax.swing.JFrame">Field</a> | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">view</div>
-<h2 title="Class LoginGUI" class="title">Class LoginGUI</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>java.awt.Component</li>
-<li>
-<ul class="inheritance">
-<li>java.awt.Container</li>
-<li>
-<ul class="inheritance">
-<li>java.awt.Window</li>
-<li>
-<ul class="inheritance">
-<li>java.awt.Frame</li>
-<li>
-<ul class="inheritance">
-<li>javax.swing.JFrame</li>
-<li>
-<ul class="inheritance">
-<li>view.LoginGUI</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants</dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">LoginGUI</span>
-extends javax.swing.JFrame</pre>
-<div class="block">GUI for login screen.</div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Michael Neuper
- <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a></dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../serialized-form.html#view.LoginGUI">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!-- -->
-</a>
-<h3>Nested Class Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.javax.swing.JFrame">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class javax.swing.JFrame</h3>
-<code>javax.swing.JFrame.AccessibleJFrame</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.java.awt.Frame">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class java.awt.Frame</h3>
-<code>java.awt.Frame.AccessibleAWTFrame</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.java.awt.Window">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class java.awt.Window</h3>
-<code>java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.java.awt.Container">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class java.awt.Container</h3>
-<code>java.awt.Container.AccessibleAWTContainer</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.java.awt.Component">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class java.awt.Component</h3>
-<code>java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy</code></li>
-</ul>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!-- -->
-</a>
-<h3>Field Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.javax.swing.JFrame">
-<!-- -->
-</a>
-<h3>Fields inherited from class javax.swing.JFrame</h3>
-<code>accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.java.awt.Frame">
-<!-- -->
-</a>
-<h3>Fields inherited from class java.awt.Frame</h3>
-<code>CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.java.awt.Component">
-<!-- -->
-</a>
-<h3>Fields inherited from class java.awt.Component</h3>
-<code>BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.javax.swing.WindowConstants">
-<!-- -->
-</a>
-<h3>Fields inherited from interface javax.swing.WindowConstants</h3>
-<code>DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.java.awt.image.ImageObserver">
-<!-- -->
-</a>
-<h3>Fields inherited from interface java.awt.image.ImageObserver</h3>
-<code>ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH</code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../view/LoginGUI.html#LoginGUI--">LoginGUI</a></span>()</code>
-<div class="block">Creates new form LoginGUI</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../view/LoginGUI.html#main-java.lang.String:A-">main</a></span>(java.lang.String[] args)</code> </td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.javax.swing.JFrame">
-<!-- -->
-</a>
-<h3>Methods inherited from class javax.swing.JFrame</h3>
-<code>addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.Frame">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.awt.Frame</h3>
-<code>addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.Window">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.awt.Window</h3>
-<code>addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.Container">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.awt.Container</h3>
-<code>add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.Component">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.awt.Component</h3>
-<code>action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.MenuContainer">
-<!-- -->
-</a>
-<h3>Methods inherited from interface java.awt.MenuContainer</h3>
-<code>getFont, postEvent</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="LoginGUI--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>LoginGUI</h4>
-<pre>public LoginGUI()</pre>
-<div class="block">Creates new form LoginGUI</div>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static void main(java.lang.String[] args)</pre>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>args</code> - the command line arguments</dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/LoginGUI.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev Class</li>
-<li><a href="../view/MainGUI.html" title="class in view"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?view/LoginGUI.html" target="_top">Frames</a></li>
-<li><a href="LoginGUI.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li><a href="#nested.classes.inherited.from.class.javax.swing.JFrame">Nested</a> | </li>
-<li><a href="#fields.inherited.from.class.javax.swing.JFrame">Field</a> | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/view/MainGUI.html b/docs/view/MainGUI.html
@@ -1,470 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:37 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>MainGUI (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="MainGUI (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":9,"i1":10,"i2":10};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MainGUI.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../view/LoginGUI.html" title="class in view"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../view/StatisticsGUI.html" title="class in view"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?view/MainGUI.html" target="_top">Frames</a></li>
-<li><a href="MainGUI.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li><a href="#nested.classes.inherited.from.class.javax.swing.JFrame">Nested</a> | </li>
-<li><a href="#fields.inherited.from.class.javax.swing.JFrame">Field</a> | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">view</div>
-<h2 title="Class MainGUI" class="title">Class MainGUI</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>java.awt.Component</li>
-<li>
-<ul class="inheritance">
-<li>java.awt.Container</li>
-<li>
-<ul class="inheritance">
-<li>java.awt.Window</li>
-<li>
-<ul class="inheritance">
-<li>java.awt.Frame</li>
-<li>
-<ul class="inheritance">
-<li>javax.swing.JFrame</li>
-<li>
-<ul class="inheritance">
-<li>view.MainGUI</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants</dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">MainGUI</span>
-extends javax.swing.JFrame</pre>
-<div class="block">Main GUI.</div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Michael Neuper
- <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a></dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../serialized-form.html#view.MainGUI">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!-- -->
-</a>
-<h3>Nested Class Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.javax.swing.JFrame">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class javax.swing.JFrame</h3>
-<code>javax.swing.JFrame.AccessibleJFrame</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.java.awt.Frame">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class java.awt.Frame</h3>
-<code>java.awt.Frame.AccessibleAWTFrame</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.java.awt.Window">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class java.awt.Window</h3>
-<code>java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.java.awt.Container">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class java.awt.Container</h3>
-<code>java.awt.Container.AccessibleAWTContainer</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.java.awt.Component">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class java.awt.Component</h3>
-<code>java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy</code></li>
-</ul>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!-- -->
-</a>
-<h3>Field Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.javax.swing.JFrame">
-<!-- -->
-</a>
-<h3>Fields inherited from class javax.swing.JFrame</h3>
-<code>accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.java.awt.Frame">
-<!-- -->
-</a>
-<h3>Fields inherited from class java.awt.Frame</h3>
-<code>CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.java.awt.Component">
-<!-- -->
-</a>
-<h3>Fields inherited from class java.awt.Component</h3>
-<code>BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.javax.swing.WindowConstants">
-<!-- -->
-</a>
-<h3>Fields inherited from interface javax.swing.WindowConstants</h3>
-<code>DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.java.awt.image.ImageObserver">
-<!-- -->
-</a>
-<h3>Fields inherited from interface java.awt.image.ImageObserver</h3>
-<code>ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH</code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../view/MainGUI.html#MainGUI--">MainGUI</a></span>()</code>
-<div class="block">Creates new form GUI</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../view/MainGUI.html#main-java.lang.String:A-">main</a></span>(java.lang.String[] args)</code> </td>
-</tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../view/MainGUI.html#printDealerHand--">printDealerHand</a></span>()</code> </td>
-</tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../view/MainGUI.html#printPlayerHand--">printPlayerHand</a></span>()</code> </td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.javax.swing.JFrame">
-<!-- -->
-</a>
-<h3>Methods inherited from class javax.swing.JFrame</h3>
-<code>addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.Frame">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.awt.Frame</h3>
-<code>addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.Window">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.awt.Window</h3>
-<code>addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.Container">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.awt.Container</h3>
-<code>add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.Component">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.awt.Component</h3>
-<code>action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.MenuContainer">
-<!-- -->
-</a>
-<h3>Methods inherited from interface java.awt.MenuContainer</h3>
-<code>getFont, postEvent</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="MainGUI--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>MainGUI</h4>
-<pre>public MainGUI()</pre>
-<div class="block">Creates new form GUI</div>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static void main(java.lang.String[] args)</pre>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>args</code> - the command line arguments</dd>
-</dl>
-</li>
-</ul>
-<a name="printDealerHand--">
-<!-- -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>printDealerHand</h4>
-<pre>public void printDealerHand()</pre>
-</li>
-</ul>
-<a name="printPlayerHand--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>printPlayerHand</h4>
-<pre>public void printPlayerHand()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/MainGUI.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../view/LoginGUI.html" title="class in view"><span class="typeNameLink">Prev Class</span></a></li>
-<li><a href="../view/StatisticsGUI.html" title="class in view"><span class="typeNameLink">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?view/MainGUI.html" target="_top">Frames</a></li>
-<li><a href="MainGUI.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li><a href="#nested.classes.inherited.from.class.javax.swing.JFrame">Nested</a> | </li>
-<li><a href="#fields.inherited.from.class.javax.swing.JFrame">Field</a> | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/view/StatisticsGUI.html b/docs/view/StatisticsGUI.html
@@ -1,452 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>StatisticsGUI (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="StatisticsGUI (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-var methods = {"i0":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
-var altColor = "altColor";
-var rowColor = "rowColor";
-var tableTab = "tableTab";
-var activeTableTab = "activeTableTab";
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/StatisticsGUI.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../view/MainGUI.html" title="class in view"><span class="typeNameLink">Prev Class</span></a></li>
-<li>Next Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?view/StatisticsGUI.html" target="_top">Frames</a></li>
-<li><a href="StatisticsGUI.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li><a href="#nested.classes.inherited.from.class.javax.swing.JFrame">Nested</a> | </li>
-<li><a href="#fields.inherited.from.class.javax.swing.JFrame">Field</a> | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">view</div>
-<h2 title="Class StatisticsGUI" class="title">Class StatisticsGUI</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li>java.lang.Object</li>
-<li>
-<ul class="inheritance">
-<li>java.awt.Component</li>
-<li>
-<ul class="inheritance">
-<li>java.awt.Container</li>
-<li>
-<ul class="inheritance">
-<li>java.awt.Window</li>
-<li>
-<ul class="inheritance">
-<li>java.awt.Frame</li>
-<li>
-<ul class="inheritance">
-<li>javax.swing.JFrame</li>
-<li>
-<ul class="inheritance">
-<li>view.StatisticsGUI</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants</dd>
-</dl>
-<hr>
-<br>
-<pre>public class <span class="typeNameLabel">StatisticsGUI</span>
-extends javax.swing.JFrame</pre>
-<div class="block">GUI that displays the player's wins, losses and pushes.</div>
-<dl>
-<dt><span class="simpleTagLabel">Author:</span></dt>
-<dd>Michael Neuper
- <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a></dd>
-<dt><span class="seeLabel">See Also:</span></dt>
-<dd><a href="../serialized-form.html#view.StatisticsGUI">Serialized Form</a></dd>
-</dl>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested.class.summary">
-<!-- -->
-</a>
-<h3>Nested Class Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.javax.swing.JFrame">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class javax.swing.JFrame</h3>
-<code>javax.swing.JFrame.AccessibleJFrame</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.java.awt.Frame">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class java.awt.Frame</h3>
-<code>java.awt.Frame.AccessibleAWTFrame</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.java.awt.Window">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class java.awt.Window</h3>
-<code>java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.java.awt.Container">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class java.awt.Container</h3>
-<code>java.awt.Container.AccessibleAWTContainer</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="nested.classes.inherited.from.class.java.awt.Component">
-<!-- -->
-</a>
-<h3>Nested classes/interfaces inherited from class java.awt.Component</h3>
-<code>java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy</code></li>
-</ul>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field.summary">
-<!-- -->
-</a>
-<h3>Field Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.javax.swing.JFrame">
-<!-- -->
-</a>
-<h3>Fields inherited from class javax.swing.JFrame</h3>
-<code>accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.java.awt.Frame">
-<!-- -->
-</a>
-<h3>Fields inherited from class java.awt.Frame</h3>
-<code>CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.java.awt.Component">
-<!-- -->
-</a>
-<h3>Fields inherited from class java.awt.Component</h3>
-<code>BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.javax.swing.WindowConstants">
-<!-- -->
-</a>
-<h3>Fields inherited from interface javax.swing.WindowConstants</h3>
-<code>DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="fields.inherited.from.class.java.awt.image.ImageObserver">
-<!-- -->
-</a>
-<h3>Fields inherited from interface java.awt.image.ImageObserver</h3>
-<code>ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH</code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.summary">
-<!-- -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
-<caption><span>Constructors</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colOne" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../view/StatisticsGUI.html#StatisticsGUI--">StatisticsGUI</a></span>()</code>
-<div class="block">Creates new form StatisticsGUI</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.summary">
-<!-- -->
-</a>
-<h3>Method Summary</h3>
-<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr id="i0" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../view/StatisticsGUI.html#main-java.lang.String:A-">main</a></span>(java.lang.String[] args)</code> </td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.javax.swing.JFrame">
-<!-- -->
-</a>
-<h3>Methods inherited from class javax.swing.JFrame</h3>
-<code>addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.Frame">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.awt.Frame</h3>
-<code>addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.Window">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.awt.Window</h3>
-<code>addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.Container">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.awt.Container</h3>
-<code>add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusDownCycle, validate, validateTree</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.Component">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.awt.Component</h3>
-<code>action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
-<!-- -->
-</a>
-<h3>Methods inherited from class java.lang.Object</h3>
-<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods.inherited.from.class.java.awt.MenuContainer">
-<!-- -->
-</a>
-<h3>Methods inherited from interface java.awt.MenuContainer</h3>
-<code>getFont, postEvent</code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor.detail">
-<!-- -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="StatisticsGUI--">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>StatisticsGUI</h4>
-<pre>public StatisticsGUI()
- throws java.io.IOException</pre>
-<div class="block">Creates new form StatisticsGUI</div>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>java.io.IOException</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method.detail">
-<!-- -->
-</a>
-<h3>Method Detail</h3>
-<a name="main-java.lang.String:A-">
-<!-- -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>main</h4>
-<pre>public static void main(java.lang.String[] args)
- throws com.opencsv.exceptions.CsvValidationException</pre>
-<dl>
-<dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>args</code> - the command line arguments</dd>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>com.opencsv.exceptions.CsvValidationException</code></dd>
-</dl>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li class="navBarCell1Rev">Class</li>
-<li><a href="class-use/StatisticsGUI.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../view/MainGUI.html" title="class in view"><span class="typeNameLink">Prev Class</span></a></li>
-<li>Next Class</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?view/StatisticsGUI.html" target="_top">Frames</a></li>
-<li><a href="StatisticsGUI.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<div>
-<ul class="subNavList">
-<li>Summary: </li>
-<li><a href="#nested.classes.inherited.from.class.javax.swing.JFrame">Nested</a> | </li>
-<li><a href="#fields.inherited.from.class.javax.swing.JFrame">Field</a> | </li>
-<li><a href="#constructor.summary">Constr</a> | </li>
-<li><a href="#method.summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail: </li>
-<li>Field | </li>
-<li><a href="#constructor.detail">Constr</a> | </li>
-<li><a href="#method.detail">Method</a></li>
-</ul>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/view/class-use/LoginGUI.html b/docs/view/class-use/LoginGUI.html
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class view.LoginGUI (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class view.LoginGUI (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../view/LoginGUI.html" title="class in view">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?view/class-use/LoginGUI.html" target="_top">Frames</a></li>
-<li><a href="LoginGUI.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class view.LoginGUI" class="title">Uses of Class<br>view.LoginGUI</h2>
-</div>
-<div class="classUseContainer">No usage of view.LoginGUI</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../view/LoginGUI.html" title="class in view">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?view/class-use/LoginGUI.html" target="_top">Frames</a></li>
-<li><a href="LoginGUI.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/view/class-use/MainGUI.html b/docs/view/class-use/MainGUI.html
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class view.MainGUI (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class view.MainGUI (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../view/MainGUI.html" title="class in view">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?view/class-use/MainGUI.html" target="_top">Frames</a></li>
-<li><a href="MainGUI.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class view.MainGUI" class="title">Uses of Class<br>view.MainGUI</h2>
-</div>
-<div class="classUseContainer">No usage of view.MainGUI</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../view/MainGUI.html" title="class in view">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?view/class-use/MainGUI.html" target="_top">Frames</a></li>
-<li><a href="MainGUI.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/view/class-use/StatisticsGUI.html b/docs/view/class-use/StatisticsGUI.html
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class view.StatisticsGUI (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../../stylesheet.css" title="Style">
-<script type="text/javascript" src="../../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Class view.StatisticsGUI (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../view/StatisticsGUI.html" title="class in view">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?view/class-use/StatisticsGUI.html" target="_top">Frames</a></li>
-<li><a href="StatisticsGUI.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h2 title="Uses of Class view.StatisticsGUI" class="title">Uses of Class<br>view.StatisticsGUI</h2>
-</div>
-<div class="classUseContainer">No usage of view.StatisticsGUI</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../../overview-summary.html">Overview</a></li>
-<li><a href="../package-summary.html">Package</a></li>
-<li><a href="../../view/StatisticsGUI.html" title="class in view">Class</a></li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="../../overview-tree.html">Tree</a></li>
-<li><a href="../../deprecated-list.html">Deprecated</a></li>
-<li><a href="../../index-files/index-1.html">Index</a></li>
-<li><a href="../../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../../index.html?view/class-use/StatisticsGUI.html" target="_top">Frames</a></li>
-<li><a href="StatisticsGUI.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/view/package-frame.html b/docs/view/package-frame.html
@@ -1,23 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>view (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<h1 class="bar"><a href="../view/package-summary.html" target="classFrame">view</a></h1>
-<div class="indexContainer">
-<h2 title="Classes">Classes</h2>
-<ul title="Classes">
-<li><a href="LoginGUI.html" title="class in view" target="classFrame">LoginGUI</a></li>
-<li><a href="MainGUI.html" title="class in view" target="classFrame">MainGUI</a></li>
-<li><a href="StatisticsGUI.html" title="class in view" target="classFrame">StatisticsGUI</a></li>
-</ul>
-</div>
-</body>
-</html>
diff --git a/docs/view/package-summary.html b/docs/view/package-summary.html
@@ -1,157 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>view (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="view (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/package-summary.html">Prev Package</a></li>
-<li>Next Package</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?view/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Package" class="title">Package view</h1>
-</div>
-<div class="contentContainer">
-<ul class="blockList">
-<li class="blockList">
-<table class="typeSummary" border="0" cellpadding="3" cellspacing="0" summary="Class Summary table, listing classes, and an explanation">
-<caption><span>Class Summary</span><span class="tabEnd"> </span></caption>
-<tr>
-<th class="colFirst" scope="col">Class</th>
-<th class="colLast" scope="col">Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><a href="../view/LoginGUI.html" title="class in view">LoginGUI</a></td>
-<td class="colLast">
-<div class="block">GUI for login screen.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../view/MainGUI.html" title="class in view">MainGUI</a></td>
-<td class="colLast">
-<div class="block">Main GUI.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../view/StatisticsGUI.html" title="class in view">StatisticsGUI</a></td>
-<td class="colLast">
-<div class="block">GUI that displays the player's wins, losses and pushes.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li class="navBarCell1Rev">Package</li>
-<li>Class</li>
-<li><a href="package-use.html">Use</a></li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/package-summary.html">Prev Package</a></li>
-<li>Next Package</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?view/package-summary.html" target="_top">Frames</a></li>
-<li><a href="package-summary.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/view/package-tree.html b/docs/view/package-tree.html
@@ -1,160 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>view Class Hierarchy (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="view Class Hierarchy (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/package-tree.html">Prev</a></li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?view/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 class="title">Hierarchy For Package view</h1>
-<span class="packageHierarchyLabel">Package Hierarchies:</span>
-<ul class="horizontal">
-<li><a href="../overview-tree.html">All Packages</a></li>
-</ul>
-</div>
-<div class="contentContainer">
-<h2 title="Class Hierarchy">Class Hierarchy</h2>
-<ul>
-<li type="circle">java.lang.Object
-<ul>
-<li type="circle">java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
-<ul>
-<li type="circle">java.awt.Container
-<ul>
-<li type="circle">java.awt.Window (implements javax.accessibility.Accessible)
-<ul>
-<li type="circle">java.awt.Frame (implements java.awt.MenuContainer)
-<ul>
-<li type="circle">javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
-<ul>
-<li type="circle">view.<a href="../view/LoginGUI.html" title="class in view"><span class="typeNameLink">LoginGUI</span></a></li>
-<li type="circle">view.<a href="../view/MainGUI.html" title="class in view"><span class="typeNameLink">MainGUI</span></a></li>
-<li type="circle">view.<a href="../view/StatisticsGUI.html" title="class in view"><span class="typeNameLink">StatisticsGUI</span></a></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li>Use</li>
-<li class="navBarCell1Rev">Tree</li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li><a href="../model/package-tree.html">Prev</a></li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?view/package-tree.html" target="_top">Frames</a></li>
-<li><a href="package-tree.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/docs/view/package-use.html b/docs/view/package-use.html
@@ -1,125 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<!-- Generated by javadoc (1.8.0_372) on Fri Apr 28 14:00:38 SAST 2023 -->
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Package view (librejack)</title>
-<meta name="date" content="2023-04-28">
-<link rel="stylesheet" type="text/css" href="../stylesheet.css" title="Style">
-<script type="text/javascript" src="../script.js"></script>
-</head>
-<body>
-<script type="text/javascript"><!--
- try {
- if (location.href.indexOf('is-external=true') == -1) {
- parent.document.title="Uses of Package view (librejack)";
- }
- }
- catch(err) {
- }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar.top">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.top.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?view/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_top");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.top">
-<!-- -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<div class="header">
-<h1 title="Uses of Package view" class="title">Uses of Package<br>view</h1>
-</div>
-<div class="contentContainer">No usage of view</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar.bottom">
-<!-- -->
-</a>
-<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
-<a name="navbar.bottom.firstrow">
-<!-- -->
-</a>
-<ul class="navList" title="Navigation">
-<li><a href="../overview-summary.html">Overview</a></li>
-<li><a href="package-summary.html">Package</a></li>
-<li>Class</li>
-<li class="navBarCell1Rev">Use</li>
-<li><a href="package-tree.html">Tree</a></li>
-<li><a href="../deprecated-list.html">Deprecated</a></li>
-<li><a href="../index-files/index-1.html">Index</a></li>
-<li><a href="../help-doc.html">Help</a></li>
-</ul>
-</div>
-<div class="subNav">
-<ul class="navList">
-<li>Prev</li>
-<li>Next</li>
-</ul>
-<ul class="navList">
-<li><a href="../index.html?view/package-use.html" target="_top">Frames</a></li>
-<li><a href="package-use.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../allclasses-noframe.html">All Classes</a></li>
-</ul>
-<div>
-<script type="text/javascript"><!--
- allClassesLink = document.getElementById("allclasses_navbar_bottom");
- if(window==top) {
- allClassesLink.style.display = "block";
- }
- else {
- allClassesLink.style.display = "none";
- }
- //-->
-</script>
-</div>
-<a name="skip.navbar.bottom">
-<!-- -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-</body>
-</html>
diff --git a/lib/flatlaf-3.1.1.jar b/lib/flatlaf-3.1.1.jar
Binary files differ.
diff --git a/lib/jcommon-1.0.23.jar b/lib/jcommon-1.0.23.jar
Binary files differ.
diff --git a/lib/jfreechart-1.0.19.jar b/lib/jfreechart-1.0.19.jar
Binary files differ.
diff --git a/nbproject/private/private.xml b/nbproject/private/private.xml
@@ -3,8 +3,12 @@
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group>
- <file>file:/home/michael/Projects/PAT/librejack/src/view/LoginGUI.java</file>
+ <file>file:/home/michael/Projects/PAT/librejack/src/model/Card.java</file>
<file>file:/home/michael/Projects/PAT/librejack/src/controller/LoginController.java</file>
+ <file>file:/home/michael/Projects/PAT/librejack/src/model/Statistics.java</file>
+ <file>file:/home/michael/Projects/PAT/librejack/src/view/MenuUI.java</file>
+ <file>file:/home/michael/Projects/PAT/librejack/src/model/Deck.java</file>
+ <file>file:/home/michael/Projects/PAT/librejack/src/view/MainUI.java</file>
</group>
</open-files>
</project-private>
diff --git a/nbproject/project.properties b/nbproject/project.properties
@@ -35,18 +35,24 @@ dist.jar=${dist.dir}/librejack.jar
dist.javadoc.dir=${dist.dir}/javadoc
endorsed.classpath=
excludes=
-file.reference.commons-lang3-3.12.0.jar=/home/michael/Downloads/commons-lang3-3.12.0/commons-lang3-3.12.0.jar
-file.reference.jcalendar-1.4.jar=/home/michael/Downloads/jcalendar-1.4/lib/jcalendar-1.4.jar
-file.reference.opencsv-5.7.1.jar=/home/michael/Downloads/opencsv-5.7.1.jar
+file.reference.commons-lang3-3.12.0.jar-1=lib/commons-lang3-3.12.0.jar
+file.reference.flatlaf-3.1.1.jar-1=lib/flatlaf-3.1.1.jar
+file.reference.jcalendar-1.4.jar-1=lib/jcalendar-1.4.jar
+file.reference.jcommon-1.0.23.jar=lib/jcommon-1.0.23.jar
+file.reference.jfreechart-1.0.19.jar=lib/jfreechart-1.0.19.jar
+file.reference.opencsv-5.7.1.jar-1=lib/opencsv-5.7.1.jar
includes=**
jar.archive.disabled=${jnlp.enabled}
jar.compress=false
jar.index=${jnlp.enabled}
javac.classpath=\
${libs.absolutelayout.classpath}:\
- ${file.reference.jcalendar-1.4.jar}:\
- ${file.reference.opencsv-5.7.1.jar}:\
- ${file.reference.commons-lang3-3.12.0.jar}
+ ${file.reference.jfreechart-1.0.19.jar}:\
+ ${file.reference.commons-lang3-3.12.0.jar-1}:\
+ ${file.reference.flatlaf-3.1.1.jar-1}:\
+ ${file.reference.jcalendar-1.4.jar-1}:\
+ ${file.reference.opencsv-5.7.1.jar-1}:\
+ ${file.reference.jcommon-1.0.23.jar}
# Space-separated list of extra javac options
javac.compilerargs=
javac.deprecation=false
@@ -87,7 +93,7 @@ jnlp.signed=false
jnlp.signing=
jnlp.signing.alias=
jnlp.signing.keystore=
-main.class=view.LoginGUI
+main.class=view.SignupUI
# Optional override of default Application-Library-Allowable-Codebase attribute identifying the locations where your signed RIA is expected to be found.
manifest.custom.application.library.allowable.codebase=
# Optional override of default Caller-Allowable-Codebase attribute identifying the domains from which JavaScript code can make calls to your RIA without security prompts.
@@ -116,8 +122,5 @@ run.test.classpath=\
run.test.modulepath=\
${javac.test.modulepath}
source.encoding=UTF-8
-source.reference.commons-lang3-3.12.0.jar=lib/commons-lang3-3.12.0.jar
-source.reference.jcalendar-1.4.jar=lib/jcalendar-1.4.jar
-source.reference.opencsv-5.7.1.jar=lib/opencsv-5.7.1.jar
src.dir=src
test.src.dir=test
diff --git a/src/assets/background.jpg b/src/assets/background.jpg
Binary files differ.
diff --git a/src/assets/cards.png b/src/assets/cards.png
Binary files differ.
diff --git a/src/assets/cards/ace_of_clubs.png b/src/assets/cards/ace_of_clubs.png
Binary files differ.
diff --git a/src/assets/cards/ace_of_diamonds.png b/src/assets/cards/ace_of_diamonds.png
Binary files differ.
diff --git a/src/assets/cards/ace_of_hearts.png b/src/assets/cards/ace_of_hearts.png
Binary files differ.
diff --git a/src/assets/cards/ace_of_spades.png b/src/assets/cards/ace_of_spades.png
Binary files differ.
diff --git a/src/assets/cards/back.png b/src/assets/cards/back.png
Binary files differ.
diff --git a/src/assets/cards/eight_of_clubs.png b/src/assets/cards/eight_of_clubs.png
Binary files differ.
diff --git a/src/assets/cards/eight_of_diamonds.png b/src/assets/cards/eight_of_diamonds.png
Binary files differ.
diff --git a/src/assets/cards/eight_of_hearts.png b/src/assets/cards/eight_of_hearts.png
Binary files differ.
diff --git a/src/assets/cards/eight_of_spades.png b/src/assets/cards/eight_of_spades.png
Binary files differ.
diff --git a/src/assets/cards/five_of_clubs.png b/src/assets/cards/five_of_clubs.png
Binary files differ.
diff --git a/src/assets/cards/five_of_diamonds.png b/src/assets/cards/five_of_diamonds.png
Binary files differ.
diff --git a/src/assets/cards/five_of_hearts.png b/src/assets/cards/five_of_hearts.png
Binary files differ.
diff --git a/src/assets/cards/five_of_spades.png b/src/assets/cards/five_of_spades.png
Binary files differ.
diff --git a/src/assets/cards/four_of_clubs.png b/src/assets/cards/four_of_clubs.png
Binary files differ.
diff --git a/src/assets/cards/four_of_diamonds.png b/src/assets/cards/four_of_diamonds.png
Binary files differ.
diff --git a/src/assets/cards/four_of_hearts.png b/src/assets/cards/four_of_hearts.png
Binary files differ.
diff --git a/src/assets/cards/four_of_spades.png b/src/assets/cards/four_of_spades.png
Binary files differ.
diff --git a/src/assets/cards/jack_of_clubs.png b/src/assets/cards/jack_of_clubs.png
Binary files differ.
diff --git a/src/assets/cards/jack_of_diamonds.png b/src/assets/cards/jack_of_diamonds.png
Binary files differ.
diff --git a/src/assets/cards/jack_of_hearts.png b/src/assets/cards/jack_of_hearts.png
Binary files differ.
diff --git a/src/assets/cards/jack_of_spades.png b/src/assets/cards/jack_of_spades.png
Binary files differ.
diff --git a/src/assets/cards/king_of_clubs.png b/src/assets/cards/king_of_clubs.png
Binary files differ.
diff --git a/src/assets/cards/king_of_diamonds.png b/src/assets/cards/king_of_diamonds.png
Binary files differ.
diff --git a/src/assets/cards/king_of_hearts.png b/src/assets/cards/king_of_hearts.png
Binary files differ.
diff --git a/src/assets/cards/king_of_spades.png b/src/assets/cards/king_of_spades.png
Binary files differ.
diff --git a/src/assets/cards/nine_of_clubs.png b/src/assets/cards/nine_of_clubs.png
Binary files differ.
diff --git a/src/assets/cards/nine_of_diamonds.png b/src/assets/cards/nine_of_diamonds.png
Binary files differ.
diff --git a/src/assets/cards/nine_of_hearts.png b/src/assets/cards/nine_of_hearts.png
Binary files differ.
diff --git a/src/assets/cards/nine_of_spades.png b/src/assets/cards/nine_of_spades.png
Binary files differ.
diff --git a/src/assets/cards/queen_of_clubs.png b/src/assets/cards/queen_of_clubs.png
Binary files differ.
diff --git a/src/assets/cards/queen_of_diamonds.png b/src/assets/cards/queen_of_diamonds.png
Binary files differ.
diff --git a/src/assets/cards/queen_of_hearts.png b/src/assets/cards/queen_of_hearts.png
Binary files differ.
diff --git a/src/assets/cards/queen_of_spades.png b/src/assets/cards/queen_of_spades.png
Binary files differ.
diff --git a/src/assets/cards/seven_of_clubs.png b/src/assets/cards/seven_of_clubs.png
Binary files differ.
diff --git a/src/assets/cards/seven_of_diamonds.png b/src/assets/cards/seven_of_diamonds.png
Binary files differ.
diff --git a/src/assets/cards/seven_of_hearts.png b/src/assets/cards/seven_of_hearts.png
Binary files differ.
diff --git a/src/assets/cards/seven_of_spades.png b/src/assets/cards/seven_of_spades.png
Binary files differ.
diff --git a/src/assets/cards/six_of_clubs.png b/src/assets/cards/six_of_clubs.png
Binary files differ.
diff --git a/src/assets/cards/six_of_diamonds.png b/src/assets/cards/six_of_diamonds.png
Binary files differ.
diff --git a/src/assets/cards/six_of_hearts.png b/src/assets/cards/six_of_hearts.png
Binary files differ.
diff --git a/src/assets/cards/six_of_spades.png b/src/assets/cards/six_of_spades.png
Binary files differ.
diff --git a/src/assets/cards/ten_of_clubs.png b/src/assets/cards/ten_of_clubs.png
Binary files differ.
diff --git a/src/assets/cards/ten_of_diamonds.png b/src/assets/cards/ten_of_diamonds.png
Binary files differ.
diff --git a/src/assets/cards/ten_of_hearts.png b/src/assets/cards/ten_of_hearts.png
Binary files differ.
diff --git a/src/assets/cards/ten_of_spades.png b/src/assets/cards/ten_of_spades.png
Binary files differ.
diff --git a/src/assets/cards/three_of_clubs.png b/src/assets/cards/three_of_clubs.png
Binary files differ.
diff --git a/src/assets/cards/three_of_diamonds.png b/src/assets/cards/three_of_diamonds.png
Binary files differ.
diff --git a/src/assets/cards/three_of_hearts.png b/src/assets/cards/three_of_hearts.png
Binary files differ.
diff --git a/src/assets/cards/three_of_spades.png b/src/assets/cards/three_of_spades.png
Binary files differ.
diff --git a/src/assets/cards/two_of_clubs.png b/src/assets/cards/two_of_clubs.png
Binary files differ.
diff --git a/src/assets/cards/two_of_diamonds.png b/src/assets/cards/two_of_diamonds.png
Binary files differ.
diff --git a/src/assets/cards/two_of_hearts.png b/src/assets/cards/two_of_hearts.png
Binary files differ.
diff --git a/src/assets/cards/two_of_spades.png b/src/assets/cards/two_of_spades.png
Binary files differ.
diff --git a/src/assets/cards_icon.png b/src/assets/cards_icon.png
Binary files differ.
diff --git a/src/assets/icons/calendar.png b/src/assets/icons/calendar.png
Binary files differ.
diff --git a/src/assets/icons/code.png b/src/assets/icons/code.png
Binary files differ.
diff --git a/src/assets/icons/email.png b/src/assets/icons/email.png
Binary files differ.
diff --git a/src/assets/icons/heart_cards.png b/src/assets/icons/heart_cards.png
Binary files differ.
diff --git a/src/assets/icons/lock.png b/src/assets/icons/lock.png
Binary files differ.
diff --git a/src/assets/icons/menu_burger.png b/src/assets/icons/menu_burger.png
Binary files differ.
diff --git a/src/assets/icons/phone.png b/src/assets/icons/phone.png
Binary files differ.
diff --git a/src/assets/icons/question.png b/src/assets/icons/question.png
Binary files differ.
diff --git a/src/assets/icons/stats.png b/src/assets/icons/stats.png
Binary files differ.
diff --git a/src/assets/icons/user.png b/src/assets/icons/user.png
Binary files differ.
diff --git a/src/assets/images/hearts_card.png b/src/assets/images/hearts_card.png
Binary files differ.
diff --git a/src/assets/images/spades_card.png b/src/assets/images/spades_card.png
Binary files differ.
diff --git a/src/assets/suites.png b/src/assets/images/suites.png
Binary files differ.
diff --git a/src/controller/Controller.java b/src/controller/Controller.java
@@ -32,9 +32,9 @@ public class Controller {
private boolean hasPlayed;
/**
- * Creates a new instance of the Controller class. Initializes the dealer
- * and player, the deck and discarded decks, and the bet and balance of the
- * player. The deck is also populated and shuffled.
+ * Constructs {@link Controller} object. Initializes the {@link Dealer} and
+ * {@link Player}, the {@link Deck} and discarded decks, and the bet and
+ * balance of the player. The deck is also populated and shuffled.
*/
public Controller() {
this.STATS = new Statistics();
@@ -58,7 +58,7 @@ public class Controller {
/**
* Gets the current player's bet.
*
- * @return the current player's bet
+ * @return the player's current bet
*/
public double getBet() {
return bet;
@@ -81,14 +81,14 @@ public class Controller {
/**
* Gets the current player's balance.
*
- * @return the current player's balance
+ * @return the player's current balance
*/
public double getBalance() {
return balance;
}
/**
- * Sets the current player's balance.
+ * Sets the player's current balance.
*
* @param balance player's balance
*/
@@ -106,7 +106,7 @@ public class Controller {
* to the player.</p>
*/
public void startRound() {
-
+
hasPlayed = false;
// if we run out of cards
@@ -135,146 +135,159 @@ public class Controller {
* @return a message indicating the result of the game
*/
public String checkWhoWins() {
- if (!hasPlayed) {
- // check wether player has enough money
- if (bet > PLAYER.getBalance()) {
- JOptionPane.showMessageDialog(null, "You don't have enough money");
- return null;
- }
+ if (hasPlayed) {
+ JOptionPane.showMessageDialog(null, "Press deal before you can hit or stand again");
+ return "Press Deal";
+ }
- // check if dealer has blackjack
- if (DEALER.hasBlackjack()) {
- DEALER.printHand(); // show full hand
- hasPlayed = true;
-
- if (PLAYER.hasBlackjack()) {
- STATS.incrementPushes();
- return "You both have 21 - Push";
- } else {
- balance -= bet;
- PLAYER.setBalance(balance);
- STATS.incrementLosses();
- DEALER.printHand();
- return "Dealer has BlackJack - You lose";
- }
- }
+ // check whether player has enough money
+ if (bet > PLAYER.getBalance()) {
+ JOptionPane.showMessageDialog(null, "You don't have enough money");
+ return null;
+ }
- // check if player has blackjack
- if (PLAYER.hasBlackjack()) {
- balance += bet * 1.5;
- PLAYER.setBalance(balance);
- STATS.incrementWins();
- hasPlayed = true;
- return "You have BlackJack - You win";
- }
+ // check if dealer has blackjack
+ if (DEALER.hasBlackjack()) {
+ DEALER.printHand(); // show full hand
+ hasPlayed = true;
- // check whether player busted
- if (PLAYER.getHand().calculateValue() > 21) {
+ if (PLAYER.hasBlackjack()) {
+ STATS.incrementPushes();
+ return "PUSHED!";
+ } else {
balance -= bet;
PLAYER.setBalance(balance);
STATS.incrementLosses();
- hasPlayed = true;
- return "Busted";
+ DEALER.printHand();
+ return "LOST!";
}
+ }
- // dealer's turn
- DEALER.printHand();
- while (DEALER.getHand().calculateValue() < 17) {
- DEALER.hit(DECK, DISCARDED);
- }
+ // check if player has blackjack
+ if (PLAYER.hasBlackjack()) {
+ balance += bet * 1.5;
+ PLAYER.setBalance(balance);
+ STATS.incrementWins();
+ hasPlayed = true;
+ return "BLACKJACK!";
+ }
- // check who wins
- if (DEALER.getHand().calculateValue() > 21) {
- balance += bet;
- PLAYER.setBalance(balance);
- STATS.incrementWins();
- hasPlayed = true;
- return "Dealer busts - You win";
- }
+ // check whether player busted
+ if (PLAYER.getHand().calculateValue() > 21) {
+ balance -= bet;
+ PLAYER.setBalance(balance);
+ STATS.incrementLosses();
+ hasPlayed = true;
+ return "BUSTED!";
+ }
- if (DEALER.getHand().calculateValue() > PLAYER.getHand().calculateValue()
- && DEALER.getHand().calculateValue() <= 21) {
- balance -= bet;
- PLAYER.setBalance(balance);
- STATS.incrementLosses();
- hasPlayed = true;
- return "You lose";
- }
+ // dealer's turn
+ DEALER.printHand();
+ while (DEALER.getHand().calculateValue() < 17) {
+ DEALER.hit(DECK, DISCARDED);
+ }
- if (PLAYER.getHand().calculateValue() > DEALER.getHand().calculateValue()) {
- balance += bet;
- PLAYER.setBalance(balance);
- STATS.incrementWins();
- hasPlayed = true;
- return "You win";
- }
+ // check who wins
+ if (DEALER.getHand().calculateValue() > 21) {
+ balance += bet;
+ PLAYER.setBalance(balance);
+ STATS.incrementWins();
+ hasPlayed = true;
+ return "WON!";
+ }
- if (PLAYER.getHand().calculateValue() == DEALER.getHand().calculateValue()) {
- STATS.incrementPushes();
- hasPlayed = true;
- return "Push";
- }
- } else {
- JOptionPane.showMessageDialog(null, "Press deal before you can hit or stand again");
- return "You already played";
+ if (DEALER.getHand().calculateValue() > PLAYER.getHand().calculateValue()
+ && DEALER.getHand().calculateValue() <= 21) {
+ balance -= bet;
+ PLAYER.setBalance(balance);
+ STATS.incrementLosses();
+ hasPlayed = true;
+ return "LOST!";
+ }
+
+ if (PLAYER.getHand().calculateValue() > DEALER.getHand().calculateValue()) {
+ balance += bet;
+ PLAYER.setBalance(balance);
+ STATS.incrementWins();
+ hasPlayed = true;
+ return "WON!";
}
-
+
+ if (PLAYER.getHand().calculateValue() == DEALER.getHand().calculateValue()) {
+ STATS.incrementPushes();
+ hasPlayed = true;
+ return "PUSHED!";
+ }
+
return null;
}
/**
- * Hits the player with a card.
+ * Hits the player with a {@link model.Card}.
*/
public void hitPlayer() {
PLAYER.hit(DECK, DISCARDED);
}
/**
- *
- * @return player hand
+ * @return the player's current {@link Hand}
*/
+ @Deprecated
public String displayPlayerHand() {
return PLAYER.printHand();
}
/**
- *
- * @return the value of the player's hand
+ * @return the value of the player's {@link Hand}
*/
public String displayPlayerHandValue() {
return Integer.toString(PLAYER.getHand().calculateValue());
}
/**
- *
- * @return dealer hand
+ * @return the dealer's current {@link Hand}
*/
+ @Deprecated
public String displayDealerHand() {
return DEALER.printHand();
}
/**
- *
- * @return value of dealer's hand
+ * @return the value of dealer's {@link Hand}
*/
public String displayDealerHandValue() {
return Integer.toString(DEALER.getHand().calculateValue());
}
/**
- *
- * @return dealer's first card
+ * @return the dealer's first {@link model.Card}
*/
+ @Deprecated
public String displayDealerFirstCard() {
return DEALER.printFirstHand();
}
/**
- *
- * @return value of the first card
+ * @return the value of the first {@link model.Card}
*/
public String displayDealerFirstCardValue() {
return DEALER.printFirstCardValue();
}
+ /**
+ * @param i index of the card in the dealer's {@link Hand}
+ * @return file path of the dealer's {@link model.Card}
+ */
+ public String getDealerCardFilePath(int i) {
+ return DEALER.printFilePath(i);
+ }
+
+ /**
+ * @param i index of the card in the player's {@link Hand}
+ * @return file path of player's {@link model.Card}
+ */
+ public String getPlayerCardFilePath(int i) {
+ return PLAYER.printFilePath(i);
+ }
+
}
diff --git a/src/controller/Hand.java b/src/controller/Hand.java
@@ -17,25 +17,25 @@ public class Hand {
private final ArrayList<Card> HAND;
/**
- * Creates a new empty Hand object.
+ * Constructs a new empty {@code Hand} object.
*/
public Hand() {
HAND = new ArrayList<>();
}
/**
- * Adds a card from the deck to the hand.
+ * Adds a {@link Card} from the {@link Deck} to the {@link Hand}.
*
- * @param deck deck to take card from
+ * @param deck deck to take {@link Card}from
*/
public void takeCardFromDeck(Deck deck) {
HAND.add(deck.takeCard());
}
/**
- * Calculates the value of a hand.
+ * Calculates the value of a {@link Hand}.
*
- * @return value value of the hand
+ * @return the value of a {@link Hand}
*/
public int calculateValue() {
int value = 0; // current total value
@@ -63,20 +63,35 @@ public class Hand {
}
/**
- * Gets the card at a specific index.
+ * Gets the {@link Card} at a specific index.
*
- * @param i the index of the card or get
- * @return the card at index i
+ * @param i the index of the {@link Card} or get
+ * @return the {@link Card} at index i
*/
public Card getCard(int i) {
return HAND.get(i);
}
/**
- * Discards the current hand and adds its cards to the specified discard
- * deck.
+ * Gets the relative file path of a {@link Card}.
+ *
+ * @param i index of the {@link Card}in {@link Hand}
+ * @return file path of a {@link Card} at a specific index, if the index is out of
+ * range, a blank card is returned
+ */
+ public String getCardFilePath(int i) {
+ try {
+ return "/assets/cards/" + HAND.get(i).getFilename();
+ } catch (IndexOutOfBoundsException e) {
+ return "/assets/cards/back.png"; // returns a blank card
+ }
+ }
+
+ /**
+ * Discards the current {@link Hand} and adds its cards to the specified discard
+ * {@link Deck}.
*
- * @param discardDeck the deck to which the current hand's cards will be
+ * @param discardDeck the deck to which the current {@link Hand}'s {@link Card} will be
* added
*/
public void discardHandToDeck(Deck discardDeck) {
@@ -85,16 +100,16 @@ public class Hand {
}
/**
- * Returns a string representation of the current hand.
+ * Returns a {@code String} representation of the current {@link Hand}.
*
- * @return a string representation of the current hand
+ * @return a {@code String} representation of the current {@link Hand}
*/
@Override
public String toString() {
String ret = ""; // holds string to return
for (Card card : HAND) {
- ret += card + " - ";
+ ret += card + " \n ";
}
return ret;
diff --git a/src/controller/LoginController.java b/src/controller/LoginController.java
@@ -26,7 +26,7 @@ public class LoginController {
* @param mobileNumber South African number
* @param date date of birth
* @param password user's password
- * @return true if all fields are valid, false otherwise
+ * @return {@code true} if all fields are valid, {@code false} otherwise
*/
public boolean areAllFieldsValid(String email, String mobileNumber, Date date, String password) {
return isValidEmail(email)
@@ -49,7 +49,8 @@ public class LoginController {
* </ul>
*
* @param email the email to be validated
- * @return true if the email is a valid email format, false otherwise
+ * @return {@code true} if the email is a valid email format, {@code false}
+ * otherwise
*/
private boolean isValidEmail(String email) {
// check if email is null
@@ -64,7 +65,9 @@ public class LoginController {
Pattern pattern = Pattern.compile(emailRegex);
// check if email matches the pattern
- boolean isValid = pattern.matcher(email).matches();
+ boolean isValid;
+ assert email != null;
+ isValid = pattern.matcher(email).matches();
// if email is not valid, show error message
if (!isValid) {
@@ -79,12 +82,12 @@ public class LoginController {
* number.
*
* @param mobileNumber the mobile number to check
- * @return true if the mobile number is a valid South African mobile number,
- * false otherwise
+ * @return {@code true} if the mobile number is a valid South African mobile
+ * number, {@code false} otherwise
*/
private boolean isValidSouthAfricanMobileNumber(String mobileNumber) {
// remove any non-digit characters from the mobile number
- mobileNumber = mobileNumber.replaceAll("[^\\d]", "");
+ mobileNumber = mobileNumber.replaceAll("[^\\d]", ""); // TODO: simplify to \D
// check if the mobile number is of the correct length
if (mobileNumber.length() != 10) {
@@ -95,12 +98,14 @@ public class LoginController {
// check if the mobile number starts with a valid South African country code
String[] validCountryCodes = {"+27", "27", "0"};
boolean validCountryCode = false;
+
for (String code : validCountryCodes) {
if (mobileNumber.startsWith(code)) {
validCountryCode = true;
break;
}
}
+
if (!validCountryCode) {
JOptionPane.showMessageDialog(null, "Your country code is not South African");
return false;
@@ -110,11 +115,12 @@ public class LoginController {
}
/**
- * Checks if a given date is valid and the person is at least 18 years old.
+ * Checks if a given date of birth is valid and the person is at least 18
+ * years old.
*
- * @param date the date to be checked
- * @return true if the date is valid and the person is at least 18 years
- * old, false otherwise
+ * @param date the date of birth to be checked
+ * @return {@code true} if the date is valid and the person is at least 18
+ * years old, {@code false} otherwise
*/
private static boolean isValidDateAndAdult(Date date) {
// check if the date is null
@@ -123,7 +129,7 @@ public class LoginController {
return false;
}
- // make sure the date is in the past
+ // check if the date is in the past
if (date.after(new Date())) {
JOptionPane.showMessageDialog(null, "You were not born in the future!");
return false;
@@ -135,11 +141,13 @@ public class LoginController {
Calendar now = Calendar.getInstance();
now.setTime(new Date());
int age = now.get(Calendar.YEAR) - dob.get(Calendar.YEAR);
+
if (now.get(Calendar.MONTH) < dob.get(Calendar.MONTH)
- || (now.get(Calendar.MONTH) == dob.get(Calendar.MONTH) && now.get(Calendar.DAY_OF_MONTH) < dob.get(Calendar.DAY_OF_MONTH))) {
+ || (now.get(Calendar.MONTH) == dob.get(Calendar.MONTH)
+ && now.get(Calendar.DAY_OF_MONTH) < dob.get(Calendar.DAY_OF_MONTH))) {
age--;
- } else {
}
+
if (age < 18) {
JOptionPane.showMessageDialog(null, "You need to be at least 18 years old to gamble!");
return false;
@@ -157,8 +165,9 @@ public class LoginController {
* <li>has at least 1 uppercase and lowercase letter</li>
* </ul>
*
- * @param password to be validated
- * @return true if password is valid, false otherwise
+ * @param password the password to be validated
+ * @return {@code true} if password is matches all criteria, {@code false}
+ * otherwise
*/
private boolean isValidPassword(String password) {
boolean hasUpperCase = false;
@@ -166,11 +175,13 @@ public class LoginController {
boolean hasNumber = false;
boolean hasSpecialChar = false;
+ // check if password is more than 10 characters
if (password == null || password.length() < 10) {
JOptionPane.showMessageDialog(null, "Password must be at least 10 characters long");
return false;
}
+ // check if password has an uppercase letter, lowercase letter, a digit and a special character
for (int i = 0; i < password.length(); i++) {
char ch = password.charAt(i);
@@ -206,7 +217,8 @@ public class LoginController {
* following: !@#$%^&*()-+=[]{}|\;:'",<.>/?.
*
* @param ch the character to check
- * @return true if the character is a special character, false otherwise
+ * @return {@code true} if the character is a special character,
+ * {@code false} otherwise
*/
private boolean isSpecialCharacter(char ch) {
String specialCharacters = "!@#$%^&*()-+=[]{}|\\;:'\",<.>/?";
diff --git a/src/model/Card.java b/src/model/Card.java
@@ -8,7 +8,6 @@ package model;
*/
public class Card {
- // TODO: change name to image
/**
* Represents the four possible suits in a standard playing card deck.
*/
@@ -19,25 +18,25 @@ public class Card {
HEARTS("Hearts"),
SPADES("Spades");
- public String suitName;
+ public final String SUIT_NAME;
/**
- * Creates a new Suit object with the specified name.
+ * Constructs a new {@link Suit} object with the specified name.
*
* @param suitName the name of the suit
*/
Suit(String suitName) {
- this.suitName = suitName;
+ this.SUIT_NAME = suitName;
}
/**
- * Returns the name of the suit as a string.
+ * Returns the name of the {@link Suit} as a string.
*
- * @return the name of the suit
+ * @return the name of the {@link Suit}
*/
@Override
public String toString() {
- return suitName;
+ return SUIT_NAME;
}
}
@@ -62,91 +61,104 @@ public class Card {
KING("King", 10),
ACE("Ace", 11);
- String rankName;
- public int rankValue;
+ final String RANK_NAME;
+ public final int RANK_VALUE;
/**
- * Creates a new Rank object with the specified name and value.
+ * Constructs a new {@link Rank} object with the specified name and
+ * value.
*
* @param rankName the name of the rank
* @param rankValue the value of the rank
*/
Rank(String rankName, int rankValue) {
- this.rankName = rankName;
- this.rankValue = rankValue;
+ this.RANK_NAME = rankName;
+ this.RANK_VALUE = rankValue;
}
/**
- * Returns the name of the rank as a string.
+ * Returns the name of the {@link Rank} as a string.
*
- * @return the name of the rank
+ * @return the name of the {@link Rank}
*/
@Override
public String toString() {
- return rankName;
+ return RANK_NAME;
}
}
- private Suit suit;
- private Rank rank;
+ private final Suit SUIT;
+ private final Rank RANK;
/**
- * Creates a new Card object with the specified suit and rank.
+ * Constructs a new {@link Card} object with the specified {@link Suit} and
+ * {@link Rank}.
*
- * @param suit Card suit
- * @param rank Card rank
+ * @param suit {@link Card} {@link Suit}
+ * @param rank {@link Card} {@link Rank}
*/
public Card(Suit suit, Rank rank) {
- this.suit = suit;
- this.rank = rank;
+ this.SUIT = suit;
+ this.RANK = rank;
}
/**
- * Creates a new Card object as a copy of another Card object.
+ * Constructs a new {@link Card} object as a copy of another {@link Card}
+ * object.
*
* @param card card to be added
*/
public Card(Card card) {
- this.suit = card.getSuit();
- this.rank = card.getRank();
+ this.SUIT = card.getSuit();
+ this.RANK = card.getRank();
}
/**
- * Gets the value of the card.
+ * Gets the value of the {@link Card} from its {@link Rank}.
*
- * @return The value of the card.
+ * @return the value of the {@link Card}
*/
public int getValue() {
- return this.rank.rankValue;
+ return this.RANK.RANK_VALUE;
}
/**
- * Gets the suit of the card.
+ * Gets the {@link Suit} of the {@link Card}.
*
- * @return The suit of the card.
+ * @return the {@link Suit} of the {@link Card}
*/
public Suit getSuit() {
- return suit;
+ return SUIT;
}
/**
- * Gets the rank of the card.
+ * Gets the {@link Rank} of the {@link Card}.
*
- * @return The rank of the card.
+ * @return the {@link Rank} of the {@link Card}
*/
public Rank getRank() {
- return rank;
+ return RANK;
}
/**
- * Returns a String representation of the Card object, including the rank
- * and suit of the card, as well as its value in parentheses.
+ * Returns a file representation of a {@link Card} in the form
+ * {@code "ace_of_spades.png"}
*
- * @return a String representation of the Card object
+ * @return file representation of a {@link Card}
+ */
+ public String getFilename() {
+ return RANK.toString().toLowerCase() + "_of_" + SUIT.toString().toLowerCase() + ".png";
+ }
+
+ /**
+ * Returns a {@code String} representation of the {@link Card} object,
+ * including the {@link Rank} and {@link Suit} of the {@link Card}.
+ *
+ * @return a {@code String} representation of the {@link Card} object
*/
@Override
public String toString() {
- return "[" + rank + " of " + suit + "](" + this.getValue() + ")";
+ return RANK + " of " + SUIT;
}
-
+
}
diff --git a/src/model/Dealer.java b/src/model/Dealer.java
@@ -15,29 +15,32 @@ package model;
public class Dealer extends Person {
/**
- * Creates a new dealer with the default name "Dealer".
+ * Constructs a new {@link Dealer} with the default name "Dealer".
*/
public Dealer() {
super.setName("Dealer");
}
/**
- * Returns a string representation of the dealer's first card in their hand.
+ * Returns a {@code String} representation of the dealer's first
+ * {@link Card} in their {@link controller.Hand}.
*
- * @return the first card in the dealer's hand as a String
+ * @return the first card in the dealer's {@link controller.Hand} as a
+ * {@code String}
*/
public String printFirstHand() {
- return "" + super.getHand().getCard(0);
+ return String.valueOf(super.getHand().getCard(0));
}
/**
- * Returns a string representation of the value of the dealer's first card
- * in their hand.
+ * Returns a {@code String} representation of the value of the dealer's
+ * first {@link Card} in their {@link controller.Hand}.
*
- * @return the value of the first card in the dealer's hand as a String
+ * @return the value of the first {@link Card} in the dealer's
+ * {@link controller.Hand} as a {@code String}
*/
public String printFirstCardValue() {
- return "" + super.getHand().getCard(0).getValue();
+ return String.valueOf(super.getHand().getCard(0).getValue());
}
-
+
}
diff --git a/src/model/Deck.java b/src/model/Deck.java
@@ -8,7 +8,8 @@ import model.Card.Suit;
/**
* <p>
- * Holds multiple cards and performs operations such as shuffling the deck.</p>
+ * Holds multiple {@link Card} objects and performs operations such as shuffling
+ * the deck.</p>
* <p>
* This class is responsible for creating a deck, populating it with 52 cards,
* shuffling the deck, adding cards to the deck, removing a card from the deck,
@@ -23,16 +24,15 @@ public class Deck {
private ArrayList<Card> deck; // creates a "deck" of card objects
/**
- *
- * Deck constructor
+ * Constructs a new empty {@link Deck} object.
*/
public Deck() {
this.deck = new ArrayList<>();
}
/**
- *
- * Populates empty deck with 52 cards by looping over each rank and value.
+ * Populates empty {@link Deck} with 52 {@link Card} objects by looping over
+ * each {@link Rank} and the value of its {@link Suit}.
*/
public void populate() {
for (Suit cardSuit : Suit.values()) {
@@ -44,7 +44,8 @@ public class Deck {
}
/**
- * Shuffles deck using a temporary deck for storing cards in random order.
+ * Shuffles {@link Deck} using a temporary {@link Deck} for storing cards in
+ * random order.
*/
public void shuffle() {
ArrayList<Card> shufDeck = new ArrayList<>(); // temporary deck for storing cards in random order
@@ -58,23 +59,24 @@ public class Deck {
shufDeck.add(this.deck.get(randomCardIndex)); // add card to random index of temporary deck
this.deck.remove(randomCardIndex); // remove card from original deck
}
-
+
this.deck = shufDeck;
}
/**
- * Adds a card to the deck.
+ * Adds a {@link Card} to the {@link Deck}.
*
- * @param inCard card the be added
+ * @param inCard the {@link Card} the be added to the deck
*/
+ @Deprecated
public void addCard(Card inCard) {
this.deck.add(inCard);
}
/**
- * Takes copy of first card from deck and removes card from deck.
+ * Takes copy of first {@link Card} from the {@link Deck} and removes it.
*
- * @return the card that was removed
+ * @return the {@link Card} that was removed
*/
public Card takeCard() {
Card cardToTake = new Card(deck.get(0));
@@ -84,34 +86,38 @@ public class Deck {
}
/**
- * Makes sure the deck we're hitting from has cards in it.
+ * Checks whether the {@link Deck} to hit is populated with {@link Card}
+ * objects.
*
- * @return true if the deck has cards in or false if the deck is empty
+ * @return {@code true} if the {@link Deck} has {@link Card}s in,
+ * {@code false} otherwise
*/
public boolean hasCards() {
return !deck.isEmpty();
}
/**
- * Removes all Card objects from the deck.
+ * Removes all {@link Card} objects from the {@link Deck}.
*/
public void emptyDeck() {
deck.clear();
}
/**
- * Adds ArrayList of cards to deck.
+ * Adds an {@link ArrayList} of {@link Card} objects to the {@link Deck}.
*
- * @param cards ArrayList of cards to be added to deck
+ * @param cards the {@link ArrayList} of {@link Card} objects to be added to
+ * {@link Deck}
*/
public void addCards(ArrayList<Card> cards) {
deck.addAll(cards);
}
/**
- * Returns ArrayList containing all the cards in the deck.
+ * Returns an {@link ArrayList} containing all the {@link Card} objects in
+ * the {@link Deck}.
*
- * @return deck ArrayList with the cards
+ * @return the {@link ArrayList} with the cards in the {@link Deck}
*/
public ArrayList<Card> getCards() {
return deck;
@@ -145,13 +151,14 @@ public class Deck {
*/
@Override
public String toString() {
+ // TODO: stop String concatenation in loop
String ret = ""; // holds the string to return
for (Card card : deck) {
ret += card;
ret += "\n";
}
-
+
return ret;
}
-
+
}
diff --git a/src/model/Person.java b/src/model/Person.java
@@ -8,7 +8,7 @@ import controller.Hand;
* <p>
* Contains information about a person in a blackjack game, such as their name
* and hand.</p>
- *
+ *
* @see Player
* @see Dealer
*
@@ -21,7 +21,8 @@ public abstract class Person {
private String name;
/**
- * Creates a person with an empty hand and no name.
+ * Constructs a {@link Person} object with an empty {@link Hand} and no
+ * name.
*/
public Person() {
this.hand = new Hand();
@@ -29,34 +30,35 @@ public abstract class Person {
}
/**
- * Returns the hand of the person.
+ * Returns the {@link Hand} of the {@link Person}.
*
- * @return the hand of the person
+ * @return the {@link Hand} of the {@link Person}
*/
public Hand getHand() {
return hand;
}
/**
- * Sets the hand of the person.
+ * Sets the {@link Hand} of the {@link Person}.
*
- * @param hand the hand to set
+ * @param hand the {@link Hand} to set
*/
+ @Deprecated
public void setHand(Hand hand) {
this.hand = hand;
}
/**
- * Returns the name of the person.
+ * Returns the name of the {@link Person}.
*
- * @return the name of the person
+ * @return the name of the {@link Person}
*/
public String getName() {
return name;
}
/**
- * Sets the name of the person.
+ * Sets the name of the {@link Person}.
*
* @param name the name to set
*/
@@ -65,29 +67,42 @@ public abstract class Person {
}
/**
- * Checks if the person has blackjack.
+ * Checks if a {@link Person} has blackjack.
*
- * @return true if the person has a blackjack, false otherwise
+ * @return {@code true} if the {@link java.util.ArrayList} has a blackjack,
+ * {@code false} otherwise
*/
public boolean hasBlackjack() {
return this.getHand().calculateValue() == 21;
}
/**
- * Prints a formatted version of the person's hand.
+ * Prints a formatted version of the person's {@link Hand}.
*
- * @return a formatted string representing the person's hand
+ * @return a formatted {@code String} representing the person's {@link Hand}
*/
public String printHand() {
- return this.hand + "[" + this.hand.calculateValue() + "]";
+ return String.valueOf(this.hand);
}
/**
- * Draws a card from the deck and adds it to the person's hand. If the deck
- * has no cards, the deck is reloaded from the discard pile.
+ * Prints the file path of a {@link Card} at a given index
*
- * @param deck the deck to draw from
- * @param discard the discard pile to reload from if the deck is empty
+ * @param i index of the {@link Card}
+ * @return file path of the {@link Card} at index {@code i}
+ */
+ public String printFilePath(int i) {
+ return hand.getCardFilePath(i);
+ }
+
+ /**
+ * Draws a {@link Card} from the {@link Deck} and adds it to the person's
+ * {@link Hand}. If the {@link Deck} has no cards, the {@link Deck} is
+ * reloaded from the discard pile.
+ *
+ * @param deck the {@link Deck} to draw from
+ * @param discard the discard pile to reload from if the {@link Deck} is
+ * empty
*/
public void hit(Deck deck, Deck discard) {
if (!deck.hasCards()) {
@@ -95,5 +110,5 @@ public abstract class Person {
}
this.hand.takeCardFromDeck(deck);
}
-
+
}
diff --git a/src/model/Player.java b/src/model/Player.java
@@ -24,20 +24,23 @@ import java.util.Scanner;
*/
public class Player extends Person {
+ /**
+ * o < Hi! Hello!> \o /|\ |\ /\ /\
+ */
private double balance; // player's balance
private final String BALANCE_FILE = "db/balance.txt"; // file to store the player's balance
/**
- * Creates a new player with a default name of "Player".
+ * Constructs a new {@link Player} object with a default name of "Player".
*/
public Player() {
super.setName("Player");
}
/**
- * Gets the player's current balance from a file. If a FileNotFoundException
- * is thrown during the file reading process, it is caught and printed to
- * the standard error stream.
+ * Gets the player's current balance from a file. If a
+ * {@link FileNotFoundException} is thrown during the file reading process,
+ * it is caught and printed to the standard error stream.
*
* @return balance the player's current balance
*/
@@ -52,9 +55,9 @@ public class Player extends Person {
}
/**
- * Sets the player's balance and stores it in a file.If a
- * FileNotFoundException is thrown during the file reading process, it is
- * caught and printed to the standard error stream.
+ * Sets the player's balance and stores it in a file. If a
+ * {@link FileNotFoundException} is thrown during the file reading process,
+ * it is caught and printed to the standard error stream.
*
* @param balance the new balance to set
*/
diff --git a/src/model/Statistics.java b/src/model/Statistics.java
@@ -34,7 +34,8 @@ public class Statistics {
private int pushes;
/**
- * Constructs a new Statistics object with all statistics initialized to 0.
+ * Constructs a new {@link Statistics} object with all statistics
+ * initialized to 0.
*/
public Statistics() {
this.wins = 0;
@@ -43,7 +44,7 @@ public class Statistics {
}
/**
- * Constructs a new Statistics object with the given statistics.
+ * Constructs a new {@link Player} object with the given statistics.
*
* @param wins the number of wins
* @param losses the number of losses
@@ -58,7 +59,7 @@ public class Statistics {
/**
* Gets the number of wins.
*
- * @return number of wins
+ * @return the number of wins
*/
public int getWins() {
return wins;
@@ -67,7 +68,7 @@ public class Statistics {
/**
* Gets the number of losses.
*
- * @return number of losses
+ * @return the number of losses
*/
public int getLosses() {
return losses;
@@ -76,7 +77,7 @@ public class Statistics {
/**
* Gets the number of pushes (ties).
*
- * @return number of pushes
+ * @return the number of pushes
*/
public int getPushes() {
return pushes;
@@ -140,12 +141,12 @@ public class Statistics {
/**
* <p>
* This method saves the current statistics (number of wins, losses, and
- * pushes) to a CSV_FILE file. The file path is defined by the CSV_FILE
- * constant in the Statistics class.</p>
+ * pushes) to the {@code CSV_FILE} file. The file path is defined by the
+ * {@code CSV_FILE} constant in the {@link Statistics} class.</p>
* <p>
- * The method uses a CSVWriter object to write the data to the file. If an
- * IOException occurs during the file writing process, it is caught and
- * printed to the standard error stream.</p>
+ * The method uses a {@link CSVWriter} object to write the data to the file.
+ * If an {@link IOException} occurs during the file writing process, it is
+ * caught and printed to the standard error stream.</p>
*/
private void save() {
try (CSVWriter writer = new CSVWriter(new FileWriter(CSV_FILE))) {
@@ -159,21 +160,24 @@ public class Statistics {
/**
* <p>
- * This static method loads the statistics from the CSV file located at the
- * path defined by the CSV_FILE constant in the Statistics class. The method
- * uses a CSVReader object to read the data from the file.</p>
+ * This static method loads the statistics from the {@code CSV_FILE} file
+ * located at the path defined by the {@code CSV_FILE} constant in the
+ * {@link Statistics} class. The method uses a {@link CSVReader} object to
+ * read the data from the file.</p>
* <p>
- * If the CSV file does not have the expected headers, an IOException is
- * thrown. The method returns a Statistics object with the values read from
- * the CSV file.</p>
+ * If the {@code CSV_FILE} file does not have the expected headers, an
+ * {@link IOException} is thrown. The method returns a {@link Statistics}
+ * object with the values read from the {@code CSV_FILE} file.</p>
* <p>
- * If an IOException occurs during the file reading process, it is caught
- * and printed to the standard error stream. If a CsvValidationException is
- * thrown during the file reading process, it is handled internally and an
- * empty Statistics object is returned.</p>
+ * If an {@link IOException} occurs during the file reading process, it is
+ * caught and printed to the standard error stream. If a
+ * {@link CsvValidationException} is thrown during the file reading process,
+ * it is handled internally and an empty {@link Statistics} object is
+ * returned.</p>
*
- * @return a Statistics object with the values read from the CSV file, or an
- * empty Statistics object if there was a problem with the CSV file format
+ * @return a {@link Statistics} object with the values read from the
+ * {@code CSV_FILE} file, or an empty {@link Statistics} object if there was
+ * a problem with the CSV file format
* @throws IOException if there is a problem with the file reading process
* or the CSV file headers are invalid
*/
@@ -181,7 +185,9 @@ public class Statistics {
Statistics stats = new Statistics();
try (CSVReader reader = new CSVReader(new FileReader(CSV_FILE))) {
String[] headers = reader.readNext();
- if (!headers[0].equals(CSV_HEADERS[0]) || !headers[1].equals(CSV_HEADERS[1]) || !headers[2].equals(CSV_HEADERS[2])) {
+ if (!headers[0].equals(CSV_HEADERS[0])
+ || !headers[1].equals(CSV_HEADERS[1])
+ || !headers[2].equals(CSV_HEADERS[2])) {
throw new IOException("Invalid CSV headers");
}
String[] data = reader.readNext();
diff --git a/src/view/LoginGUI.form b/src/view/LoginGUI.form
@@ -1,313 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
- <NonVisualComponents>
- <Container class="javax.swing.JPanel" name="jPanel3">
- <Properties>
- <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
- <Color blue="0" green="cc" red="33" type="rgb"/>
- </Property>
- </Properties>
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
- </Container>
- </NonVisualComponents>
- <Properties>
- <Property name="defaultCloseOperation" type="int" value="3"/>
- <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
- <Color blue="99" green="99" red="99" type="rgb"/>
- </Property>
- <Property name="minimumSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
- <Dimension value="[829, 786]"/>
- </Property>
- </Properties>
- <SyntheticProperties>
- <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
- <SyntheticProperty name="generateCenter" type="boolean" value="false"/>
- </SyntheticProperties>
- <AuxValues>
- <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
- <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
- <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- </AuxValues>
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace min="43" pref="43" max="-2" attributes="0"/>
- <Component id="jPanel1" min="-2" max="-2" attributes="0"/>
- </Group>
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace min="60" pref="60" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Component id="jLabelLogin" min="-2" max="-2" attributes="0"/>
- <Component id="jLabelUsername" min="-2" max="-2" attributes="0"/>
- <Component id="jLabelEmail" min="-2" max="-2" attributes="0"/>
- <Component id="jLabelMobileNumber" min="-2" max="-2" attributes="0"/>
- <Component id="jLabel5" min="-2" max="-2" attributes="0"/>
- <Component id="jLabelDateOfBirth" min="-2" max="-2" attributes="0"/>
- <Component id="jLabelPassword" min="-2" max="-2" attributes="0"/>
- <Component id="jLabelPasswordRequirements" min="-2" pref="205" max="-2" attributes="0"/>
- <Component id="jLabel1" min="-2" pref="137" max="-2" attributes="0"/>
- <Component id="jLabel2" min="-2" max="-2" attributes="0"/>
- <Component id="jLabel3" min="-2" max="-2" attributes="0"/>
- <Component id="jLabel4" alignment="0" min="-2" max="-2" attributes="0"/>
- <Component id="jLabel6" min="-2" max="-2" attributes="0"/>
- <Component id="jButtonVerify" alignment="0" min="-2" pref="204" max="-2" attributes="0"/>
- </Group>
- <EmptySpace min="-2" pref="11" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Component id="jLabelWelcome" alignment="0" min="-2" max="-2" attributes="0"/>
- <Group type="102" alignment="0" attributes="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Component id="jTextFieldUsername" alignment="0" min="-2" pref="215" max="-2" attributes="0"/>
- <Component id="jTextFieldEmail" alignment="0" min="-2" pref="215" max="-2" attributes="0"/>
- <Component id="jTextFieldMobileNumber" alignment="0" min="-2" pref="215" max="-2" attributes="0"/>
- <Component id="jDateChooser1" min="-2" pref="210" max="-2" attributes="0"/>
- <Component id="jPasswordField" min="-2" pref="215" max="-2" attributes="0"/>
- </Group>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jLabelCardsImage" min="-2" pref="680" max="-2" attributes="0"/>
- </Group>
- </Group>
- </Group>
- </Group>
- <EmptySpace max="-2" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace min="15" pref="15" max="-2" attributes="0"/>
- <Component id="jPanel1" min="-2" max="-2" attributes="0"/>
- <EmptySpace min="-2" pref="8" max="-2" attributes="0"/>
- <Component id="jLabelWelcome" min="-2" pref="105" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace min="-2" pref="17" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace min="-2" pref="71" max="-2" attributes="0"/>
- <Component id="jTextFieldUsername" min="-2" pref="26" max="-2" attributes="0"/>
- <EmptySpace min="21" pref="21" max="-2" attributes="0"/>
- <Component id="jTextFieldEmail" min="-2" max="-2" attributes="0"/>
- <EmptySpace min="18" pref="18" max="-2" attributes="0"/>
- <Component id="jTextFieldMobileNumber" min="-2" max="-2" attributes="0"/>
- <EmptySpace min="-2" pref="68" max="-2" attributes="0"/>
- <Component id="jDateChooser1" min="-2" max="-2" attributes="0"/>
- </Group>
- <Group type="102" alignment="0" attributes="0">
- <Component id="jLabelLogin" min="-2" max="-2" attributes="0"/>
- <EmptySpace min="18" pref="18" max="-2" attributes="0"/>
- <Component id="jLabelUsername" min="-2" max="-2" attributes="0"/>
- <EmptySpace min="21" pref="21" max="-2" attributes="0"/>
- <Component id="jLabelEmail" min="-2" max="-2" attributes="0"/>
- <EmptySpace min="20" pref="20" max="-2" attributes="0"/>
- <Component id="jLabelMobileNumber" min="-2" max="-2" attributes="0"/>
- <EmptySpace min="20" pref="20" max="-2" attributes="0"/>
- <Component id="jLabel5" min="-2" max="-2" attributes="0"/>
- <EmptySpace min="29" pref="29" max="-2" attributes="0"/>
- <Component id="jLabelDateOfBirth" min="-2" max="-2" attributes="0"/>
- <EmptySpace min="-2" pref="13" max="-2" attributes="0"/>
- <Component id="jLabel6" min="-2" max="-2" attributes="0"/>
- <EmptySpace type="separate" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Component id="jPasswordField" min="-2" max="-2" attributes="0"/>
- <Group type="102" attributes="0">
- <Component id="jLabelPassword" min="-2" max="-2" attributes="0"/>
- <EmptySpace type="unrelated" max="-2" attributes="0"/>
- <Component id="jLabelPasswordRequirements" min="-2" max="-2" attributes="0"/>
- <EmptySpace type="separate" max="-2" attributes="0"/>
- <Component id="jLabel1" min="-2" max="-2" attributes="0"/>
- <EmptySpace type="separate" max="-2" attributes="0"/>
- <Component id="jLabel2" min="-2" max="-2" attributes="0"/>
- <EmptySpace type="separate" max="-2" attributes="0"/>
- <Component id="jLabel3" min="-2" max="-2" attributes="0"/>
- <EmptySpace type="separate" max="-2" attributes="0"/>
- <Component id="jLabel4" min="-2" max="-2" attributes="0"/>
- </Group>
- </Group>
- </Group>
- </Group>
- </Group>
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace min="-2" pref="35" max="-2" attributes="0"/>
- <Component id="jLabelCardsImage" min="-2" pref="520" max="-2" attributes="0"/>
- </Group>
- </Group>
- <EmptySpace min="-2" pref="25" max="-2" attributes="0"/>
- <Component id="jButtonVerify" min="-2" pref="86" max="-2" attributes="0"/>
- <EmptySpace pref="46" max="32767" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- </Layout>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="jLabelWelcome">
- <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="WELCOME TO LIBREJACK!"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelLogin">
- <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="Login"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelEmail">
- <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="Email:"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelMobileNumber">
- <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="Mobile number:"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelUsername">
- <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="Username:"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelPassword">
- <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="Password:"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JTextField" name="jTextFieldUsername">
- <Properties>
- <Property name="text" type="java.lang.String" value="PenguinPancakes69"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jTextFieldUsernameActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JPasswordField" name="jPasswordField">
- <Properties>
- <Property name="text" type="java.lang.String" value="password123"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jPasswordFieldActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelPasswordRequirements">
- <Properties>
- <Property name="text" type="java.lang.String" value="Password requires at least:"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel1">
- <Properties>
- <Property name="text" type="java.lang.String" value="- 10 characters"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel2">
- <Properties>
- <Property name="text" type="java.lang.String" value="- 1 uppercase and lowercase letter"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel3">
- <Properties>
- <Property name="text" type="java.lang.String" value="- 1 number"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel4">
- <Properties>
- <Property name="text" type="java.lang.String" value="- 1 special character"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JButton" name="jButtonVerify">
- <Properties>
- <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
- <Color blue="cc" green="cc" red="cc" type="rgb"/>
- </Property>
- <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="PLAY"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonVerifyActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JTextField" name="jTextFieldEmail">
- <Properties>
- <Property name="text" type="java.lang.String" value="john.doe@example.com"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JTextField" name="jTextFieldMobileNumber">
- <Properties>
- <Property name="text" type="java.lang.String" value="082 738 9016"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jTextFieldMobileNumberActionPerformed"/>
- </Events>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel5">
- <Properties>
- <Property name="text" type="java.lang.String" value="Must be a valid South African number"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelDateOfBirth">
- <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="Date of birth:"/>
- </Properties>
- </Component>
- <Container class="javax.swing.JPanel" name="jPanel1">
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
- <Property name="useNullLayout" type="boolean" value="false"/>
- </Layout>
- </Container>
- <Container class="javax.swing.JPanel" name="jPanel2">
-
- <Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
- <Property name="useNullLayout" type="boolean" value="false"/>
- </Layout>
- </Container>
- <Component class="javax.swing.JLabel" name="jLabelCardsImage">
- <Properties>
- <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
- <Image iconType="3" name="/assets/cards_icon.png"/>
- </Property>
- <Property name="text" type="java.lang.String" value="jLabel6"/>
- </Properties>
- </Component>
- <Component class="com.toedter.calendar.JDateChooser" name="jDateChooser1">
- </Component>
- <Component class="javax.swing.JLabel" name="jLabel6">
- <Properties>
- <Property name="text" type="java.lang.String" value="You need to be at least 18 to gamble"/>
- </Properties>
- </Component>
- </SubComponents>
-</Form>
diff --git a/src/view/LoginGUI.java b/src/view/LoginGUI.java
@@ -1,322 +0,0 @@
-package view;
-
-import controller.LoginController;
-import java.util.Date;
-
-/**
- * GUI for login screen.
- *
- * @author Michael Neuper
- * <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a>
- */
-public class LoginGUI extends javax.swing.JFrame {
-
- /**
- * Creates new form LoginGUI
- */
- public LoginGUI() {
- initComponents();
- }
-
- LoginController controller = new LoginController();
-
- /**
- * This method is called from within the constructor to initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is always
- * regenerated by the Form Editor.
- */
- @SuppressWarnings("unchecked")
- // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
- private void initComponents() {
-
- jPanel3 = new javax.swing.JPanel();
- jLabelWelcome = new javax.swing.JLabel();
- jLabelLogin = new javax.swing.JLabel();
- jLabelEmail = new javax.swing.JLabel();
- jLabelMobileNumber = new javax.swing.JLabel();
- jLabelUsername = new javax.swing.JLabel();
- jLabelPassword = new javax.swing.JLabel();
- jTextFieldUsername = new javax.swing.JTextField();
- jPasswordField = new javax.swing.JPasswordField();
- jLabelPasswordRequirements = new javax.swing.JLabel();
- jLabel1 = new javax.swing.JLabel();
- jLabel2 = new javax.swing.JLabel();
- jLabel3 = new javax.swing.JLabel();
- jLabel4 = new javax.swing.JLabel();
- jButtonVerify = new javax.swing.JButton();
- jTextFieldEmail = new javax.swing.JTextField();
- jTextFieldMobileNumber = new javax.swing.JTextField();
- jLabel5 = new javax.swing.JLabel();
- jLabelDateOfBirth = new javax.swing.JLabel();
- jPanel1 = new javax.swing.JPanel();
- jPanel2 = new javax.swing.JPanel();
- jLabelCardsImage = new javax.swing.JLabel();
- jDateChooser1 = new com.toedter.calendar.JDateChooser();
- jLabel6 = new javax.swing.JLabel();
-
- jPanel3.setBackground(new java.awt.Color(51, 204, 0));
-
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setBackground(new java.awt.Color(153, 153, 153));
- setMinimumSize(new java.awt.Dimension(829, 786));
-
- jLabelWelcome.setFont(new java.awt.Font("Dialog", 1, 48)); // NOI18N
- jLabelWelcome.setText("WELCOME TO LIBREJACK!");
-
- jLabelLogin.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
- jLabelLogin.setText("Login");
-
- jLabelEmail.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- jLabelEmail.setText("Email:");
-
- jLabelMobileNumber.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- jLabelMobileNumber.setText("Mobile number:");
-
- jLabelUsername.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- jLabelUsername.setText("Username:");
-
- jLabelPassword.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- jLabelPassword.setText("Password:");
-
- jTextFieldUsername.setText("PenguinPancakes69");
- jTextFieldUsername.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jTextFieldUsernameActionPerformed(evt);
- }
- });
-
- jPasswordField.setText("password123");
- jPasswordField.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jPasswordFieldActionPerformed(evt);
- }
- });
-
- jLabelPasswordRequirements.setText("Password requires at least:");
-
- jLabel1.setText("- 10 characters");
-
- jLabel2.setText("- 1 uppercase and lowercase letter");
-
- jLabel3.setText("- 1 number");
-
- jLabel4.setText("- 1 special character");
-
- jButtonVerify.setBackground(new java.awt.Color(204, 204, 204));
- jButtonVerify.setFont(new java.awt.Font("Dialog", 1, 48)); // NOI18N
- jButtonVerify.setText("PLAY");
- jButtonVerify.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonVerifyActionPerformed(evt);
- }
- });
-
- jTextFieldEmail.setText("john.doe@example.com");
-
- jTextFieldMobileNumber.setText("082 738 9016");
- jTextFieldMobileNumber.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jTextFieldMobileNumberActionPerformed(evt);
- }
- });
-
- jLabel5.setText("Must be a valid South African number");
-
- jLabelDateOfBirth.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- jLabelDateOfBirth.setText("Date of birth:");
-
- jPanel1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
-
- jPanel2.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());
-
- jLabelCardsImage.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/cards_icon.png"))); // NOI18N
- jLabelCardsImage.setText("jLabel6");
-
- jLabel6.setText("You need to be at least 18 to gamble");
-
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(43, 43, 43)
- .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addGap(60, 60, 60)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabelLogin)
- .addComponent(jLabelUsername)
- .addComponent(jLabelEmail)
- .addComponent(jLabelMobileNumber)
- .addComponent(jLabel5)
- .addComponent(jLabelDateOfBirth)
- .addComponent(jLabelPassword)
- .addComponent(jLabelPasswordRequirements, javax.swing.GroupLayout.PREFERRED_SIZE, 205, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabel2)
- .addComponent(jLabel3)
- .addComponent(jLabel4)
- .addComponent(jLabel6)
- .addComponent(jButtonVerify, javax.swing.GroupLayout.PREFERRED_SIZE, 204, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(11, 11, 11)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabelWelcome)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jTextFieldUsername, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jTextFieldEmail, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jTextFieldMobileNumber, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jDateChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jPasswordField, javax.swing.GroupLayout.PREFERRED_SIZE, 215, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jLabelCardsImage, javax.swing.GroupLayout.PREFERRED_SIZE, 680, javax.swing.GroupLayout.PREFERRED_SIZE)))))
- .addContainerGap())
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(15, 15, 15)
- .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(8, 8, 8)
- .addComponent(jLabelWelcome, javax.swing.GroupLayout.PREFERRED_SIZE, 105, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(17, 17, 17)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(71, 71, 71)
- .addComponent(jTextFieldUsername, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(21, 21, 21)
- .addComponent(jTextFieldEmail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(18, 18, 18)
- .addComponent(jTextFieldMobileNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(68, 68, 68)
- .addComponent(jDateChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabelLogin)
- .addGap(18, 18, 18)
- .addComponent(jLabelUsername)
- .addGap(21, 21, 21)
- .addComponent(jLabelEmail)
- .addGap(20, 20, 20)
- .addComponent(jLabelMobileNumber)
- .addGap(20, 20, 20)
- .addComponent(jLabel5)
- .addGap(29, 29, 29)
- .addComponent(jLabelDateOfBirth)
- .addGap(13, 13, 13)
- .addComponent(jLabel6)
- .addGap(18, 18, 18)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jPasswordField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabelPassword)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jLabelPasswordRequirements)
- .addGap(18, 18, 18)
- .addComponent(jLabel1)
- .addGap(18, 18, 18)
- .addComponent(jLabel2)
- .addGap(18, 18, 18)
- .addComponent(jLabel3)
- .addGap(18, 18, 18)
- .addComponent(jLabel4))))))
- .addGroup(layout.createSequentialGroup()
- .addGap(35, 35, 35)
- .addComponent(jLabelCardsImage, javax.swing.GroupLayout.PREFERRED_SIZE, 520, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGap(25, 25, 25)
- .addComponent(jButtonVerify, javax.swing.GroupLayout.PREFERRED_SIZE, 86, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(46, Short.MAX_VALUE))
- );
-
- pack();
- }// </editor-fold>//GEN-END:initComponents
-
- private void jPasswordFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jPasswordFieldActionPerformed
-
- }//GEN-LAST:event_jPasswordFieldActionPerformed
-
- private void jButtonVerifyActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonVerifyActionPerformed
- char[] passwordCh = jPasswordField.getPassword();
- String password = new String(passwordCh); // convert password to string
- Date selectedDate = jDateChooser1.getDate();
- if (controller.areAllFieldsValid(
- jTextFieldEmail.getText(),
- jTextFieldMobileNumber.getText(),
- selectedDate,
- password)) {
- new MainGUI().setVisible(true); // open the game window
- this.dispose(); // close the login screen
- }
- }//GEN-LAST:event_jButtonVerifyActionPerformed
-
- private void jTextFieldUsernameActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextFieldUsernameActionPerformed
- // TODO add your handling code here:
- }//GEN-LAST:event_jTextFieldUsernameActionPerformed
-
- private void jTextFieldMobileNumberActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextFieldMobileNumberActionPerformed
- // TODO add your handling code here:
- }//GEN-LAST:event_jTextFieldMobileNumberActionPerformed
-
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- /* Set the Nimbus look and feel */
- //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
- /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
- * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
- */
- try {
- for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
- if ("Nimbus".equals(info.getName())) {
- javax.swing.UIManager.setLookAndFeel(info.getClassName());
- break;
- }
- }
- } catch (ClassNotFoundException ex) {
- java.util.logging.Logger.getLogger(LoginGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (InstantiationException ex) {
- java.util.logging.Logger.getLogger(LoginGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (IllegalAccessException ex) {
- java.util.logging.Logger.getLogger(LoginGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (javax.swing.UnsupportedLookAndFeelException ex) {
- java.util.logging.Logger.getLogger(LoginGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- }
- //</editor-fold>
-
- /* Create and display the form */
- java.awt.EventQueue.invokeLater(() -> {
- new LoginGUI().setVisible(true);
- });
- }
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JButton jButtonVerify;
- private com.toedter.calendar.JDateChooser jDateChooser1;
- private javax.swing.JLabel jLabel1;
- private javax.swing.JLabel jLabel2;
- private javax.swing.JLabel jLabel3;
- private javax.swing.JLabel jLabel4;
- private javax.swing.JLabel jLabel5;
- private javax.swing.JLabel jLabel6;
- private javax.swing.JLabel jLabelCardsImage;
- private javax.swing.JLabel jLabelDateOfBirth;
- private javax.swing.JLabel jLabelEmail;
- private javax.swing.JLabel jLabelLogin;
- private javax.swing.JLabel jLabelMobileNumber;
- private javax.swing.JLabel jLabelPassword;
- private javax.swing.JLabel jLabelPasswordRequirements;
- private javax.swing.JLabel jLabelUsername;
- private javax.swing.JLabel jLabelWelcome;
- private javax.swing.JPanel jPanel1;
- private javax.swing.JPanel jPanel2;
- private javax.swing.JPanel jPanel3;
- private javax.swing.JPasswordField jPasswordField;
- private javax.swing.JTextField jTextFieldEmail;
- private javax.swing.JTextField jTextFieldMobileNumber;
- private javax.swing.JTextField jTextFieldUsername;
- // End of variables declaration//GEN-END:variables
-}
diff --git a/src/view/MainGUI.form b/src/view/MainGUI.form
@@ -1,335 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
- <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"/>
- <SyntheticProperty name="generateCenter" type="boolean" value="false"/>
- </SyntheticProperties>
- <AuxValues>
- <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
- <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
- <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- </AuxValues>
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace min="-2" pref="348" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
- <Component id="jPanel3" min="-2" max="-2" attributes="0"/>
- </Group>
- <Component id="jLabelDealerHandValue" alignment="0" min="-2" pref="80" max="-2" attributes="0"/>
- </Group>
- <EmptySpace min="-2" pref="196" max="-2" attributes="0"/>
- </Group>
- <Group type="103" groupAlignment="1" max="-2" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace min="1132" pref="1132" max="-2" attributes="0"/>
- <Component id="jButtonExit" min="-2" pref="120" max="-2" attributes="0"/>
- <EmptySpace min="-2" pref="144" max="-2" attributes="0"/>
- </Group>
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace min="-2" pref="256" max="-2" attributes="0"/>
- <Component id="jLabelResult" min="-2" pref="894" max="-2" attributes="0"/>
- <EmptySpace max="32767" attributes="0"/>
- </Group>
- <Group type="102" alignment="1" attributes="0">
- <Group type="103" groupAlignment="1" attributes="0">
- <Group type="102" attributes="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace min="70" pref="70" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Component id="jLabelDisplayDealerHand" min="-2" pref="440" max="-2" attributes="0"/>
- <Component id="jLabelDealerHand" min="-2" pref="270" max="-2" attributes="0"/>
- <Component id="jLabelBalance" min="-2" pref="220" max="-2" attributes="0"/>
- </Group>
- </Group>
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace min="-2" pref="52" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Component id="jLabelCurrentBet" min="-2" pref="200" max="-2" attributes="0"/>
- <Component id="jButtonBetAmount" min="-2" pref="220" max="-2" attributes="0"/>
- </Group>
- </Group>
- </Group>
- <EmptySpace min="-2" pref="20" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <Component id="jLabelDisplayPlayerHand" min="-2" pref="400" max="-2" attributes="0"/>
- <EmptySpace max="32767" attributes="0"/>
- <Component id="jButtonStand" min="-2" pref="190" max="-2" attributes="0"/>
- </Group>
- <Group type="102" alignment="0" attributes="0">
- <Group type="103" groupAlignment="1" attributes="0">
- <Component id="jButtonStats" min="-2" pref="199" max="-2" attributes="0"/>
- <Group type="102" attributes="0">
- <Component id="jLabelPlayerHand" min="-2" pref="210" max="-2" attributes="0"/>
- <EmptySpace type="unrelated" max="-2" attributes="0"/>
- <Component id="jLabelPlayerHandValue" min="-2" pref="60" max="-2" attributes="0"/>
- <EmptySpace min="-2" pref="288" max="-2" attributes="0"/>
- <Component id="jButtonHit" min="-2" pref="190" max="-2" attributes="0"/>
- </Group>
- </Group>
- <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
- </Group>
- </Group>
- </Group>
- <Group type="102" attributes="0">
- <EmptySpace min="-2" pref="52" max="-2" attributes="0"/>
- <Component id="jButtonDeal" min="-2" pref="460" max="-2" attributes="0"/>
- <EmptySpace min="-2" pref="38" max="-2" attributes="0"/>
- <Component id="jButtonDouble" min="-2" pref="190" max="-2" attributes="0"/>
- </Group>
- </Group>
- <EmptySpace min="-2" pref="100" max="-2" attributes="0"/>
- </Group>
- </Group>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace min="-2" pref="95" max="-2" attributes="0"/>
- <Component id="jButtonStats" min="-2" pref="64" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jLabelResult" min="-2" pref="130" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <Component id="jPanel3" min="-2" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace min="-2" pref="7" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="3" attributes="0">
- <Component id="jLabelPlayerHand" alignment="3" min="-2" pref="30" max="-2" attributes="0"/>
- <Component id="jButtonHit" alignment="3" min="-2" pref="110" max="-2" attributes="0"/>
- <Component id="jLabelDealerHand" alignment="3" min="-2" pref="30" max="-2" attributes="0"/>
- </Group>
- <EmptySpace pref="6" max="32767" attributes="0"/>
- </Group>
- <Group type="102" alignment="1" attributes="0">
- <EmptySpace max="32767" attributes="0"/>
- <Component id="jLabelPlayerHandValue" min="-2" pref="40" max="-2" attributes="0"/>
- <EmptySpace min="-2" pref="2" max="-2" attributes="0"/>
- </Group>
- </Group>
- </Group>
- <Group type="102" alignment="1" attributes="0">
- <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
- <Component id="jLabelDealerHandValue" min="-2" pref="40" max="-2" attributes="0"/>
- </Group>
- </Group>
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jLabelDisplayDealerHand" min="-2" pref="59" max="-2" attributes="0"/>
- <EmptySpace type="unrelated" max="-2" attributes="0"/>
- <Component id="jLabelBalance" min="-2" pref="40" max="-2" attributes="0"/>
- </Group>
- <Group type="102" attributes="0">
- <EmptySpace min="10" pref="10" max="-2" attributes="0"/>
- <Component id="jLabelDisplayPlayerHand" min="-2" pref="150" max="-2" attributes="0"/>
- </Group>
- </Group>
- <EmptySpace min="-2" pref="50" max="-2" attributes="0"/>
- <Component id="jLabelCurrentBet" min="-2" pref="50" max="-2" attributes="0"/>
- <EmptySpace type="unrelated" max="-2" attributes="0"/>
- <Component id="jButtonBetAmount" min="-2" pref="60" max="-2" attributes="0"/>
- </Group>
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace min="-2" pref="63" max="-2" attributes="0"/>
- <Component id="jButtonStand" min="-2" pref="110" max="-2" attributes="0"/>
- <EmptySpace min="-2" pref="49" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Component id="jButtonDeal" min="-2" pref="120" max="-2" attributes="0"/>
- <Component id="jButtonDouble" min="-2" pref="120" max="-2" attributes="0"/>
- </Group>
- </Group>
- </Group>
- <EmptySpace min="-2" pref="62" max="-2" attributes="0"/>
- <Component id="jButtonExit" min="-2" pref="50" max="-2" attributes="0"/>
- <EmptySpace min="-2" pref="22" max="-2" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- </Layout>
- <SubComponents>
- <Container class="javax.swing.JPanel" name="jPanel3">
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <EmptySpace min="0" pref="100" max="32767" attributes="0"/>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <EmptySpace min="0" pref="100" max="32767" attributes="0"/>
- </Group>
- </DimensionLayout>
- </Layout>
- </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>
- </Properties>
- </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>
- </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>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonStandActionPerformed"/>
- </Events>
- </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>
- </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>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonDealActionPerformed"/>
- </Events>
- </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>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonBetAmountActionPerformed"/>
- </Events>
- </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>
- </Properties>
- </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>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelDisplayDealerHand">
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelDisplayPlayerHand">
- <Properties>
- <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code="game.displayPlayerHand()" type="code"/>
- </Property>
- </Properties>
- </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>
- </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>
- </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>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelDealerHandValue">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Dialog" size="36" style="1"/>
- </Property>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelPlayerHandValue">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Dialog" size="36" style="1"/>
- </Property>
- </Properties>
- </Component>
- <Component class="javax.swing.JButton" name="jButtonStats">
- <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="Show Statistics"/>
- </Properties>
- <Events>
- <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonStatsActionPerformed"/>
- </Events>
- </Component>
- </SubComponents>
-</Form>
diff --git a/src/view/MainGUI.java b/src/view/MainGUI.java
@@ -1,374 +0,0 @@
-package view;
-
-import controller.Controller;
-import java.io.IOException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import javax.swing.JOptionPane;
-
-/**
- * Main GUI.
- *
- * @author Michael Neuper
- * <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a>
- */
-public class MainGUI extends javax.swing.JFrame {
-
- Controller game = new Controller();
-
- /**
- * Creates new form GUI
- */
- public MainGUI() {
- initComponents();
- }
-
- /**
- * This method is called from within the constructor to initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is always
- * regenerated by the Form Editor.
- */
- @SuppressWarnings("unchecked")
- // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
- private void initComponents() {
-
- jPanel3 = new javax.swing.JPanel();
- jLabelBalance = new javax.swing.JLabel();
- jButtonDouble = new javax.swing.JButton();
- jButtonStand = new javax.swing.JButton();
- jButtonHit = new javax.swing.JButton();
- jButtonDeal = new javax.swing.JButton();
- jButtonBetAmount = new javax.swing.JButton();
- jLabelCurrentBet = new javax.swing.JLabel();
- jLabelResult = new javax.swing.JLabel();
- jLabelDisplayDealerHand = new javax.swing.JLabel();
- jLabelDisplayPlayerHand = new javax.swing.JLabel();
- jLabelDealerHand = new javax.swing.JLabel();
- jLabelPlayerHand = new javax.swing.JLabel();
- jButtonExit = new javax.swing.JButton();
- jLabelDealerHandValue = new javax.swing.JLabel();
- jLabelPlayerHandValue = new javax.swing.JLabel();
- jButtonStats = new javax.swing.JButton();
-
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
- setTitle("librejack");
- setForeground(new java.awt.Color(0, 102, 0));
-
- javax.swing.GroupLayout jPanel3Layout = new javax.swing.GroupLayout(jPanel3);
- jPanel3.setLayout(jPanel3Layout);
- jPanel3Layout.setHorizontalGroup(
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 100, Short.MAX_VALUE)
- );
- jPanel3Layout.setVerticalGroup(
- jPanel3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGap(0, 100, Short.MAX_VALUE)
- );
-
- jLabelBalance.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
- jLabelBalance.setText("Balance: " + game.getBalance());
-
- jButtonDouble.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- jButtonDouble.setText("DOUBLE DOWN");
- jButtonDouble.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonDoubleActionPerformed(evt);
- }
- });
-
- 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) {
- jButtonStandActionPerformed(evt);
- }
- });
-
- 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);
- }
- });
-
- 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) {
- jButtonDealActionPerformed(evt);
- }
- });
-
- 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) {
- jButtonBetAmountActionPerformed(evt);
- }
- });
-
- jLabelCurrentBet.setFont(new java.awt.Font("Dialog", 1, 14)); // NOI18N
- jLabelCurrentBet.setText("Current Bet: " + game.getBet());
-
- jLabelResult.setFont(new java.awt.Font("Dialog", 1, 48)); // NOI18N
- jLabelResult.setText(game.checkWhoWins());
-
- jLabelDisplayPlayerHand.setText(game.displayPlayerHand());
-
- jLabelDealerHand.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
- jLabelDealerHand.setText("Dealer's Hand:");
-
- jLabelPlayerHand.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
- jLabelPlayerHand.setText("Your Hand:");
-
- jButtonExit.setText("EXIT");
- jButtonExit.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonExitActionPerformed(evt);
- }
- });
-
- jLabelDealerHandValue.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
-
- jLabelPlayerHandValue.setFont(new java.awt.Font("Dialog", 1, 36)); // NOI18N
-
- jButtonStats.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- jButtonStats.setText("Show Statistics");
- jButtonStats.addActionListener(new java.awt.event.ActionListener() {
- public void actionPerformed(java.awt.event.ActionEvent evt) {
- jButtonStatsActionPerformed(evt);
- }
- });
-
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(348, 348, 348)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(0, 0, Short.MAX_VALUE)
- .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addComponent(jLabelDealerHandValue, javax.swing.GroupLayout.PREFERRED_SIZE, 80, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(196, 196, 196))
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
- .addGroup(layout.createSequentialGroup()
- .addGap(1132, 1132, 1132)
- .addComponent(jButtonExit, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(144, 144, 144))
- .addGroup(javax.swing.GroupLayout.Alignment.LEADING, layout.createSequentialGroup()
- .addGap(256, 256, 256)
- .addComponent(jLabelResult, javax.swing.GroupLayout.PREFERRED_SIZE, 894, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(70, 70, 70)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabelDisplayDealerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 440, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabelDealerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 270, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabelBalance, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGroup(layout.createSequentialGroup()
- .addGap(52, 52, 52)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jLabelCurrentBet, javax.swing.GroupLayout.PREFERRED_SIZE, 200, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jButtonBetAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 220, javax.swing.GroupLayout.PREFERRED_SIZE))))
- .addGap(20, 20, 20)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabelDisplayPlayerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 400, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jButtonStand, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(jButtonStats, javax.swing.GroupLayout.PREFERRED_SIZE, 199, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabelPlayerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 210, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jLabelPlayerHandValue, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(288, 288, 288)
- .addComponent(jButtonHit, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGap(0, 0, Short.MAX_VALUE))))
- .addGroup(layout.createSequentialGroup()
- .addGap(52, 52, 52)
- .addComponent(jButtonDeal, javax.swing.GroupLayout.PREFERRED_SIZE, 460, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(38, 38, 38)
- .addComponent(jButtonDouble, javax.swing.GroupLayout.PREFERRED_SIZE, 190, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGap(100, 100, 100)))
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(95, 95, 95)
- .addComponent(jButtonStats, javax.swing.GroupLayout.PREFERRED_SIZE, 64, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jLabelResult, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(jPanel3, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(7, 7, 7)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabelPlayerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jButtonHit, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabelDealerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 30, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 6, Short.MAX_VALUE))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(jLabelPlayerHandValue, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(2, 2, 2))))
- .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
- .addGap(0, 0, Short.MAX_VALUE)
- .addComponent(jLabelDealerHandValue, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jLabelDisplayDealerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 59, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jLabelBalance, javax.swing.GroupLayout.PREFERRED_SIZE, 40, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addGap(10, 10, 10)
- .addComponent(jLabelDisplayPlayerHand, javax.swing.GroupLayout.PREFERRED_SIZE, 150, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addGap(50, 50, 50)
- .addComponent(jLabelCurrentBet, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jButtonBetAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 60, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addGap(63, 63, 63)
- .addComponent(jButtonStand, javax.swing.GroupLayout.PREFERRED_SIZE, 110, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(49, 49, 49)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addComponent(jButtonDeal, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jButtonDouble, javax.swing.GroupLayout.PREFERRED_SIZE, 120, javax.swing.GroupLayout.PREFERRED_SIZE))))
- .addGap(62, 62, 62)
- .addComponent(jButtonExit, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(22, 22, 22))
- );
-
- 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("Balance: " + game.getBalance()); // update the balance
- game.startRound();
- jLabelDisplayDealerHand.setText(game.displayDealerFirstCard());
- jLabelDealerHandValue.setText(game.displayDealerFirstCardValue());
- printPlayerHand();
- }//GEN-LAST:event_jButtonDealActionPerformed
-
- private void jButtonBetAmountActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonBetAmountActionPerformed
- game.setBet(Double.parseDouble(JOptionPane.showInputDialog("Enter the bet amount")));
- jLabelCurrentBet.setText("Current Bet: " + Double.toString(game.getBet()));
- }//GEN-LAST:event_jButtonBetAmountActionPerformed
-
- private void jButtonStandActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonStandActionPerformed
-
- printDealerHand();
- jLabelResult.setText(game.checkWhoWins());
- printDealerHand();
- jLabelBalance.setText("Balance: " + 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("Balance: " + 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("Balance: " + game.getBalance()); // update the balance
- }//GEN-LAST:event_jButtonHitActionPerformed
-
- private void jButtonExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonExitActionPerformed
- System.exit(0);
- }//GEN-LAST:event_jButtonExitActionPerformed
-
- private void jButtonStatsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonStatsActionPerformed
- try {
- new StatisticsGUI().setVisible(true);
- } catch (IOException ex) {
- Logger.getLogger(MainGUI.class.getName()).log(Level.SEVERE, null, ex);
- }
- }//GEN-LAST:event_jButtonStatsActionPerformed
-
- /**
- * @param args the command line arguments
- */
- public static void main(String args[]) {
- /* Set the Nimbus look and feel */
- //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
- /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
- * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
- */
- try {
- for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
- if ("Nimbus".equals(info.getName())) {
- javax.swing.UIManager.setLookAndFeel(info.getClassName());
- break;
- }
- }
- } catch (ClassNotFoundException ex) {
- java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (InstantiationException ex) {
- java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (IllegalAccessException ex) {
- java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (javax.swing.UnsupportedLookAndFeelException ex) {
- java.util.logging.Logger.getLogger(MainGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- }
- //</editor-fold>
- //</editor-fold>
-
- /* Create and display the form */
- java.awt.EventQueue.invokeLater(() -> {
- new MainGUI().setVisible(true);
- });
- }
-
- public void printDealerHand() {
- jLabelDisplayDealerHand.setText(game.displayDealerHand());
- jLabelDealerHandValue.setText(game.displayDealerHandValue());
- }
-
- public void printPlayerHand() {
- jLabelDisplayPlayerHand.setText(game.displayPlayerHand());
- jLabelPlayerHandValue.setText(game.displayPlayerHandValue());
- }
-
- // 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.JButton jButtonStats;
- private javax.swing.JLabel jLabelBalance;
- private javax.swing.JLabel jLabelCurrentBet;
- private javax.swing.JLabel jLabelDealerHand;
- private javax.swing.JLabel jLabelDealerHandValue;
- private javax.swing.JLabel jLabelDisplayDealerHand;
- private javax.swing.JLabel jLabelDisplayPlayerHand;
- private javax.swing.JLabel jLabelPlayerHand;
- private javax.swing.JLabel jLabelPlayerHandValue;
- private javax.swing.JLabel jLabelResult;
- private javax.swing.JPanel jPanel3;
- // End of variables declaration//GEN-END:variables
-}
diff --git a/src/view/MainUI.form b/src/view/MainUI.form
@@ -0,0 +1,574 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+ <Properties>
+ <Property name="defaultCloseOperation" type="int" value="3"/>
+ <Property name="title" type="java.lang.String" value="librejack"/>
+ <Property name="iconImage" type="java.awt.Image" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+ <Connection code="Toolkit.getDefaultToolkit().getImage(getClass().getResource("/assets/icons/heart_cards.png"))" type="code"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[800, 600]"/>
+ </Property>
+ </Properties>
+ <SyntheticProperties>
+ <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+ <SyntheticProperty name="generateCenter" type="boolean" value="false"/>
+ </SyntheticProperties>
+ <Events>
+ <EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="formKeyPressed"/>
+ </Events>
+ <AuxValues>
+ <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,2,88,0,0,3,-68"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+ <SubComponents>
+ <Container class="javax.swing.JPanel" name="jPanelNorth">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="33" green="66" red="0" type="rgb"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="North"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="1" attributes="0">
+ <EmptySpace min="-2" pref="54" max="-2" attributes="0"/>
+ <Component id="jButtonMenu" min="-2" max="-2" attributes="0"/>
+ <EmptySpace pref="310" max="32767" attributes="0"/>
+ <Component id="jLabelResult" min="-2" pref="300" max="-2" attributes="0"/>
+ <EmptySpace min="-2" pref="260" max="-2" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" attributes="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" attributes="0">
+ <EmptySpace min="-2" pref="19" max="-2" attributes="0"/>
+ <Component id="jLabelResult" min="-2" pref="50" max="-2" attributes="0"/>
+ </Group>
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="32" max="-2" attributes="0"/>
+ <Component id="jButtonMenu" min="-2" max="-2" attributes="0"/>
+ </Group>
+ </Group>
+ <EmptySpace pref="31" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jLabelResult">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="48" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="WELCOME"/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JButton" name="jButtonMenu">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="33" green="66" red="0" type="rgb"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="cc" type="rgb"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/icons/menu_burger.png"/>
+ </Property>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="null"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonMenuActionPerformed"/>
+ </Events>
+ </Component>
+ </SubComponents>
+ </Container>
+ <Container class="javax.swing.JPanel" name="jPanelEast">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="33" green="66" red="0" type="rgb"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[200, 498]"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="East"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" attributes="0">
+ <EmptySpace pref="24" max="32767" attributes="0"/>
+ <Group type="103" groupAlignment="0" max="-2" attributes="0">
+ <Component id="jButtonHit" alignment="1" max="32767" attributes="0"/>
+ <Component id="jButtonStand" alignment="1" max="32767" attributes="0"/>
+ <Component id="jButtonDoubleDown" alignment="1" max="32767" attributes="0"/>
+ <Component id="jButtonSurrender" alignment="1" pref="170" max="32767" attributes="0"/>
+ <Component id="jButtonDeal" alignment="1" max="32767" attributes="0"/>
+ </Group>
+ <EmptySpace max="-2" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="15" max="-2" attributes="0"/>
+ <Component id="jButtonHit" min="-2" pref="90" max="-2" attributes="0"/>
+ <EmptySpace type="separate" max="-2" attributes="0"/>
+ <Component id="jButtonStand" min="-2" pref="90" max="-2" attributes="0"/>
+ <EmptySpace type="separate" max="-2" attributes="0"/>
+ <Component id="jButtonDoubleDown" min="-2" pref="85" max="-2" attributes="0"/>
+ <EmptySpace type="separate" max="-2" attributes="0"/>
+ <Component id="jButtonSurrender" min="-2" max="-2" attributes="0"/>
+ <EmptySpace min="-2" pref="18" max="-2" attributes="0"/>
+ <Component id="jButtonDeal" pref="90" max="32767" attributes="0"/>
+ <EmptySpace max="-2" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JButton" name="jButtonHit">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="33" green="cc" red="0" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="24" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="66" green="66" red="66" type="rgb"/>
+ </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>
+ </Component>
+ <Component class="javax.swing.JButton" name="jButtonStand">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="99" red="ff" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="24" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="66" green="66" red="66" type="rgb"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="STAND"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonStandActionPerformed"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JButton" name="jButtonDoubleDown">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="ff" green="0" red="66" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="24" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="<html>
DOUBLE
<br>
<center>DOWN</center>
</html>"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonDoubleDownActionPerformed"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JButton" name="jButtonSurrender">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="cc" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="24" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="66" green="66" red="66" type="rgb"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="SURRENDER"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonSurrenderActionPerformed"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JButton" name="jButtonDeal">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="36" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="DEAL"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonDealActionPerformed"/>
+ </Events>
+ </Component>
+ </SubComponents>
+ </Container>
+ <Container class="javax.swing.JPanel" name="jPanelWest">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="33" green="66" red="0" type="rgb"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="33" green="cc" red="0" type="rgb"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[150, 498]"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="keyPressed" listener="java.awt.event.KeyListener" parameters="java.awt.event.KeyEvent" handler="jPanelWestKeyPressed"/>
+ </Events>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="West"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="20" max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jButtonChangeBet" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelCurrentBetAmount" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelCurrentBet" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelBalance" min="-2" max="-2" attributes="0"/>
+ </Group>
+ <EmptySpace max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="114" max="-2" attributes="0"/>
+ <Component id="jLabelBalance" min="-2" pref="38" max="-2" attributes="0"/>
+ <EmptySpace min="-2" pref="33" max="-2" attributes="0"/>
+ <Component id="jLabelCurrentBet" min="-2" max="-2" attributes="0"/>
+ <EmptySpace max="-2" attributes="0"/>
+ <Component id="jLabelCurrentBetAmount" min="-2" max="-2" attributes="0"/>
+ <EmptySpace min="-2" pref="32" max="-2" attributes="0"/>
+ <Component id="jButtonChangeBet" min="-2" max="-2" attributes="0"/>
+ <EmptySpace pref="163" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jLabelBalance">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="66" red="66" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="24" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="ff" red="ff" type="rgb"/>
+ </Property>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+ <Connection code=""R " + game.getBalance()" type="code"/>
+ </Property>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelCurrentBet">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="18" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Current Bet:"/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelCurrentBetAmount">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="18" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="R 100"/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JButton" name="jButtonChangeBet">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="0" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="18" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="66" green="66" red="66" type="rgb"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="<html>
CHANGE
<br>
<center>BET</center>
</html>"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonChangeBetActionPerformed"/>
+ </Events>
+ </Component>
+ </SubComponents>
+ </Container>
+ <Container class="javax.swing.JPanel" name="jPanelCenter">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="33" green="66" red="0" type="rgb"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[400, 498]"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="Center"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jPanelDealer" max="32767" attributes="0"/>
+ <Group type="102" alignment="0" attributes="0">
+ <Component id="jPanelPlayer" min="-2" max="-2" attributes="0"/>
+ <EmptySpace min="0" pref="0" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <Component id="jPanelDealer" min="-2" max="-2" attributes="0"/>
+ <EmptySpace max="32767" attributes="0"/>
+ <Component id="jPanelPlayer" min="-2" max="-2" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Container class="javax.swing.JPanel" name="jPanelDealer">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="33" green="66" red="0" type="rgb"/>
+ </Property>
+ </Properties>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jPanelDealerText" max="32767" attributes="0"/>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <Component id="jPanelDealerText" min="-2" max="-2" attributes="0"/>
+ <EmptySpace max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Container class="javax.swing.JPanel" name="jPanelDealerText">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="33" green="66" red="0" type="rgb"/>
+ </Property>
+ </Properties>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" attributes="0">
+ <EmptySpace max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jLabelDealer" alignment="0" min="-2" max="-2" attributes="0"/>
+ <Group type="102" alignment="0" attributes="0">
+ <Component id="jLabelDealerCard1" min="-2" max="-2" attributes="0"/>
+ <EmptySpace type="separate" max="-2" attributes="0"/>
+ <Component id="jLabelDealerCard2" min="-2" max="-2" attributes="0"/>
+ <EmptySpace type="separate" max="-2" attributes="0"/>
+ <Component id="jLabelDealerCard3" min="-2" max="-2" attributes="0"/>
+ <EmptySpace type="separate" max="-2" attributes="0"/>
+ <Component id="jLabelDealerCard4" min="-2" max="-2" attributes="0"/>
+ </Group>
+ </Group>
+ <EmptySpace pref="166" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace max="-2" attributes="0"/>
+ <Component id="jLabelDealer" min="-2" max="-2" attributes="0"/>
+ <EmptySpace type="separate" max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jLabelDealerCard1" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelDealerCard2" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelDealerCard3" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelDealerCard4" min="-2" max="-2" attributes="0"/>
+ </Group>
+ <EmptySpace max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jLabelDealer">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="30" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Dealer"/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelDealerCard1">
+ <Properties>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/cards/back.png"/>
+ </Property>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelDealerCard2">
+ <Properties>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/cards/back.png"/>
+ </Property>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelDealerCard3">
+ <Properties>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/cards/back.png"/>
+ </Property>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelDealerCard4">
+ <Properties>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/cards/back.png"/>
+ </Property>
+ </Properties>
+ </Component>
+ </SubComponents>
+ </Container>
+ </SubComponents>
+ </Container>
+ <Container class="javax.swing.JPanel" name="jPanelPlayer">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="33" green="66" red="0" type="rgb"/>
+ </Property>
+ </Properties>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" attributes="0">
+ <EmptySpace max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jLabelPlayer" alignment="0" min="-2" max="-2" attributes="0"/>
+ <Group type="102" alignment="0" attributes="0">
+ <Component id="jLabelPlayerCard2" min="-2" max="-2" attributes="0"/>
+ <EmptySpace type="separate" max="-2" attributes="0"/>
+ <Component id="jLabelPlayerCard1" min="-2" max="-2" attributes="0"/>
+ </Group>
+ </Group>
+ <EmptySpace type="separate" max="-2" attributes="0"/>
+ <Component id="jLabelPlayerCard3" min="-2" max="-2" attributes="0"/>
+ <EmptySpace type="separate" max="-2" attributes="0"/>
+ <Component id="jLabelPlayerCard4" min="-2" max="-2" attributes="0"/>
+ <EmptySpace pref="34" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" attributes="0">
+ <EmptySpace max="-2" attributes="0"/>
+ <Component id="jLabelPlayer" min="-2" max="-2" attributes="0"/>
+ <EmptySpace type="separate" max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jLabelPlayerCard4" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelPlayerCard2" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelPlayerCard1" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelPlayerCard3" min="-2" max="-2" attributes="0"/>
+ </Group>
+ <EmptySpace pref="87" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jLabelPlayer">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="30" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="You"/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelPlayerCard2">
+ <Properties>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/cards/back.png"/>
+ </Property>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelPlayerCard1">
+ <Properties>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/cards/back.png"/>
+ </Property>
+ <Property name="toolTipText" type="java.lang.String" value=""/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelPlayerCard3">
+ <Properties>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/cards/back.png"/>
+ </Property>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelPlayerCard4">
+ <Properties>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/cards/back.png"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value=" "/>
+ </Properties>
+ </Component>
+ </SubComponents>
+ </Container>
+ </SubComponents>
+ </Container>
+ </SubComponents>
+</Form>
diff --git a/src/view/MainUI.java b/src/view/MainUI.java
@@ -0,0 +1,519 @@
+package view;
+
+import com.formdev.flatlaf.FlatDarkLaf;
+import controller.Controller;
+import java.awt.Toolkit;
+import javax.swing.ImageIcon;
+import javax.swing.JOptionPane;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+
+/**
+ * Main GUI.
+ *
+ * @author Michael Neuper
+ * <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a>
+ */
+public class MainUI extends javax.swing.JFrame {
+
+ Controller game = new Controller();
+
+ /**
+ * Creates new form MainUI
+ */
+ public MainUI() {
+ initComponents();
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ jPanelNorth = new javax.swing.JPanel();
+ jLabelResult = new javax.swing.JLabel();
+ jButtonMenu = new javax.swing.JButton();
+ jPanelEast = new javax.swing.JPanel();
+ jButtonHit = new javax.swing.JButton();
+ jButtonStand = new javax.swing.JButton();
+ jButtonDoubleDown = new javax.swing.JButton();
+ jButtonSurrender = new javax.swing.JButton();
+ jButtonDeal = new javax.swing.JButton();
+ jPanelWest = new javax.swing.JPanel();
+ jLabelBalance = new javax.swing.JLabel();
+ jLabelCurrentBet = new javax.swing.JLabel();
+ jLabelCurrentBetAmount = new javax.swing.JLabel();
+ jButtonChangeBet = new javax.swing.JButton();
+ jPanelCenter = new javax.swing.JPanel();
+ jPanelDealer = new javax.swing.JPanel();
+ jPanelDealerText = new javax.swing.JPanel();
+ jLabelDealer = new javax.swing.JLabel();
+ jLabelDealerCard1 = new javax.swing.JLabel();
+ jLabelDealerCard2 = new javax.swing.JLabel();
+ jLabelDealerCard3 = new javax.swing.JLabel();
+ jLabelDealerCard4 = new javax.swing.JLabel();
+ jPanelPlayer = new javax.swing.JPanel();
+ jLabelPlayer = new javax.swing.JLabel();
+ jLabelPlayerCard2 = new javax.swing.JLabel();
+ jLabelPlayerCard1 = new javax.swing.JLabel();
+ jLabelPlayerCard3 = new javax.swing.JLabel();
+ jLabelPlayerCard4 = new javax.swing.JLabel();
+
+ setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+ setTitle("librejack");
+ setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/assets/icons/heart_cards.png")));
+ setPreferredSize(new java.awt.Dimension(800, 600));
+ addKeyListener(new java.awt.event.KeyAdapter() {
+ public void keyPressed(java.awt.event.KeyEvent evt) {
+ formKeyPressed(evt);
+ }
+ });
+
+ jPanelNorth.setBackground(new java.awt.Color(0, 102, 51));
+
+ jLabelResult.setFont(new java.awt.Font("Segoe UI", 0, 48)); // NOI18N
+ jLabelResult.setText("WELCOME");
+
+ jButtonMenu.setBackground(new java.awt.Color(0, 102, 51));
+ jButtonMenu.setForeground(new java.awt.Color(204, 204, 204));
+ jButtonMenu.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/icons/menu_burger.png"))); // NOI18N
+ jButtonMenu.setBorder(null);
+ jButtonMenu.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonMenuActionPerformed(evt);
+ }
+ });
+
+ javax.swing.GroupLayout jPanelNorthLayout = new javax.swing.GroupLayout(jPanelNorth);
+ jPanelNorth.setLayout(jPanelNorthLayout);
+ jPanelNorthLayout.setHorizontalGroup(
+ jPanelNorthLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelNorthLayout.createSequentialGroup()
+ .addGap(54, 54, 54)
+ .addComponent(jButtonMenu)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 310, Short.MAX_VALUE)
+ .addComponent(jLabelResult, javax.swing.GroupLayout.PREFERRED_SIZE, 300, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(260, 260, 260))
+ );
+ jPanelNorthLayout.setVerticalGroup(
+ jPanelNorthLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelNorthLayout.createSequentialGroup()
+ .addGroup(jPanelNorthLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelNorthLayout.createSequentialGroup()
+ .addGap(19, 19, 19)
+ .addComponent(jLabelResult, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGroup(jPanelNorthLayout.createSequentialGroup()
+ .addGap(32, 32, 32)
+ .addComponent(jButtonMenu)))
+ .addContainerGap(31, Short.MAX_VALUE))
+ );
+
+ getContentPane().add(jPanelNorth, java.awt.BorderLayout.NORTH);
+
+ jPanelEast.setBackground(new java.awt.Color(0, 102, 51));
+ jPanelEast.setPreferredSize(new java.awt.Dimension(200, 498));
+
+ jButtonHit.setBackground(new java.awt.Color(0, 204, 51));
+ jButtonHit.setFont(new java.awt.Font("Segoe UI", 0, 24)); // NOI18N
+ jButtonHit.setForeground(new java.awt.Color(102, 102, 102));
+ jButtonHit.setText("HIT");
+ jButtonHit.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonHitActionPerformed(evt);
+ }
+ });
+
+ jButtonStand.setBackground(new java.awt.Color(255, 153, 0));
+ jButtonStand.setFont(new java.awt.Font("Segoe UI", 0, 24)); // NOI18N
+ jButtonStand.setForeground(new java.awt.Color(102, 102, 102));
+ jButtonStand.setText("STAND");
+ jButtonStand.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonStandActionPerformed(evt);
+ }
+ });
+
+ jButtonDoubleDown.setBackground(new java.awt.Color(102, 0, 255));
+ jButtonDoubleDown.setFont(new java.awt.Font("Segoe UI", 0, 24)); // NOI18N
+ jButtonDoubleDown.setText("<html>\nDOUBLE\n<br>\n<center>DOWN</center>\n</html>");
+ jButtonDoubleDown.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonDoubleDownActionPerformed(evt);
+ }
+ });
+
+ jButtonSurrender.setBackground(new java.awt.Color(204, 204, 204));
+ jButtonSurrender.setFont(new java.awt.Font("Segoe UI", 0, 24)); // NOI18N
+ jButtonSurrender.setForeground(new java.awt.Color(102, 102, 102));
+ jButtonSurrender.setText("SURRENDER");
+ jButtonSurrender.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonSurrenderActionPerformed(evt);
+ }
+ });
+
+ jButtonDeal.setFont(new java.awt.Font("Segoe UI", 0, 36)); // NOI18N
+ jButtonDeal.setText("DEAL");
+ jButtonDeal.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonDealActionPerformed(evt);
+ }
+ });
+
+ javax.swing.GroupLayout jPanelEastLayout = new javax.swing.GroupLayout(jPanelEast);
+ jPanelEast.setLayout(jPanelEastLayout);
+ jPanelEastLayout.setHorizontalGroup(
+ jPanelEastLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelEastLayout.createSequentialGroup()
+ .addContainerGap(24, Short.MAX_VALUE)
+ .addGroup(jPanelEastLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+ .addComponent(jButtonHit, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jButtonStand, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jButtonDoubleDown, javax.swing.GroupLayout.Alignment.TRAILING)
+ .addComponent(jButtonSurrender, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 170, Short.MAX_VALUE)
+ .addComponent(jButtonDeal, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ .addContainerGap())
+ );
+ jPanelEastLayout.setVerticalGroup(
+ jPanelEastLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelEastLayout.createSequentialGroup()
+ .addGap(15, 15, 15)
+ .addComponent(jButtonHit, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(18, 18, 18)
+ .addComponent(jButtonStand, javax.swing.GroupLayout.PREFERRED_SIZE, 90, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(18, 18, 18)
+ .addComponent(jButtonDoubleDown, javax.swing.GroupLayout.PREFERRED_SIZE, 85, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(18, 18, 18)
+ .addComponent(jButtonSurrender)
+ .addGap(18, 18, 18)
+ .addComponent(jButtonDeal, javax.swing.GroupLayout.DEFAULT_SIZE, 90, Short.MAX_VALUE)
+ .addContainerGap())
+ );
+
+ getContentPane().add(jPanelEast, java.awt.BorderLayout.EAST);
+
+ jPanelWest.setBackground(new java.awt.Color(0, 102, 51));
+ jPanelWest.setForeground(new java.awt.Color(0, 204, 51));
+ jPanelWest.setPreferredSize(new java.awt.Dimension(150, 498));
+ jPanelWest.addKeyListener(new java.awt.event.KeyAdapter() {
+ public void keyPressed(java.awt.event.KeyEvent evt) {
+ jPanelWestKeyPressed(evt);
+ }
+ });
+
+ jLabelBalance.setBackground(new java.awt.Color(102, 102, 0));
+ jLabelBalance.setFont(new java.awt.Font("Segoe UI", 0, 24)); // NOI18N
+ jLabelBalance.setForeground(new java.awt.Color(255, 255, 0));
+ jLabelBalance.setText("R " + game.getBalance());
+
+ jLabelCurrentBet.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
+ jLabelCurrentBet.setText("Current Bet:");
+
+ jLabelCurrentBetAmount.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
+ jLabelCurrentBetAmount.setText("R 100");
+
+ jButtonChangeBet.setBackground(new java.awt.Color(0, 204, 204));
+ jButtonChangeBet.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
+ jButtonChangeBet.setForeground(new java.awt.Color(102, 102, 102));
+ jButtonChangeBet.setText("<html>\nCHANGE\n<br>\n<center>BET</center>\n</html>");
+ jButtonChangeBet.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonChangeBetActionPerformed(evt);
+ }
+ });
+
+ javax.swing.GroupLayout jPanelWestLayout = new javax.swing.GroupLayout(jPanelWest);
+ jPanelWest.setLayout(jPanelWestLayout);
+ jPanelWestLayout.setHorizontalGroup(
+ jPanelWestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelWestLayout.createSequentialGroup()
+ .addGap(20, 20, 20)
+ .addGroup(jPanelWestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jButtonChangeBet, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabelCurrentBetAmount)
+ .addComponent(jLabelCurrentBet)
+ .addComponent(jLabelBalance))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ );
+ jPanelWestLayout.setVerticalGroup(
+ jPanelWestLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelWestLayout.createSequentialGroup()
+ .addGap(114, 114, 114)
+ .addComponent(jLabelBalance, javax.swing.GroupLayout.PREFERRED_SIZE, 38, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(33, 33, 33)
+ .addComponent(jLabelCurrentBet)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(jLabelCurrentBetAmount)
+ .addGap(32, 32, 32)
+ .addComponent(jButtonChangeBet, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(163, Short.MAX_VALUE))
+ );
+
+ getContentPane().add(jPanelWest, java.awt.BorderLayout.WEST);
+
+ jPanelCenter.setBackground(new java.awt.Color(0, 102, 51));
+ jPanelCenter.setPreferredSize(new java.awt.Dimension(400, 498));
+
+ jPanelDealer.setBackground(new java.awt.Color(0, 102, 51));
+
+ jPanelDealerText.setBackground(new java.awt.Color(0, 102, 51));
+
+ jLabelDealer.setFont(new java.awt.Font("Segoe UI", 0, 30)); // NOI18N
+ jLabelDealer.setText("Dealer");
+
+ jLabelDealerCard1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/cards/back.png"))); // NOI18N
+
+ jLabelDealerCard2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/cards/back.png"))); // NOI18N
+
+ jLabelDealerCard3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/cards/back.png"))); // NOI18N
+
+ jLabelDealerCard4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/cards/back.png"))); // NOI18N
+
+ javax.swing.GroupLayout jPanelDealerTextLayout = new javax.swing.GroupLayout(jPanelDealerText);
+ jPanelDealerText.setLayout(jPanelDealerTextLayout);
+ jPanelDealerTextLayout.setHorizontalGroup(
+ jPanelDealerTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelDealerTextLayout.createSequentialGroup()
+ .addContainerGap()
+ .addGroup(jPanelDealerTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabelDealer)
+ .addGroup(jPanelDealerTextLayout.createSequentialGroup()
+ .addComponent(jLabelDealerCard1)
+ .addGap(18, 18, 18)
+ .addComponent(jLabelDealerCard2)
+ .addGap(18, 18, 18)
+ .addComponent(jLabelDealerCard3)
+ .addGap(18, 18, 18)
+ .addComponent(jLabelDealerCard4)))
+ .addContainerGap(166, Short.MAX_VALUE))
+ );
+ jPanelDealerTextLayout.setVerticalGroup(
+ jPanelDealerTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelDealerTextLayout.createSequentialGroup()
+ .addContainerGap()
+ .addComponent(jLabelDealer)
+ .addGap(18, 18, 18)
+ .addGroup(jPanelDealerTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabelDealerCard1)
+ .addComponent(jLabelDealerCard2)
+ .addComponent(jLabelDealerCard3)
+ .addComponent(jLabelDealerCard4))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ );
+
+ javax.swing.GroupLayout jPanelDealerLayout = new javax.swing.GroupLayout(jPanelDealer);
+ jPanelDealer.setLayout(jPanelDealerLayout);
+ jPanelDealerLayout.setHorizontalGroup(
+ jPanelDealerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jPanelDealerText, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ );
+ jPanelDealerLayout.setVerticalGroup(
+ jPanelDealerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelDealerLayout.createSequentialGroup()
+ .addComponent(jPanelDealerText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ );
+
+ jPanelPlayer.setBackground(new java.awt.Color(0, 102, 51));
+
+ jLabelPlayer.setFont(new java.awt.Font("Segoe UI", 0, 30)); // NOI18N
+ jLabelPlayer.setText("You");
+
+ jLabelPlayerCard2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/cards/back.png"))); // NOI18N
+
+ jLabelPlayerCard1.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/cards/back.png"))); // NOI18N
+ jLabelPlayerCard1.setToolTipText("");
+
+ jLabelPlayerCard3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/cards/back.png"))); // NOI18N
+
+ jLabelPlayerCard4.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/cards/back.png"))); // NOI18N
+ jLabelPlayerCard4.setText(" ");
+
+ javax.swing.GroupLayout jPanelPlayerLayout = new javax.swing.GroupLayout(jPanelPlayer);
+ jPanelPlayer.setLayout(jPanelPlayerLayout);
+ jPanelPlayerLayout.setHorizontalGroup(
+ jPanelPlayerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelPlayerLayout.createSequentialGroup()
+ .addContainerGap()
+ .addGroup(jPanelPlayerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabelPlayer)
+ .addGroup(jPanelPlayerLayout.createSequentialGroup()
+ .addComponent(jLabelPlayerCard2)
+ .addGap(18, 18, 18)
+ .addComponent(jLabelPlayerCard1)))
+ .addGap(18, 18, 18)
+ .addComponent(jLabelPlayerCard3)
+ .addGap(18, 18, 18)
+ .addComponent(jLabelPlayerCard4)
+ .addContainerGap(34, Short.MAX_VALUE))
+ );
+ jPanelPlayerLayout.setVerticalGroup(
+ jPanelPlayerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelPlayerLayout.createSequentialGroup()
+ .addContainerGap()
+ .addComponent(jLabelPlayer)
+ .addGap(18, 18, 18)
+ .addGroup(jPanelPlayerLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabelPlayerCard4)
+ .addComponent(jLabelPlayerCard2)
+ .addComponent(jLabelPlayerCard1)
+ .addComponent(jLabelPlayerCard3))
+ .addContainerGap(87, Short.MAX_VALUE))
+ );
+
+ javax.swing.GroupLayout jPanelCenterLayout = new javax.swing.GroupLayout(jPanelCenter);
+ jPanelCenter.setLayout(jPanelCenterLayout);
+ jPanelCenterLayout.setHorizontalGroup(
+ jPanelCenterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jPanelDealer, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addGroup(jPanelCenterLayout.createSequentialGroup()
+ .addComponent(jPanelPlayer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(0, 0, Short.MAX_VALUE))
+ );
+ jPanelCenterLayout.setVerticalGroup(
+ jPanelCenterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelCenterLayout.createSequentialGroup()
+ .addComponent(jPanelDealer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jPanelPlayer, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ );
+
+ getContentPane().add(jPanelCenter, java.awt.BorderLayout.CENTER);
+
+ pack();
+ }// </editor-fold>//GEN-END:initComponents
+
+ private void jButtonDoubleDownActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDoubleDownActionPerformed
+ game.setBet(game.getBet() * 2); // double the bet
+ game.hitPlayer();
+ game.setBet(game.getBet() / 2); // reset bet back to original bet
+ buttonPressed();
+ }//GEN-LAST:event_jButtonDoubleDownActionPerformed
+
+ private void jButtonSurrenderActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonSurrenderActionPerformed
+ game.setBalance(game.getBalance() + (game.getBet() * 0.5));
+ jButtonDealActionPerformed(evt);
+ }//GEN-LAST:event_jButtonSurrenderActionPerformed
+
+ private void jButtonDealActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonDealActionPerformed
+ jLabelResult.setText(""); // clear the last result
+ jLabelBalance.setText("R " + game.getBalance()); // update the balance
+ game.startRound();
+ jLabelDealerCard1.setIcon(new ImageIcon(getClass().getResource(game.getDealerCardFilePath(0))));
+ jLabelDealerCard2.setIcon(new ImageIcon(getClass().getResource("/assets/cards/back.png")));
+ jLabelDealerCard3.setIcon(new ImageIcon(getClass().getResource("/assets/cards/back.png")));
+ jLabelDealerCard4.setIcon(new ImageIcon(getClass().getResource("/assets/cards/back.png")));
+
+ jLabelDealer.setText("Dealer: " + game.displayDealerFirstCardValue());
+ printPlayerHand();
+ }//GEN-LAST:event_jButtonDealActionPerformed
+
+ private void jButtonStandActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonStandActionPerformed
+ printDealerHand();
+ jLabelResult.setText(game.checkWhoWins());
+ printDealerHand();
+ jLabelBalance.setText("R " + game.getBalance()); // update the balance
+ }//GEN-LAST:event_jButtonStandActionPerformed
+
+ private void jButtonHitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonHitActionPerformed
+ game.hitPlayer();
+ buttonPressed();
+ }//GEN-LAST:event_jButtonHitActionPerformed
+
+ private void jButtonChangeBetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonChangeBetActionPerformed
+ game.setBet(Double.parseDouble(JOptionPane.showInputDialog("Enter the bet amount")));
+ jLabelCurrentBetAmount.setText("R " + Double.toString(game.getBet()));
+ }//GEN-LAST:event_jButtonChangeBetActionPerformed
+
+ private void jButtonMenuActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonMenuActionPerformed
+ new MenuUI().setVisible(true);
+ }//GEN-LAST:event_jButtonMenuActionPerformed
+
+ private void formKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_formKeyPressed
+// System.out.println(evt.getKeyCode());
+ if (evt.getKeyCode() == java.awt.event.KeyEvent.VK_F1) {
+ // open rules section when F1 is pressed
+ new RulesUI().setVisible(true);
+ }
+ }//GEN-LAST:event_formKeyPressed
+
+ private void jPanelWestKeyPressed(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_jPanelWestKeyPressed
+ }//GEN-LAST:event_jPanelWestKeyPressed
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String args[]) {
+ /* Set the FlatDarkLaf look and feel */
+ try {
+ UIManager.setLookAndFeel(new FlatDarkLaf());
+ } catch (UnsupportedLookAndFeelException e) {
+ System.err.println(e);
+ }
+
+ /* Create and display the form */
+ java.awt.EventQueue.invokeLater(() -> {
+ new MainUI().setVisible(true);
+ });
+ }
+
+ private void buttonPressed() {
+ printPlayerHand();
+ printDealerHand();
+ jLabelResult.setText(game.checkWhoWins());
+ jLabelBalance.setText("R " + game.getBalance()); // update the balance
+ }
+
+ private void printDealerHand() {
+ jLabelDealer.setText("Dealer: " + game.displayDealerHandValue());
+ jLabelDealerCard1.setIcon(new ImageIcon(getClass().getResource(game.getDealerCardFilePath(0))));
+ jLabelDealerCard2.setIcon(new ImageIcon(getClass().getResource(game.getDealerCardFilePath(1))));
+ jLabelDealerCard3.setIcon(new ImageIcon(getClass().getResource(game.getDealerCardFilePath(2))));
+ jLabelDealerCard4.setIcon(new ImageIcon(getClass().getResource(game.getDealerCardFilePath(3))));
+
+ }
+
+ private void printPlayerHand() {
+ jLabelPlayer.setText("You: " + game.displayPlayerHandValue());
+ jLabelPlayerCard1.setIcon(new ImageIcon(getClass().getResource(game.getPlayerCardFilePath(0))));
+ jLabelPlayerCard2.setIcon(new ImageIcon(getClass().getResource(game.getPlayerCardFilePath(1))));
+ jLabelPlayerCard3.setIcon(new ImageIcon(getClass().getResource(game.getPlayerCardFilePath(2))));
+ jLabelPlayerCard4.setIcon(new ImageIcon(getClass().getResource(game.getPlayerCardFilePath(3))));
+
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JButton jButtonChangeBet;
+ private javax.swing.JButton jButtonDeal;
+ private javax.swing.JButton jButtonDoubleDown;
+ private javax.swing.JButton jButtonHit;
+ private javax.swing.JButton jButtonMenu;
+ private javax.swing.JButton jButtonStand;
+ private javax.swing.JButton jButtonSurrender;
+ private javax.swing.JLabel jLabelBalance;
+ private javax.swing.JLabel jLabelCurrentBet;
+ private javax.swing.JLabel jLabelCurrentBetAmount;
+ private javax.swing.JLabel jLabelDealer;
+ private javax.swing.JLabel jLabelDealerCard1;
+ private javax.swing.JLabel jLabelDealerCard2;
+ private javax.swing.JLabel jLabelDealerCard3;
+ private javax.swing.JLabel jLabelDealerCard4;
+ private javax.swing.JLabel jLabelPlayer;
+ private javax.swing.JLabel jLabelPlayerCard1;
+ private javax.swing.JLabel jLabelPlayerCard2;
+ private javax.swing.JLabel jLabelPlayerCard3;
+ private javax.swing.JLabel jLabelPlayerCard4;
+ private javax.swing.JLabel jLabelResult;
+ private javax.swing.JPanel jPanelCenter;
+ private javax.swing.JPanel jPanelDealer;
+ private javax.swing.JPanel jPanelDealerText;
+ private javax.swing.JPanel jPanelEast;
+ private javax.swing.JPanel jPanelNorth;
+ private javax.swing.JPanel jPanelPlayer;
+ private javax.swing.JPanel jPanelWest;
+ // End of variables declaration//GEN-END:variables
+}
diff --git a/src/view/MenuUI.form b/src/view/MenuUI.form
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+ <Properties>
+ <Property name="defaultCloseOperation" type="int" value="2"/>
+ <Property name="title" type="java.lang.String" value="Menu"/>
+ <Property name="alwaysOnTop" type="boolean" value="true"/>
+ </Properties>
+ <SyntheticProperties>
+ <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+ <SyntheticProperty name="generateCenter" type="boolean" value="false"/>
+ </SyntheticProperties>
+ <AuxValues>
+ <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,-85,0,0,2,66"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+ <SubComponents>
+ <Container class="javax.swing.JPanel" name="jPanelNorth">
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="North"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="225" max="-2" attributes="0"/>
+ <Component id="jLabelMenu" min="-2" max="-2" attributes="0"/>
+ <EmptySpace pref="223" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="23" max="-2" attributes="0"/>
+ <Component id="jLabelMenu" min="-2" pref="54" max="-2" attributes="0"/>
+ <EmptySpace pref="29" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jLabelMenu">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="48" style="1"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Menu"/>
+ </Properties>
+ </Component>
+ </SubComponents>
+ </Container>
+ <Container class="javax.swing.JPanel" name="jPanelCenter">
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="Center"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="219" max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jButtonSource" min="-2" pref="140" max="-2" attributes="0"/>
+ <Component id="jButtonRules" min="-2" pref="140" max="-2" attributes="0"/>
+ <Component id="jButtonStatistics" min="-2" max="-2" attributes="0"/>
+ </Group>
+ <EmptySpace pref="219" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="24" max="-2" attributes="0"/>
+ <Component id="jButtonStatistics" min="-2" max="-2" attributes="0"/>
+ <EmptySpace min="-2" pref="59" max="-2" attributes="0"/>
+ <Component id="jButtonRules" min="-2" max="-2" attributes="0"/>
+ <EmptySpace min="-2" pref="59" max="-2" attributes="0"/>
+ <Component id="jButtonSource" min="-2" max="-2" attributes="0"/>
+ <EmptySpace pref="86" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JButton" name="jButtonStatistics">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="18" style="0"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/icons/stats.png"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="STATISTICS"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonStatisticsActionPerformed"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JButton" name="jButtonRules">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="18" style="0"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/icons/question.png"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="RULES"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonRulesActionPerformed"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JButton" name="jButtonSource">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="18" style="0"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/icons/code.png"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="SOURCE"/>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonSourceActionPerformed"/>
+ </Events>
+ </Component>
+ </SubComponents>
+ </Container>
+ </SubComponents>
+</Form>
diff --git a/src/view/MenuUI.java b/src/view/MenuUI.java
@@ -0,0 +1,178 @@
+package view;
+
+import com.formdev.flatlaf.FlatDarkLaf;
+import java.awt.Desktop;
+import java.io.IOException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+
+/**
+ * GUI to display the following options:
+ * <ul>
+ * <li>Statistics</li>
+ * <li>Rules</li>
+ * <li>Source</li>
+ * </ul>
+ *
+ * @author Michael Neuper
+ * <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a>
+ */
+public class MenuUI extends javax.swing.JFrame {
+
+ /**
+ * Creates new form OptionsUI
+ */
+ public MenuUI() {
+ initComponents();
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ jPanelNorth = new javax.swing.JPanel();
+ jLabelMenu = new javax.swing.JLabel();
+ jPanelCenter = new javax.swing.JPanel();
+ jButtonStatistics = new javax.swing.JButton();
+ jButtonRules = new javax.swing.JButton();
+ jButtonSource = new javax.swing.JButton();
+
+ setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
+ setTitle("Menu");
+ setAlwaysOnTop(true);
+
+ jLabelMenu.setFont(new java.awt.Font("Segoe UI", 1, 48)); // NOI18N
+ jLabelMenu.setText("Menu");
+
+ javax.swing.GroupLayout jPanelNorthLayout = new javax.swing.GroupLayout(jPanelNorth);
+ jPanelNorth.setLayout(jPanelNorthLayout);
+ jPanelNorthLayout.setHorizontalGroup(
+ jPanelNorthLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelNorthLayout.createSequentialGroup()
+ .addGap(225, 225, 225)
+ .addComponent(jLabelMenu)
+ .addContainerGap(223, Short.MAX_VALUE))
+ );
+ jPanelNorthLayout.setVerticalGroup(
+ jPanelNorthLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelNorthLayout.createSequentialGroup()
+ .addGap(23, 23, 23)
+ .addComponent(jLabelMenu, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(29, Short.MAX_VALUE))
+ );
+
+ getContentPane().add(jPanelNorth, java.awt.BorderLayout.NORTH);
+
+ jButtonStatistics.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
+ jButtonStatistics.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/icons/stats.png"))); // NOI18N
+ jButtonStatistics.setText("STATISTICS");
+ jButtonStatistics.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonStatisticsActionPerformed(evt);
+ }
+ });
+
+ jButtonRules.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
+ jButtonRules.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/icons/question.png"))); // NOI18N
+ jButtonRules.setText("RULES");
+ jButtonRules.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonRulesActionPerformed(evt);
+ }
+ });
+
+ jButtonSource.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
+ jButtonSource.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/icons/code.png"))); // NOI18N
+ jButtonSource.setText("SOURCE");
+ jButtonSource.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonSourceActionPerformed(evt);
+ }
+ });
+
+ javax.swing.GroupLayout jPanelCenterLayout = new javax.swing.GroupLayout(jPanelCenter);
+ jPanelCenter.setLayout(jPanelCenterLayout);
+ jPanelCenterLayout.setHorizontalGroup(
+ jPanelCenterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelCenterLayout.createSequentialGroup()
+ .addGap(219, 219, 219)
+ .addGroup(jPanelCenterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jButtonSource, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jButtonRules, javax.swing.GroupLayout.PREFERRED_SIZE, 140, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jButtonStatistics))
+ .addContainerGap(219, Short.MAX_VALUE))
+ );
+ jPanelCenterLayout.setVerticalGroup(
+ jPanelCenterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelCenterLayout.createSequentialGroup()
+ .addGap(24, 24, 24)
+ .addComponent(jButtonStatistics)
+ .addGap(59, 59, 59)
+ .addComponent(jButtonRules)
+ .addGap(59, 59, 59)
+ .addComponent(jButtonSource)
+ .addContainerGap(86, Short.MAX_VALUE))
+ );
+
+ getContentPane().add(jPanelCenter, java.awt.BorderLayout.CENTER);
+
+ pack();
+ }// </editor-fold>//GEN-END:initComponents
+
+ private void jButtonSourceActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonSourceActionPerformed
+ try {
+ // get the user's default browser
+ Desktop desktop = Desktop.getDesktop();
+ // open the URL in the default browser
+ desktop.browse(new URI("https://github.com/michaelneuper/librejack"));
+ } catch (IOException | URISyntaxException e) {
+ System.err.println(e);
+ }
+ }//GEN-LAST:event_jButtonSourceActionPerformed
+
+ private void jButtonStatisticsActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonStatisticsActionPerformed
+ new StatisticsUI().setVisible(true);
+ }//GEN-LAST:event_jButtonStatisticsActionPerformed
+
+ private void jButtonRulesActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonRulesActionPerformed
+ new RulesUI().setVisible(true);
+ }//GEN-LAST:event_jButtonRulesActionPerformed
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String args[]) {
+ /* Set the FlatDarkLaf look and feel */
+ try {
+ UIManager.setLookAndFeel(new FlatDarkLaf());
+ } catch (UnsupportedLookAndFeelException e) {
+ System.err.println(e);
+ }
+
+ /* Create and display the form */
+ java.awt.EventQueue.invokeLater(() -> {
+ new MainUI().setVisible(true);
+ });
+
+ /* Create and display the form */
+ java.awt.EventQueue.invokeLater(() -> {
+ new MenuUI().setVisible(true);
+ });
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JButton jButtonRules;
+ private javax.swing.JButton jButtonSource;
+ private javax.swing.JButton jButtonStatistics;
+ private javax.swing.JLabel jLabelMenu;
+ private javax.swing.JPanel jPanelCenter;
+ private javax.swing.JPanel jPanelNorth;
+ // End of variables declaration//GEN-END:variables
+}
diff --git a/src/view/RulesUI.form b/src/view/RulesUI.form
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+ <Properties>
+ <Property name="defaultCloseOperation" type="int" value="2"/>
+ <Property name="title" type="java.lang.String" value="Rules"/>
+ <Property name="alwaysOnTop" type="boolean" value="true"/>
+ </Properties>
+ <SyntheticProperties>
+ <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+ <SyntheticProperty name="generateCenter" type="boolean" value="false"/>
+ </SyntheticProperties>
+ <AuxValues>
+ <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+ </AuxValues>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="21" max="-2" attributes="0"/>
+ <Component id="jLabelRules" min="-2" pref="776" max="-2" attributes="0"/>
+ <EmptySpace pref="33" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="18" max="-2" attributes="0"/>
+ <Component id="jLabelRules" min="-2" pref="597" max="-2" attributes="0"/>
+ <EmptySpace pref="38" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jLabelRules">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="18" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="<html>

<h1>Initial Setup</h1>
Blackjack, also known as 21, is one of the most popular casino games in the world.
Blackjack is a card-game where players compete against the dealer. 
Blackjack is played with one or more decks of 52 playing cards.

<h1>Objective</h1>
The objective of Blackjack is to reach 21 or to reach a score higher than the dealer without exceeding 21.

<h1>Playing The Game</h1>
<p>
The player begins by placing a bet on the table and the dealer deals two cards to the player.
Kings, Queens and Jacks are counted as 10.
Aces count as either 1 or 11 for both the dealer and the player.
All other cards are counted as the numeric value shown on the card.
</p>
<p>
After receiving the initial two cards, their value is added together.
The player then has the option of getting a 'hit' to receive an additional card, or to 'stand' and stop receiving more cards.
In a given round, the player or the dealer win by reaching 21 or by having the highest score that is less than 21.
</p>
<p>
Scoring higher than 21 (called a 'bust') results in a loss. 
If the dealer busts, the player wins by having any final score that is less than 21.
</p>
If both the dealer's and player's cards add up to the same number, that hand is considered a tie and is called a 'push'.
The player doesn't win or lose any money on a push.

</html>"/>
+ </Properties>
+ </Component>
+ </SubComponents>
+</Form>
diff --git a/src/view/RulesUI.java b/src/view/RulesUI.java
@@ -0,0 +1,80 @@
+package view;
+
+import com.formdev.flatlaf.FlatDarkLaf;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+
+/**
+ * GUI to display the rules of the game
+ *
+ * @author Michael Neuper
+ * <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a>
+ */
+public class RulesUI extends javax.swing.JFrame {
+
+ /**
+ * Creates new form RulesUI
+ */
+ public RulesUI() {
+ initComponents();
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ jLabelRules = new javax.swing.JLabel();
+
+ setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
+ setTitle("Rules");
+ setAlwaysOnTop(true);
+
+ jLabelRules.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
+ jLabelRules.setText("<html>\n\n<h1>Initial Setup</h1>\nBlackjack, also known as 21, is one of the most popular casino games in the world.\nBlackjack is a card-game where players compete against the dealer. \nBlackjack is played with one or more decks of 52 playing cards.\n\n<h1>Objective</h1>\nThe objective of Blackjack is to reach 21 or to reach a score higher than the dealer without exceeding 21.\n\n<h1>Playing The Game</h1>\n<p>\nThe player begins by placing a bet on the table and the dealer deals two cards to the player.\nKings, Queens and Jacks are counted as 10.\nAces count as either 1 or 11 for both the dealer and the player.\nAll other cards are counted as the numeric value shown on the card.\n</p>\n<p>\nAfter receiving the initial two cards, their value is added together.\nThe player then has the option of getting a 'hit' to receive an additional card, or to 'stand' and stop receiving more cards.\nIn a given round, the player or the dealer win by reaching 21 or by having the highest score that is less than 21.\n</p>\n<p>\nScoring higher than 21 (called a 'bust') results in a loss. \nIf the dealer busts, the player wins by having any final score that is less than 21.\n</p>\nIf both the dealer's and player's cards add up to the same number, that hand is considered a tie and is called a 'push'.\nThe player doesn't win or lose any money on a push.\n\n</html>");
+
+ javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
+ getContentPane().setLayout(layout);
+ layout.setHorizontalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addGap(21, 21, 21)
+ .addComponent(jLabelRules, javax.swing.GroupLayout.PREFERRED_SIZE, 776, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(33, Short.MAX_VALUE))
+ );
+ layout.setVerticalGroup(
+ layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(layout.createSequentialGroup()
+ .addGap(18, 18, 18)
+ .addComponent(jLabelRules, javax.swing.GroupLayout.PREFERRED_SIZE, 597, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(38, Short.MAX_VALUE))
+ );
+
+ pack();
+ }// </editor-fold>//GEN-END:initComponents
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String args[]) {
+ /* Set the FlatDarkLaf look and feel */
+ try {
+ UIManager.setLookAndFeel(new FlatDarkLaf());
+ } catch (UnsupportedLookAndFeelException e) {
+ System.err.println(e);
+ }
+
+ /* Create and display the form */
+ java.awt.EventQueue.invokeLater(() -> {
+ new RulesUI().setVisible(true);
+ });
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JLabel jLabelRules;
+ // End of variables declaration//GEN-END:variables
+}
diff --git a/src/view/SignupUI.form b/src/view/SignupUI.form
@@ -0,0 +1,510 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+ <Properties>
+ <Property name="defaultCloseOperation" type="int" value="3"/>
+ <Property name="title" type="java.lang.String" value="Sign Up to librejack"/>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="99" red="0" type="rgb"/>
+ </Property>
+ <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+ <Color id="Default Cursor"/>
+ </Property>
+ <Property name="iconImage" type="java.awt.Image" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+ <Connection code="Toolkit.getDefaultToolkit().getImage(getClass().getResource("/assets/icons/heart_cards.png"))" type="code"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[900, 430]"/>
+ </Property>
+ </Properties>
+ <SyntheticProperties>
+ <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+ <SyntheticProperty name="generateCenter" type="boolean" value="false"/>
+ </SyntheticProperties>
+ <AuxValues>
+ <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,-82,0,0,5,95"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+ <SubComponents>
+ <Container class="javax.swing.JPanel" name="jPanelWest">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="66" red="0" type="rgb"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[415, 430]"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="West"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignFlowLayout"/>
+ <SubComponents>
+ <Container class="javax.swing.JPanel" name="jPanelWelcomeText">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="66" red="0" type="rgb"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[415, 70]"/>
+ </Property>
+ </Properties>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="1" attributes="0">
+ <EmptySpace pref="65" max="32767" attributes="0"/>
+ <Component id="jLabelWelcome" min="-2" max="-2" attributes="0"/>
+ <EmptySpace min="-2" pref="63" max="-2" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="17" max="-2" attributes="0"/>
+ <Component id="jLabelWelcome" min="-2" max="-2" attributes="0"/>
+ <EmptySpace pref="21" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jLabelWelcome">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="24" style="1"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="ff" red="ff" type="rgb"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="WELCOME TO LIBREJACK"/>
+ </Properties>
+ </Component>
+ </SubComponents>
+ </Container>
+ <Container class="javax.swing.JPanel" name="jPanelLoginText">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="66" red="0" type="rgb"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[415, 40]"/>
+ </Property>
+ </Properties>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="178" max="-2" attributes="0"/>
+ <Component id="jLabelLogin" min="-2" max="-2" attributes="0"/>
+ <EmptySpace pref="171" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <Component id="jLabelLogin" min="-2" max="-2" attributes="0"/>
+ <EmptySpace min="0" pref="15" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jLabelLogin">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="18" style="1"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="cc" type="rgb"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Sign Up"/>
+ </Properties>
+ </Component>
+ </SubComponents>
+ </Container>
+ <Container class="javax.swing.JPanel" name="jPanelFields">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="66" red="0" type="rgb"/>
+ </Property>
+ <Property name="toolTipText" type="java.lang.String" value="<html>
Enter you password.
Your password must meet the following requirements:
<ul>
<li>be at least 10 characters in length</li>
<li>conatin at least 1 special character</li>
<li>contain at least 1 number</li>
<li>contain at least 1 uppercase and lowercase letter</li>
</ul>
</html>
"/>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[415, 315]"/>
+ </Property>
+ </Properties>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="40" max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jLabelUsername" alignment="0" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelEmail" alignment="0" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelMobileNumber" alignment="0" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelPassword" alignment="0" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelDateOfBirth" alignment="0" min="-2" max="-2" attributes="0"/>
+ </Group>
+ <EmptySpace min="-2" pref="33" max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="0" max="-2" attributes="0">
+ <Component id="jSeparatorUsername" max="32767" attributes="0"/>
+ <Component id="jTextFieldUsername" alignment="0" max="32767" attributes="0"/>
+ <Component id="jTextFieldEmail" alignment="0" pref="183" max="32767" attributes="0"/>
+ <Component id="jTextFieldMobileNumber" alignment="0" max="32767" attributes="0"/>
+ <Component id="jPasswordField" max="32767" attributes="0"/>
+ <Component id="jSeparatorEmail" alignment="0" pref="183" max="32767" attributes="0"/>
+ <Component id="jSeparatorMobileNumber" alignment="0" pref="183" max="32767" attributes="0"/>
+ <Component id="jDateChooser1" alignment="1" max="32767" attributes="0"/>
+ <Component id="jSeparatorPassword" alignment="0" max="32767" attributes="0"/>
+ </Group>
+ <EmptySpace pref="40" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="3" attributes="0">
+ <Component id="jLabelUsername" alignment="3" min="-2" max="-2" attributes="0"/>
+ <Component id="jTextFieldUsername" alignment="3" min="-2" max="-2" attributes="0"/>
+ </Group>
+ <EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
+ <Component id="jSeparatorUsername" min="-2" pref="10" max="-2" attributes="0"/>
+ <EmptySpace max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="3" attributes="0">
+ <Component id="jLabelEmail" alignment="3" min="-2" max="-2" attributes="0"/>
+ <Component id="jTextFieldEmail" alignment="3" min="-2" max="-2" attributes="0"/>
+ </Group>
+ <EmptySpace min="-2" pref="4" max="-2" attributes="0"/>
+ <Component id="jSeparatorEmail" min="-2" pref="10" max="-2" attributes="0"/>
+ <EmptySpace max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="3" attributes="0">
+ <Component id="jLabelMobileNumber" alignment="3" min="-2" max="-2" attributes="0"/>
+ <Component id="jTextFieldMobileNumber" alignment="3" min="-2" max="-2" attributes="0"/>
+ </Group>
+ <EmptySpace max="-2" attributes="0"/>
+ <Component id="jSeparatorMobileNumber" min="-2" pref="10" max="-2" attributes="0"/>
+ <EmptySpace min="-2" pref="10" max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jLabelDateOfBirth" min="-2" max="-2" attributes="0"/>
+ <Component id="jDateChooser1" min="-2" max="-2" attributes="0"/>
+ </Group>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" attributes="0">
+ <EmptySpace min="-2" pref="23" max="-2" attributes="0"/>
+ <Component id="jLabelPassword" min="-2" max="-2" attributes="0"/>
+ </Group>
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace type="separate" max="-2" attributes="0"/>
+ <Component id="jPasswordField" min="-2" max="-2" attributes="0"/>
+ </Group>
+ </Group>
+ <EmptySpace max="-2" attributes="0"/>
+ <Component id="jSeparatorPassword" min="-2" pref="10" max="-2" attributes="0"/>
+ <EmptySpace pref="100" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jLabelUsername">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="14" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="cc" type="rgb"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/icons/user.png"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Username:"/>
+ <Property name="toolTipText" type="java.lang.String" value=""/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelMobileNumber">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="14" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="cc" type="rgb"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/icons/phone.png"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Mobile Number:"/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelDateOfBirth">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="14" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="cc" type="rgb"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/icons/calendar.png"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Date of Birth:"/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelPassword">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="14" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="cc" type="rgb"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/icons/lock.png"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Password:"/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelEmail">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="14" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="cc" type="rgb"/>
+ </Property>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/icons/email.png"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Email:"/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JTextField" name="jTextFieldUsername">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="66" red="0" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="14" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="99" green="99" red="99" type="rgb"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="PenguinPancakes69"/>
+ <Property name="toolTipText" type="java.lang.String" value="Enter a unique username that contains at least 6 characters."/>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="null"/>
+ </Property>
+ <Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
+ <Color id="Text Cursor"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTextFieldUsernameMouseClicked"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JTextField" name="jTextFieldEmail">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="66" red="0" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="14" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="99" green="99" red="99" type="rgb"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="john.doe@example.com"/>
+ <Property name="toolTipText" type="java.lang.String" value="Enter a valid email address."/>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="null"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTextFieldEmailMouseClicked"/>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jTextFieldEmailActionPerformed"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JTextField" name="jTextFieldMobileNumber">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="66" red="0" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="14" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="99" green="99" red="99" type="rgb"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="082 738 9016"/>
+ <Property name="toolTipText" type="java.lang.String" value="<html>
Enter a valid South African number that starts with either:
<ul>
<li>0</li>
<li>27</li>
<li>+27</li>
</ul>
The number may contain spaces.
</html>"/>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="null"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jTextFieldMobileNumberMouseClicked"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JPasswordField" name="jPasswordField">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="66" red="0" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="14" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="99" green="99" red="99" type="rgb"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Password@12345"/>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="null"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="mouseClicked" listener="java.awt.event.MouseListener" parameters="java.awt.event.MouseEvent" handler="jPasswordFieldMouseClicked"/>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jPasswordFieldActionPerformed"/>
+ </Events>
+ </Component>
+ <Component class="javax.swing.JSeparator" name="jSeparatorUsername">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="cc" type="rgb"/>
+ </Property>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JSeparator" name="jSeparatorEmail">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="cc" type="rgb"/>
+ </Property>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JSeparator" name="jSeparatorMobileNumber">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="cc" type="rgb"/>
+ </Property>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JSeparator" name="jSeparatorPassword">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="cc" type="rgb"/>
+ </Property>
+ </Properties>
+ </Component>
+ <Component class="com.toedter.calendar.JDateChooser" name="jDateChooser1">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="0" green="66" red="0" type="rgb"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="99" green="99" red="99" type="rgb"/>
+ </Property>
+ <Property name="toolTipText" type="java.lang.String" value="Select your date of birth.
You may only play if you are over the age of 18."/>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="14" style="0"/>
+ </Property>
+ </Properties>
+ </Component>
+ </SubComponents>
+ </Container>
+ </SubComponents>
+ </Container>
+ <Container class="javax.swing.JPanel" name="jPanelCenter">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="33" green="99" red="0" type="rgb"/>
+ </Property>
+ <Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
+ <Dimension value="[550, 430]"/>
+ </Property>
+ </Properties>
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="Center"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" attributes="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" attributes="0">
+ <EmptySpace min="-2" pref="62" max="-2" attributes="0"/>
+ <Component id="jLabelCardsIcon" min="-2" max="-2" attributes="0"/>
+ </Group>
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="164" max="-2" attributes="0"/>
+ <Component id="jButtonPlay" min="-2" pref="98" max="-2" attributes="0"/>
+ </Group>
+ </Group>
+ <EmptySpace pref="598" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace pref="40" max="32767" attributes="0"/>
+ <Component id="jLabelCardsIcon" min="-2" pref="306" max="-2" attributes="0"/>
+ <EmptySpace type="separate" max="-2" attributes="0"/>
+ <Component id="jButtonPlay" min="-2" pref="50" max="-2" attributes="0"/>
+ <EmptySpace min="-2" pref="16" max="-2" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jLabelCardsIcon">
+ <Properties>
+ <Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
+ <Image iconType="3" name="/assets/images/hearts_card.png"/>
+ </Property>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JButton" name="jButtonPlay">
+ <Properties>
+ <Property name="background" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="0" red="66" type="rgb"/>
+ </Property>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="24" style="0"/>
+ </Property>
+ <Property name="foreground" type="java.awt.Color" editor="org.netbeans.beaninfo.editors.ColorEditor">
+ <Color blue="cc" green="cc" red="cc" type="rgb"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="PLAY"/>
+ <Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
+ <Border info="null"/>
+ </Property>
+ </Properties>
+ <Events>
+ <EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="jButtonPlayActionPerformed"/>
+ </Events>
+ </Component>
+ </SubComponents>
+ </Container>
+ </SubComponents>
+</Form>
diff --git a/src/view/SignupUI.java b/src/view/SignupUI.java
@@ -0,0 +1,413 @@
+package view;
+
+import com.formdev.flatlaf.FlatDarkLaf;
+import controller.LoginController;
+import java.awt.Toolkit;
+import java.util.Date;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+
+/**
+ * GUI for login screen.
+ *
+ * @author Michael Neuper
+ * <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a>
+ */
+public class SignupUI extends javax.swing.JFrame {
+
+ /**
+ * Creates new form Login
+ */
+ public SignupUI() {
+ initComponents();
+ }
+
+ LoginController controller = new LoginController();
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ jPanelWest = new javax.swing.JPanel();
+ jPanelWelcomeText = new javax.swing.JPanel();
+ jLabelWelcome = new javax.swing.JLabel();
+ jPanelLoginText = new javax.swing.JPanel();
+ jLabelLogin = new javax.swing.JLabel();
+ jPanelFields = new javax.swing.JPanel();
+ jLabelUsername = new javax.swing.JLabel();
+ jLabelMobileNumber = new javax.swing.JLabel();
+ jLabelDateOfBirth = new javax.swing.JLabel();
+ jLabelPassword = new javax.swing.JLabel();
+ jLabelEmail = new javax.swing.JLabel();
+ jTextFieldUsername = new javax.swing.JTextField();
+ jTextFieldEmail = new javax.swing.JTextField();
+ jTextFieldMobileNumber = new javax.swing.JTextField();
+ jPasswordField = new javax.swing.JPasswordField();
+ jSeparatorUsername = new javax.swing.JSeparator();
+ jSeparatorEmail = new javax.swing.JSeparator();
+ jSeparatorMobileNumber = new javax.swing.JSeparator();
+ jSeparatorPassword = new javax.swing.JSeparator();
+ jDateChooser1 = new com.toedter.calendar.JDateChooser();
+ jPanelCenter = new javax.swing.JPanel();
+ jLabelCardsIcon = new javax.swing.JLabel();
+ jButtonPlay = new javax.swing.JButton();
+
+ setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
+ setTitle("Sign Up to librejack");
+ setBackground(new java.awt.Color(0, 153, 0));
+ setCursor(new java.awt.Cursor(java.awt.Cursor.DEFAULT_CURSOR));
+ setIconImage(Toolkit.getDefaultToolkit().getImage(getClass().getResource("/assets/icons/heart_cards.png")));
+ setPreferredSize(new java.awt.Dimension(900, 430));
+
+ jPanelWest.setBackground(new java.awt.Color(0, 102, 0));
+ jPanelWest.setPreferredSize(new java.awt.Dimension(415, 430));
+
+ jPanelWelcomeText.setBackground(new java.awt.Color(0, 102, 0));
+ jPanelWelcomeText.setPreferredSize(new java.awt.Dimension(415, 70));
+
+ jLabelWelcome.setFont(new java.awt.Font("Segoe UI", 1, 24)); // NOI18N
+ jLabelWelcome.setForeground(new java.awt.Color(255, 255, 0));
+ jLabelWelcome.setText("WELCOME TO LIBREJACK");
+
+ javax.swing.GroupLayout jPanelWelcomeTextLayout = new javax.swing.GroupLayout(jPanelWelcomeText);
+ jPanelWelcomeText.setLayout(jPanelWelcomeTextLayout);
+ jPanelWelcomeTextLayout.setHorizontalGroup(
+ jPanelWelcomeTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelWelcomeTextLayout.createSequentialGroup()
+ .addContainerGap(65, Short.MAX_VALUE)
+ .addComponent(jLabelWelcome)
+ .addGap(63, 63, 63))
+ );
+ jPanelWelcomeTextLayout.setVerticalGroup(
+ jPanelWelcomeTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelWelcomeTextLayout.createSequentialGroup()
+ .addGap(17, 17, 17)
+ .addComponent(jLabelWelcome)
+ .addContainerGap(21, Short.MAX_VALUE))
+ );
+
+ jPanelWest.add(jPanelWelcomeText);
+
+ jPanelLoginText.setBackground(new java.awt.Color(0, 102, 0));
+ jPanelLoginText.setPreferredSize(new java.awt.Dimension(415, 40));
+
+ jLabelLogin.setFont(new java.awt.Font("Segoe UI", 1, 18)); // NOI18N
+ jLabelLogin.setForeground(new java.awt.Color(204, 204, 204));
+ jLabelLogin.setText("Sign Up");
+
+ javax.swing.GroupLayout jPanelLoginTextLayout = new javax.swing.GroupLayout(jPanelLoginText);
+ jPanelLoginText.setLayout(jPanelLoginTextLayout);
+ jPanelLoginTextLayout.setHorizontalGroup(
+ jPanelLoginTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelLoginTextLayout.createSequentialGroup()
+ .addGap(178, 178, 178)
+ .addComponent(jLabelLogin)
+ .addContainerGap(171, Short.MAX_VALUE))
+ );
+ jPanelLoginTextLayout.setVerticalGroup(
+ jPanelLoginTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelLoginTextLayout.createSequentialGroup()
+ .addComponent(jLabelLogin)
+ .addGap(0, 15, Short.MAX_VALUE))
+ );
+
+ jPanelWest.add(jPanelLoginText);
+
+ jPanelFields.setBackground(new java.awt.Color(0, 102, 0));
+ jPanelFields.setToolTipText("<html>\nEnter you password.\nYour password must meet the following requirements:\n<ul>\n<li>be at least 10 characters in length</li>\n<li>conatin at least 1 special character</li>\n<li>contain at least 1 number</li>\n<li>contain at least 1 uppercase and lowercase letter</li>\n</ul>\n</html>\n");
+ jPanelFields.setPreferredSize(new java.awt.Dimension(415, 315));
+
+ jLabelUsername.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
+ jLabelUsername.setForeground(new java.awt.Color(204, 204, 204));
+ jLabelUsername.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/icons/user.png"))); // NOI18N
+ jLabelUsername.setText("Username:");
+ jLabelUsername.setToolTipText("");
+
+ jLabelMobileNumber.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
+ jLabelMobileNumber.setForeground(new java.awt.Color(204, 204, 204));
+ jLabelMobileNumber.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/icons/phone.png"))); // NOI18N
+ jLabelMobileNumber.setText("Mobile Number:");
+
+ jLabelDateOfBirth.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
+ jLabelDateOfBirth.setForeground(new java.awt.Color(204, 204, 204));
+ jLabelDateOfBirth.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/icons/calendar.png"))); // NOI18N
+ jLabelDateOfBirth.setText("Date of Birth:");
+
+ jLabelPassword.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
+ jLabelPassword.setForeground(new java.awt.Color(204, 204, 204));
+ jLabelPassword.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/icons/lock.png"))); // NOI18N
+ jLabelPassword.setText("Password:");
+
+ jLabelEmail.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
+ jLabelEmail.setForeground(new java.awt.Color(204, 204, 204));
+ jLabelEmail.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/icons/email.png"))); // NOI18N
+ jLabelEmail.setText("Email:");
+
+ jTextFieldUsername.setBackground(new java.awt.Color(0, 102, 0));
+ jTextFieldUsername.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
+ jTextFieldUsername.setForeground(new java.awt.Color(153, 153, 153));
+ jTextFieldUsername.setText("PenguinPancakes69");
+ jTextFieldUsername.setToolTipText("Enter a unique username that contains at least 6 characters.");
+ jTextFieldUsername.setBorder(null);
+ jTextFieldUsername.setCursor(new java.awt.Cursor(java.awt.Cursor.TEXT_CURSOR));
+ jTextFieldUsername.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ jTextFieldUsernameMouseClicked(evt);
+ }
+ });
+
+ jTextFieldEmail.setBackground(new java.awt.Color(0, 102, 0));
+ jTextFieldEmail.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
+ jTextFieldEmail.setForeground(new java.awt.Color(153, 153, 153));
+ jTextFieldEmail.setText("john.doe@example.com");
+ jTextFieldEmail.setToolTipText("Enter a valid email address.");
+ jTextFieldEmail.setBorder(null);
+ jTextFieldEmail.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ jTextFieldEmailMouseClicked(evt);
+ }
+ });
+ jTextFieldEmail.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jTextFieldEmailActionPerformed(evt);
+ }
+ });
+
+ jTextFieldMobileNumber.setBackground(new java.awt.Color(0, 102, 0));
+ jTextFieldMobileNumber.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
+ jTextFieldMobileNumber.setForeground(new java.awt.Color(153, 153, 153));
+ jTextFieldMobileNumber.setText("082 738 9016");
+ jTextFieldMobileNumber.setToolTipText("<html>\nEnter a valid South African number that starts with either:\n<ul>\n<li>0</li>\n<li>27</li>\n<li>+27</li>\n</ul>\nThe number may contain spaces.\n</html>");
+ jTextFieldMobileNumber.setBorder(null);
+ jTextFieldMobileNumber.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ jTextFieldMobileNumberMouseClicked(evt);
+ }
+ });
+
+ jPasswordField.setBackground(new java.awt.Color(0, 102, 0));
+ jPasswordField.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
+ jPasswordField.setForeground(new java.awt.Color(153, 153, 153));
+ jPasswordField.setText("Password@12345");
+ jPasswordField.setBorder(null);
+ jPasswordField.addMouseListener(new java.awt.event.MouseAdapter() {
+ public void mouseClicked(java.awt.event.MouseEvent evt) {
+ jPasswordFieldMouseClicked(evt);
+ }
+ });
+ jPasswordField.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jPasswordFieldActionPerformed(evt);
+ }
+ });
+
+ jSeparatorUsername.setBackground(new java.awt.Color(204, 204, 204));
+
+ jSeparatorEmail.setBackground(new java.awt.Color(204, 204, 204));
+
+ jSeparatorMobileNumber.setBackground(new java.awt.Color(204, 204, 204));
+
+ jSeparatorPassword.setBackground(new java.awt.Color(204, 204, 204));
+
+ jDateChooser1.setBackground(new java.awt.Color(0, 102, 0));
+ jDateChooser1.setForeground(new java.awt.Color(153, 153, 153));
+ jDateChooser1.setToolTipText("Select your date of birth.\nYou may only play if you are over the age of 18.");
+ jDateChooser1.setFont(new java.awt.Font("Segoe UI", 0, 14)); // NOI18N
+
+ javax.swing.GroupLayout jPanelFieldsLayout = new javax.swing.GroupLayout(jPanelFields);
+ jPanelFields.setLayout(jPanelFieldsLayout);
+ jPanelFieldsLayout.setHorizontalGroup(
+ jPanelFieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelFieldsLayout.createSequentialGroup()
+ .addGap(40, 40, 40)
+ .addGroup(jPanelFieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabelUsername)
+ .addComponent(jLabelEmail)
+ .addComponent(jLabelMobileNumber)
+ .addComponent(jLabelPassword)
+ .addComponent(jLabelDateOfBirth))
+ .addGap(33, 33, 33)
+ .addGroup(jPanelFieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
+ .addComponent(jSeparatorUsername)
+ .addComponent(jTextFieldUsername)
+ .addComponent(jTextFieldEmail, javax.swing.GroupLayout.DEFAULT_SIZE, 183, Short.MAX_VALUE)
+ .addComponent(jTextFieldMobileNumber)
+ .addComponent(jPasswordField)
+ .addComponent(jSeparatorEmail, javax.swing.GroupLayout.DEFAULT_SIZE, 183, Short.MAX_VALUE)
+ .addComponent(jSeparatorMobileNumber, javax.swing.GroupLayout.DEFAULT_SIZE, 183, Short.MAX_VALUE)
+ .addComponent(jDateChooser1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addComponent(jSeparatorPassword))
+ .addContainerGap(40, Short.MAX_VALUE))
+ );
+ jPanelFieldsLayout.setVerticalGroup(
+ jPanelFieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelFieldsLayout.createSequentialGroup()
+ .addContainerGap()
+ .addGroup(jPanelFieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabelUsername)
+ .addComponent(jTextFieldUsername, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGap(4, 4, 4)
+ .addComponent(jSeparatorUsername, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(jPanelFieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabelEmail)
+ .addComponent(jTextFieldEmail, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGap(4, 4, 4)
+ .addComponent(jSeparatorEmail, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addGroup(jPanelFieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabelMobileNumber)
+ .addComponent(jTextFieldMobileNumber, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(jSeparatorMobileNumber, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(10, 10, 10)
+ .addGroup(jPanelFieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabelDateOfBirth)
+ .addComponent(jDateChooser1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGroup(jPanelFieldsLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelFieldsLayout.createSequentialGroup()
+ .addGap(23, 23, 23)
+ .addComponent(jLabelPassword))
+ .addGroup(jPanelFieldsLayout.createSequentialGroup()
+ .addGap(18, 18, 18)
+ .addComponent(jPasswordField, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)))
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(jSeparatorPassword, javax.swing.GroupLayout.PREFERRED_SIZE, 10, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(100, Short.MAX_VALUE))
+ );
+
+ jPanelWest.add(jPanelFields);
+
+ getContentPane().add(jPanelWest, java.awt.BorderLayout.WEST);
+
+ jPanelCenter.setBackground(new java.awt.Color(0, 153, 51));
+ jPanelCenter.setPreferredSize(new java.awt.Dimension(550, 430));
+
+ jLabelCardsIcon.setIcon(new javax.swing.ImageIcon(getClass().getResource("/assets/images/hearts_card.png"))); // NOI18N
+
+ jButtonPlay.setBackground(new java.awt.Color(102, 0, 204));
+ jButtonPlay.setFont(new java.awt.Font("Segoe UI", 0, 24)); // NOI18N
+ jButtonPlay.setForeground(new java.awt.Color(204, 204, 204));
+ jButtonPlay.setText("PLAY");
+ jButtonPlay.setBorder(null);
+ jButtonPlay.addActionListener(new java.awt.event.ActionListener() {
+ public void actionPerformed(java.awt.event.ActionEvent evt) {
+ jButtonPlayActionPerformed(evt);
+ }
+ });
+
+ javax.swing.GroupLayout jPanelCenterLayout = new javax.swing.GroupLayout(jPanelCenter);
+ jPanelCenter.setLayout(jPanelCenterLayout);
+ jPanelCenterLayout.setHorizontalGroup(
+ jPanelCenterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelCenterLayout.createSequentialGroup()
+ .addGroup(jPanelCenterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelCenterLayout.createSequentialGroup()
+ .addGap(62, 62, 62)
+ .addComponent(jLabelCardsIcon))
+ .addGroup(jPanelCenterLayout.createSequentialGroup()
+ .addGap(164, 164, 164)
+ .addComponent(jButtonPlay, javax.swing.GroupLayout.PREFERRED_SIZE, 98, javax.swing.GroupLayout.PREFERRED_SIZE)))
+ .addContainerGap(598, Short.MAX_VALUE))
+ );
+ jPanelCenterLayout.setVerticalGroup(
+ jPanelCenterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelCenterLayout.createSequentialGroup()
+ .addContainerGap(40, Short.MAX_VALUE)
+ .addComponent(jLabelCardsIcon, javax.swing.GroupLayout.PREFERRED_SIZE, 306, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(18, 18, 18)
+ .addComponent(jButtonPlay, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGap(16, 16, 16))
+ );
+
+ getContentPane().add(jPanelCenter, java.awt.BorderLayout.CENTER);
+
+ pack();
+ }// </editor-fold>//GEN-END:initComponents
+
+ private void jTextFieldEmailActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jTextFieldEmailActionPerformed
+
+ }//GEN-LAST:event_jTextFieldEmailActionPerformed
+
+ private void jButtonPlayActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButtonPlayActionPerformed
+ char[] passwordCh = jPasswordField.getPassword();
+ String password = new String(passwordCh); // convert password to string
+ Date selectedDate = jDateChooser1.getDate();
+ if (controller.areAllFieldsValid(
+ jTextFieldEmail.getText(),
+ jTextFieldMobileNumber.getText(),
+ selectedDate,
+ password)) {
+ new MainUI().setVisible(true); // open the game window
+ this.dispose(); // close the login screen
+ }
+ }//GEN-LAST:event_jButtonPlayActionPerformed
+
+ private void jPasswordFieldActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jPasswordFieldActionPerformed
+
+ }//GEN-LAST:event_jPasswordFieldActionPerformed
+
+ private void jTextFieldUsernameMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextFieldUsernameMouseClicked
+ jTextFieldUsername.setText("");
+ }//GEN-LAST:event_jTextFieldUsernameMouseClicked
+
+ private void jTextFieldEmailMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextFieldEmailMouseClicked
+ jTextFieldEmail.setText("");
+ }//GEN-LAST:event_jTextFieldEmailMouseClicked
+
+ private void jTextFieldMobileNumberMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextFieldMobileNumberMouseClicked
+ jTextFieldMobileNumber.setText("");
+ }//GEN-LAST:event_jTextFieldMobileNumberMouseClicked
+
+ private void jPasswordFieldMouseClicked(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jPasswordFieldMouseClicked
+ jPasswordField.setText("");
+ }//GEN-LAST:event_jPasswordFieldMouseClicked
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String args[]) {
+ /* Set the FlatDarkLaf look and feel */
+ try {
+ UIManager.setLookAndFeel(new FlatDarkLaf());
+ } catch (UnsupportedLookAndFeelException e) {
+ System.err.println(e);
+ }
+
+ /* Create and display the form */
+ java.awt.EventQueue.invokeLater(() -> {
+ new SignupUI().setVisible(true);
+ });
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JButton jButtonPlay;
+ private com.toedter.calendar.JDateChooser jDateChooser1;
+ private javax.swing.JLabel jLabelCardsIcon;
+ private javax.swing.JLabel jLabelDateOfBirth;
+ private javax.swing.JLabel jLabelEmail;
+ private javax.swing.JLabel jLabelLogin;
+ private javax.swing.JLabel jLabelMobileNumber;
+ private javax.swing.JLabel jLabelPassword;
+ private javax.swing.JLabel jLabelUsername;
+ private javax.swing.JLabel jLabelWelcome;
+ private javax.swing.JPanel jPanelCenter;
+ private javax.swing.JPanel jPanelFields;
+ private javax.swing.JPanel jPanelLoginText;
+ private javax.swing.JPanel jPanelWelcomeText;
+ private javax.swing.JPanel jPanelWest;
+ private javax.swing.JPasswordField jPasswordField;
+ private javax.swing.JSeparator jSeparatorEmail;
+ private javax.swing.JSeparator jSeparatorMobileNumber;
+ private javax.swing.JSeparator jSeparatorPassword;
+ private javax.swing.JSeparator jSeparatorUsername;
+ private javax.swing.JTextField jTextFieldEmail;
+ private javax.swing.JTextField jTextFieldMobileNumber;
+ private javax.swing.JTextField jTextFieldUsername;
+ // End of variables declaration//GEN-END:variables
+}
diff --git a/src/view/StatisticsChart.form b/src/view/StatisticsChart.form
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
+ <AuxValues>
+ <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,1,23,0,0,1,-109"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+</Form>
diff --git a/src/view/StatisticsChart.java b/src/view/StatisticsChart.java
@@ -0,0 +1,109 @@
+package view;
+
+import java.awt.Color;
+import java.io.IOException;
+import javax.swing.BorderFactory;
+import model.Statistics;
+import org.jfree.chart.ChartFactory;
+import org.jfree.chart.ChartPanel;
+import org.jfree.chart.JFreeChart;
+import org.jfree.chart.plot.PiePlot;
+import org.jfree.data.general.DefaultPieDataset;
+import org.jfree.data.general.PieDataset;
+import org.jfree.util.Rotation;
+
+/**
+ * The StatisticsChart class represents a panel that displays a pie chart based
+ * on the statistics of a game. It uses the JFreeChart library to create and
+ * display the chart.
+ *
+ * @author Michael Neuper
+ * <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a>
+ */
+public class StatisticsChart extends javax.swing.JPanel {
+
+ Statistics stats;
+ PieDataset dataset;
+ JFreeChart chart;
+ ChartPanel chartPanel;
+
+ /**
+ * Creates new form StatisticsChart
+ */
+ public StatisticsChart() {
+ initComponents();
+ createChart();
+ }
+
+ /**
+ * Creates the chart panel and adds it to the panel.
+ */
+ private void createChart() {
+ dataset = createDataset();
+ chart = createChart(dataset, "");
+ chartPanel = new ChartPanel(chart);
+ chartPanel.setBorder(BorderFactory.createEmptyBorder(0, 0, 0, 0));
+ chartPanel.setBackground(Color.DARK_GRAY);
+ this.add(chartPanel);
+ }
+
+ /**
+ * Creates a dataset based on the game statistics.
+ *
+ * @return the dataset for the chart
+ */
+ private PieDataset createDataset() {
+ try {
+ stats = Statistics.load();
+ } catch (IOException e) {
+ System.err.println(e);;
+ }
+ DefaultPieDataset result = new DefaultPieDataset();
+ result.setValue("Wins", stats.getWins());
+ result.setValue("Losses", stats.getLosses());
+ result.setValue("Pushes", stats.getPushes());
+
+ return result;
+ }
+
+ /**
+ * Creates a pie chart based on the specified dataset and title.
+ *
+ * @param dataset the dataset to use for the chart
+ * @param title the title to display on the chart
+ * @return the {@link JFreeChart} object
+ */
+ private JFreeChart createChart(PieDataset dataset, String title) {
+
+ JFreeChart chart = ChartFactory.createPieChart(
+ title, // chart title
+ dataset, // data
+ true, // include legend
+ true,
+ false
+ );
+
+ PiePlot plot = (PiePlot) chart.getPlot();
+ plot.setStartAngle(290);
+ plot.setDirection(Rotation.CLOCKWISE);
+ plot.setForegroundAlpha(0.5f);
+
+ return chart;
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ setLayout(new java.awt.BorderLayout());
+ }// </editor-fold>//GEN-END:initComponents
+
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ // End of variables declaration//GEN-END:variables
+}
diff --git a/src/view/StatisticsGUI.form b/src/view/StatisticsGUI.form
@@ -1,139 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-
-<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
- <Properties>
- <Property name="defaultCloseOperation" type="int" value="3"/>
- </Properties>
- <SyntheticProperties>
- <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
- <SyntheticProperty name="generateCenter" type="boolean" value="false"/>
- </SyntheticProperties>
- <AuxValues>
- <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
- <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
- <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
- <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
- <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
- </AuxValues>
-
- <Layout>
- <DimensionLayout dim="0">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace min="-2" pref="36" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" attributes="0">
- <Component id="jLabelLosses" min="-2" max="-2" attributes="0"/>
- <EmptySpace type="unrelated" max="-2" attributes="0"/>
- <Component id="jLabelLossesAmount" min="-2" pref="217" max="-2" attributes="0"/>
- </Group>
- <Component id="jLabelStatistics" min="-2" pref="342" max="-2" attributes="0"/>
- <Group type="102" alignment="0" attributes="0">
- <Component id="jLabelWins" min="-2" pref="84" max="-2" attributes="0"/>
- <EmptySpace max="-2" attributes="0"/>
- <Component id="jLabelWinsAmount" min="-2" pref="217" max="-2" attributes="0"/>
- </Group>
- <Group type="102" alignment="0" attributes="0">
- <Component id="jLabelPushes" min="-2" max="-2" attributes="0"/>
- <EmptySpace type="unrelated" max="-2" attributes="0"/>
- <Component id="jLabelPushesAmount" min="-2" pref="217" max="-2" attributes="0"/>
- </Group>
- </Group>
- <EmptySpace pref="543" max="32767" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- <DimensionLayout dim="1">
- <Group type="103" groupAlignment="0" attributes="0">
- <Group type="102" alignment="0" attributes="0">
- <EmptySpace min="-2" pref="27" max="-2" attributes="0"/>
- <Component id="jLabelStatistics" min="-2" pref="44" max="-2" attributes="0"/>
- <EmptySpace min="-2" pref="101" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="3" attributes="0">
- <Component id="jLabelWins" alignment="3" min="-2" pref="26" max="-2" attributes="0"/>
- <Component id="jLabelWinsAmount" alignment="3" min="-2" pref="43" max="-2" attributes="0"/>
- </Group>
- <EmptySpace min="-2" pref="40" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="3" attributes="0">
- <Component id="jLabelLosses" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="jLabelLossesAmount" alignment="3" min="-2" pref="43" max="-2" attributes="0"/>
- </Group>
- <EmptySpace min="-2" pref="37" max="-2" attributes="0"/>
- <Group type="103" groupAlignment="3" attributes="0">
- <Component id="jLabelPushes" alignment="3" min="-2" max="-2" attributes="0"/>
- <Component id="jLabelPushesAmount" alignment="3" min="-2" pref="43" max="-2" attributes="0"/>
- </Group>
- <EmptySpace pref="305" max="32767" attributes="0"/>
- </Group>
- </Group>
- </DimensionLayout>
- </Layout>
- <SubComponents>
- <Component class="javax.swing.JLabel" name="jLabelStatistics">
- <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="Statistics"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelWins">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Dialog" size="24" style="1"/>
- </Property>
- <Property name="text" type="java.lang.String" value="Wins:"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelWinsAmount">
- <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" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code=""" + stats.getWins()" type="code"/>
- </Property>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelPushes">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Dialog" size="24" style="1"/>
- </Property>
- <Property name="text" type="java.lang.String" value="Pushes:"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelPushesAmount">
- <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" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code=""" + stats.getPushes()" type="code"/>
- </Property>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelLosses">
- <Properties>
- <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
- <Font name="Dialog" size="24" style="1"/>
- </Property>
- <Property name="text" type="java.lang.String" value="Losses:"/>
- </Properties>
- </Component>
- <Component class="javax.swing.JLabel" name="jLabelLossesAmount">
- <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" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
- <Connection code=""" + stats.getLosses()" type="code"/>
- </Property>
- </Properties>
- </Component>
- </SubComponents>
-</Form>
diff --git a/src/view/StatisticsGUI.java b/src/view/StatisticsGUI.java
@@ -1,167 +0,0 @@
-package view;
-
-import com.opencsv.exceptions.CsvValidationException;
-import java.io.IOException;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import model.Statistics;
-
-/**
- * GUI that displays the player's wins, losses and pushes.
- *
- * @author Michael Neuper
- * <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a>
- */
-public class StatisticsGUI extends javax.swing.JFrame {
-
- Statistics stats;
-
- /**
- * Creates new form StatisticsGUI
- *
- * @throws java.io.IOException is there is a problem with the file reading
- * process
- */
- public StatisticsGUI() throws IOException {
- this.stats = Statistics.load();
- initComponents();
- }
-
- /**
- * This method is called from within the constructor to initialize the form.
- * WARNING: Do NOT modify this code. The content of this method is always
- * regenerated by the Form Editor.
- */
- @SuppressWarnings("unchecked")
- // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
- private void initComponents() {
-
- jLabelStatistics = new javax.swing.JLabel();
- jLabelWins = new javax.swing.JLabel();
- jLabelWinsAmount = new javax.swing.JLabel();
- jLabelPushes = new javax.swing.JLabel();
- jLabelPushesAmount = new javax.swing.JLabel();
- jLabelLosses = new javax.swing.JLabel();
- jLabelLossesAmount = new javax.swing.JLabel();
-
- setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
-
- jLabelStatistics.setFont(new java.awt.Font("Dialog", 1, 48)); // NOI18N
- jLabelStatistics.setText("Statistics");
-
- jLabelWins.setFont(new java.awt.Font("Dialog", 1, 24)); // NOI18N
- jLabelWins.setText("Wins:");
-
- jLabelWinsAmount.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- jLabelWinsAmount.setText("" + stats.getWins());
-
- jLabelPushes.setFont(new java.awt.Font("Dialog", 1, 24)); // NOI18N
- jLabelPushes.setText("Pushes:");
-
- jLabelPushesAmount.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- jLabelPushesAmount.setText("" + stats.getPushes());
-
- jLabelLosses.setFont(new java.awt.Font("Dialog", 1, 24)); // NOI18N
- jLabelLosses.setText("Losses:");
-
- jLabelLossesAmount.setFont(new java.awt.Font("Dialog", 1, 18)); // NOI18N
- jLabelLossesAmount.setText("" + stats.getLosses());
-
- javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
- getContentPane().setLayout(layout);
- layout.setHorizontalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(36, 36, 36)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabelLosses)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jLabelLossesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 217, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addComponent(jLabelStatistics, javax.swing.GroupLayout.PREFERRED_SIZE, 342, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabelWins, javax.swing.GroupLayout.PREFERRED_SIZE, 84, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jLabelWinsAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 217, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGroup(layout.createSequentialGroup()
- .addComponent(jLabelPushes)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
- .addComponent(jLabelPushesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 217, javax.swing.GroupLayout.PREFERRED_SIZE)))
- .addContainerGap(543, Short.MAX_VALUE))
- );
- layout.setVerticalGroup(
- layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(27, 27, 27)
- .addComponent(jLabelStatistics, javax.swing.GroupLayout.PREFERRED_SIZE, 44, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addGap(101, 101, 101)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabelWins, javax.swing.GroupLayout.PREFERRED_SIZE, 26, javax.swing.GroupLayout.PREFERRED_SIZE)
- .addComponent(jLabelWinsAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(40, 40, 40)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabelLosses)
- .addComponent(jLabelLossesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addGap(37, 37, 37)
- .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
- .addComponent(jLabelPushes)
- .addComponent(jLabelPushesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
- .addContainerGap(305, Short.MAX_VALUE))
- );
-
- pack();
- }// </editor-fold>//GEN-END:initComponents
-
- /**
- * @param args the command line arguments
- * @throws com.opencsv.exceptions.CsvValidationException if there is an
- * error reading from the csv file
- */
- public static void main(String args[]) throws CsvValidationException {
- /* Set the Nimbus look and feel */
- //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
- /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
- * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
- */
- try {
- for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
- if ("Nimbus".equals(info.getName())) {
- javax.swing.UIManager.setLookAndFeel(info.getClassName());
- break;
- }
- }
- } catch (ClassNotFoundException ex) {
- java.util.logging.Logger.getLogger(StatisticsGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (InstantiationException ex) {
- java.util.logging.Logger.getLogger(StatisticsGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (IllegalAccessException ex) {
- java.util.logging.Logger.getLogger(StatisticsGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- } catch (javax.swing.UnsupportedLookAndFeelException ex) {
- java.util.logging.Logger.getLogger(StatisticsGUI.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
- }
- //</editor-fold>
-
-
- /* Create and display the form */
- java.awt.EventQueue.invokeLater(new Runnable() {
- @Override
- public void run() {
- try {
- new StatisticsGUI().setVisible(true);
- } catch (IOException ex) {
- Logger.getLogger(StatisticsGUI.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- });
- }
-
- // Variables declaration - do not modify//GEN-BEGIN:variables
- private javax.swing.JLabel jLabelLosses;
- private javax.swing.JLabel jLabelLossesAmount;
- private javax.swing.JLabel jLabelPushes;
- private javax.swing.JLabel jLabelPushesAmount;
- private javax.swing.JLabel jLabelStatistics;
- private javax.swing.JLabel jLabelWins;
- private javax.swing.JLabel jLabelWinsAmount;
- // End of variables declaration//GEN-END:variables
-}
diff --git a/src/view/StatisticsUI.form b/src/view/StatisticsUI.form
@@ -0,0 +1,211 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+
+<Form version="1.3" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JFrameFormInfo">
+ <Properties>
+ <Property name="defaultCloseOperation" type="int" value="2"/>
+ <Property name="title" type="java.lang.String" value="Statistics"/>
+ <Property name="alwaysOnTop" type="boolean" value="true"/>
+ </Properties>
+ <SyntheticProperties>
+ <SyntheticProperty name="formSizePolicy" type="int" value="1"/>
+ <SyntheticProperty name="generateCenter" type="boolean" value="false"/>
+ </SyntheticProperties>
+ <AuxValues>
+ <AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
+ <AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
+ <AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
+ <AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
+ <AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
+ <AuxValue name="designerSize" type="java.awt.Dimension" value="-84,-19,0,5,115,114,0,18,106,97,118,97,46,97,119,116,46,68,105,109,101,110,115,105,111,110,65,-114,-39,-41,-84,95,68,20,2,0,2,73,0,6,104,101,105,103,104,116,73,0,5,119,105,100,116,104,120,112,0,0,2,29,0,0,3,-40"/>
+ </AuxValues>
+
+ <Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
+ <SubComponents>
+ <Container class="javax.swing.JPanel" name="jPanelNorth">
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="North"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="349" max="-2" attributes="0"/>
+ <Component id="jLabelStatistics" min="-2" max="-2" attributes="0"/>
+ <EmptySpace pref="432" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="16" max="-2" attributes="0"/>
+ <Component id="jLabelStatistics" min="-2" max="-2" attributes="0"/>
+ <EmptySpace pref="22" max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jLabelStatistics">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="48" style="1"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Statistics"/>
+ </Properties>
+ </Component>
+ </SubComponents>
+ </Container>
+ <Container class="javax.swing.JPanel" name="jPanelCenter">
+ <Constraints>
+ <Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
+ <BorderConstraints direction="Center"/>
+ </Constraint>
+ </Constraints>
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <Component id="jPanelStatisticsText" min="-2" pref="286" max="-2" attributes="0"/>
+ <EmptySpace type="unrelated" max="-2" attributes="0"/>
+ <Component id="statisticsChart1" min="-2" max="-2" attributes="0"/>
+ <EmptySpace max="-2" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jPanelStatisticsText" alignment="1" max="32767" attributes="0"/>
+ <Group type="102" alignment="1" attributes="0">
+ <EmptySpace pref="13" max="32767" attributes="0"/>
+ <Component id="statisticsChart1" min="-2" max="-2" attributes="0"/>
+ <EmptySpace max="-2" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="view.StatisticsChart" name="statisticsChart1">
+ </Component>
+ <Container class="javax.swing.JPanel" name="jPanelStatisticsText">
+
+ <Layout>
+ <DimensionLayout dim="0">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" attributes="0">
+ <EmptySpace min="-2" pref="40" max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jLabelPushes" alignment="0" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelLosses" alignment="0" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelWins" min="-2" max="-2" attributes="0"/>
+ </Group>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" attributes="0">
+ <EmptySpace max="32767" attributes="0"/>
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Component id="jLabelWinsAmount" min="-2" pref="136" max="-2" attributes="0"/>
+ <Component id="jLabelPushesAmount" alignment="0" min="-2" pref="137" max="-2" attributes="0"/>
+ </Group>
+ <EmptySpace min="-2" pref="115" max="-2" attributes="0"/>
+ </Group>
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace max="-2" attributes="0"/>
+ <Component id="jLabelLossesAmount" min="-2" pref="137" max="-2" attributes="0"/>
+ <EmptySpace max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ <DimensionLayout dim="1">
+ <Group type="103" groupAlignment="0" attributes="0">
+ <Group type="102" alignment="0" attributes="0">
+ <EmptySpace min="-2" pref="94" max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="3" attributes="0">
+ <Component id="jLabelWinsAmount" alignment="3" min="-2" pref="43" max="-2" attributes="0"/>
+ <Component id="jLabelWins" alignment="3" min="-2" max="-2" attributes="0"/>
+ </Group>
+ <EmptySpace min="-2" pref="27" max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="3" attributes="0">
+ <Component id="jLabelLosses" alignment="3" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelLossesAmount" alignment="3" min="-2" pref="43" max="-2" attributes="0"/>
+ </Group>
+ <EmptySpace min="-2" pref="26" max="-2" attributes="0"/>
+ <Group type="103" groupAlignment="3" attributes="0">
+ <Component id="jLabelPushes" alignment="3" min="-2" max="-2" attributes="0"/>
+ <Component id="jLabelPushesAmount" alignment="3" min="-2" pref="43" max="-2" attributes="0"/>
+ </Group>
+ <EmptySpace max="32767" attributes="0"/>
+ </Group>
+ </Group>
+ </DimensionLayout>
+ </Layout>
+ <SubComponents>
+ <Component class="javax.swing.JLabel" name="jLabelLosses">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="24" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Losses:"/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelWins">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="24" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Wins:"/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelPushes">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="24" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" value="Pushes:"/>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelWinsAmount">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="18" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+ <Connection code=""" + stats.getWins()" type="code"/>
+ </Property>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelLossesAmount">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="18" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+ <Connection code=""" + stats.getLosses()" type="code"/>
+ </Property>
+ </Properties>
+ </Component>
+ <Component class="javax.swing.JLabel" name="jLabelPushesAmount">
+ <Properties>
+ <Property name="font" type="java.awt.Font" editor="org.netbeans.beaninfo.editors.FontEditor">
+ <Font name="Segoe UI" size="18" style="0"/>
+ </Property>
+ <Property name="text" type="java.lang.String" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
+ <Connection code=""" + stats.getPushes()" type="code"/>
+ </Property>
+ </Properties>
+ </Component>
+ </SubComponents>
+ </Container>
+ </SubComponents>
+ </Container>
+ </SubComponents>
+</Form>
diff --git a/src/view/StatisticsUI.java b/src/view/StatisticsUI.java
@@ -0,0 +1,195 @@
+package view;
+
+import com.formdev.flatlaf.FlatDarkLaf;
+import java.io.IOException;
+import javax.swing.UIManager;
+import javax.swing.UnsupportedLookAndFeelException;
+import model.Statistics;
+
+/**
+ * GUI to display a pie chart and the following statistics:
+ * <ul>
+ * <li>Wins</li>
+ * <li>Losses</li>
+ * <li>Pushes</li>
+ * </ul>
+ *
+ * @author Michael Neuper
+ * <a href="mailto:michael@michaelneuper.com">michael@michaelneuper.com</a>
+ */
+public class StatisticsUI extends javax.swing.JFrame {
+
+ Statistics stats;
+
+ /**
+ * Creates new form StatisticsUI
+ */
+ public StatisticsUI() {
+ try {
+ this.stats = Statistics.load();
+ } catch (IOException e) {
+ System.err.println(e);;
+ }
+ initComponents();
+ }
+
+ /**
+ * This method is called from within the constructor to initialize the form.
+ * WARNING: Do NOT modify this code. The content of this method is always
+ * regenerated by the Form Editor.
+ */
+ @SuppressWarnings("unchecked")
+ // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
+ private void initComponents() {
+
+ jPanelNorth = new javax.swing.JPanel();
+ jLabelStatistics = new javax.swing.JLabel();
+ jPanelCenter = new javax.swing.JPanel();
+ statisticsChart1 = new view.StatisticsChart();
+ jPanelStatisticsText = new javax.swing.JPanel();
+ jLabelLosses = new javax.swing.JLabel();
+ jLabelWins = new javax.swing.JLabel();
+ jLabelPushes = new javax.swing.JLabel();
+ jLabelWinsAmount = new javax.swing.JLabel();
+ jLabelLossesAmount = new javax.swing.JLabel();
+ jLabelPushesAmount = new javax.swing.JLabel();
+
+ setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
+ setTitle("Statistics");
+ setAlwaysOnTop(true);
+
+ jLabelStatistics.setFont(new java.awt.Font("Segoe UI", 1, 48)); // NOI18N
+ jLabelStatistics.setText("Statistics");
+
+ javax.swing.GroupLayout jPanelNorthLayout = new javax.swing.GroupLayout(jPanelNorth);
+ jPanelNorth.setLayout(jPanelNorthLayout);
+ jPanelNorthLayout.setHorizontalGroup(
+ jPanelNorthLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelNorthLayout.createSequentialGroup()
+ .addGap(349, 349, 349)
+ .addComponent(jLabelStatistics)
+ .addContainerGap(432, Short.MAX_VALUE))
+ );
+ jPanelNorthLayout.setVerticalGroup(
+ jPanelNorthLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelNorthLayout.createSequentialGroup()
+ .addGap(16, 16, 16)
+ .addComponent(jLabelStatistics)
+ .addContainerGap(22, Short.MAX_VALUE))
+ );
+
+ getContentPane().add(jPanelNorth, java.awt.BorderLayout.NORTH);
+
+ jLabelLosses.setFont(new java.awt.Font("Segoe UI", 0, 24)); // NOI18N
+ jLabelLosses.setText("Losses:");
+
+ jLabelWins.setFont(new java.awt.Font("Segoe UI", 0, 24)); // NOI18N
+ jLabelWins.setText("Wins:");
+
+ jLabelPushes.setFont(new java.awt.Font("Segoe UI", 0, 24)); // NOI18N
+ jLabelPushes.setText("Pushes:");
+
+ jLabelWinsAmount.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
+ jLabelWinsAmount.setText("" + stats.getWins());
+
+ jLabelLossesAmount.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
+ jLabelLossesAmount.setText("" + stats.getLosses());
+
+ jLabelPushesAmount.setFont(new java.awt.Font("Segoe UI", 0, 18)); // NOI18N
+ jLabelPushesAmount.setText("" + stats.getPushes());
+
+ javax.swing.GroupLayout jPanelStatisticsTextLayout = new javax.swing.GroupLayout(jPanelStatisticsText);
+ jPanelStatisticsText.setLayout(jPanelStatisticsTextLayout);
+ jPanelStatisticsTextLayout.setHorizontalGroup(
+ jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelStatisticsTextLayout.createSequentialGroup()
+ .addGap(40, 40, 40)
+ .addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabelPushes)
+ .addComponent(jLabelLosses)
+ .addComponent(jLabelWins))
+ .addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelStatisticsTextLayout.createSequentialGroup()
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jLabelWinsAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 136, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabelPushesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGap(115, 115, 115))
+ .addGroup(jPanelStatisticsTextLayout.createSequentialGroup()
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(jLabelLossesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 137, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
+ );
+ jPanelStatisticsTextLayout.setVerticalGroup(
+ jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelStatisticsTextLayout.createSequentialGroup()
+ .addGap(94, 94, 94)
+ .addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabelWinsAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addComponent(jLabelWins))
+ .addGap(27, 27, 27)
+ .addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabelLosses)
+ .addComponent(jLabelLossesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addGap(26, 26, 26)
+ .addGroup(jPanelStatisticsTextLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
+ .addComponent(jLabelPushes)
+ .addComponent(jLabelPushesAmount, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
+ .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
+ );
+
+ javax.swing.GroupLayout jPanelCenterLayout = new javax.swing.GroupLayout(jPanelCenter);
+ jPanelCenter.setLayout(jPanelCenterLayout);
+ jPanelCenterLayout.setHorizontalGroup(
+ jPanelCenterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addGroup(jPanelCenterLayout.createSequentialGroup()
+ .addComponent(jPanelStatisticsText, javax.swing.GroupLayout.PREFERRED_SIZE, 286, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
+ .addComponent(statisticsChart1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+ jPanelCenterLayout.setVerticalGroup(
+ jPanelCenterLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
+ .addComponent(jPanelStatisticsText, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanelCenterLayout.createSequentialGroup()
+ .addContainerGap(13, Short.MAX_VALUE)
+ .addComponent(statisticsChart1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addContainerGap())
+ );
+
+ getContentPane().add(jPanelCenter, java.awt.BorderLayout.CENTER);
+
+ pack();
+ }// </editor-fold>//GEN-END:initComponents
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String args[]) {
+ /* Set the FlatDarkLaf look and feel */
+ try {
+ UIManager.setLookAndFeel(new FlatDarkLaf());
+ } catch (UnsupportedLookAndFeelException e) {
+ System.err.println(e);
+ }
+
+ /* Create and display the form */
+ java.awt.EventQueue.invokeLater(() -> {
+ new StatisticsUI().setVisible(true);
+ });
+ }
+
+ // Variables declaration - do not modify//GEN-BEGIN:variables
+ private javax.swing.JLabel jLabelLosses;
+ private javax.swing.JLabel jLabelLossesAmount;
+ private javax.swing.JLabel jLabelPushes;
+ private javax.swing.JLabel jLabelPushesAmount;
+ private javax.swing.JLabel jLabelStatistics;
+ private javax.swing.JLabel jLabelWins;
+ private javax.swing.JLabel jLabelWinsAmount;
+ private javax.swing.JPanel jPanelCenter;
+ private javax.swing.JPanel jPanelNorth;
+ private javax.swing.JPanel jPanelStatisticsText;
+ private view.StatisticsChart statisticsChart1;
+ // End of variables declaration//GEN-END:variables
+}