Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found
Select Git revision
  • master
  • tutorial-1
  • tutorial-2
  • tutorial-3
  • tutorial-5
  • tutorial-6
  • tutorial-7
  • tutorial-7-material
  • tutorial-8
  • tutorial-9
  • tutorial-9-material
11 results

Target

Select target project
  • jvitale/ict100_tutorials_t3_2022
1 result
Select Git revision
  • master
  • tutorial-1
  • tutorial-2
  • tutorial-3
  • tutorial-5
  • tutorial-6
  • tutorial-7
  • tutorial-7-material
  • tutorial-8
  • tutorial-9
  • tutorial-9-material
11 results
Show changes

Commits on Source 2

...@@ -10,10 +10,10 @@ function collectBet(){ ...@@ -10,10 +10,10 @@ function collectBet(){
let isValidBet = false; let isValidBet = false;
//let counter = 0; //let counter = 0;
do { do {
console.log("please provide your bet") console.log("please provide your bet");
currentBet = 10; // mocking up with a value let inputBetElement = document.getElementById('player-bet-input');
console.log(`You provided the bet being ${currentBet}`); currentBet = Number(inputBetElement.value);
if (currentBet <= 0 || currentBet > gameState.playerWallet){ if (isNaN(currentBet) || currentBet <= 0 || currentBet > gameState.playerWallet){
console.log('Your bet is not valid!'); console.log('Your bet is not valid!');
//counter++; //counter++;
} else { } else {
...@@ -55,6 +55,66 @@ function handValue(cards){ ...@@ -55,6 +55,66 @@ function handValue(cards){
return sum; return sum;
} }
function resetGameState(){
gameState.currentBet = null;
gameState.cards = [[], []];
gameState.hiddenCard = null;
}
function newGame(){
resetGameState();
let inputBetElement = document.getElementById('player-bet-input');
inputBetElement.disabled = false;
let buttonBetElement = document.getElementById('player-bet-button');
buttonBetElement.disabled = false;
let walletCellElement = document.getElementById('player-wallet');
walletCellElement.innerHTML = gameState.playerWallet;
let buttonRunElement = document.getElementById('button-run');
buttonRunElement.disabled = true;
}
function collectBetAndDealCards(){
gameState.currentBet = collectBet();
let inputBetElement = document.getElementById('player-bet-input');
inputBetElement.disabled = true;
let buttonBetElement = document.getElementById('player-bet-button');
buttonBetElement.disabled = true;
// we deal the first 2 cards for the player
// we deal the first 2 cards for the dealer
// one is hidden
for(let playerIndex = 0; playerIndex < gameState.cards.length; playerIndex++){
for(let cardIndex = 0; cardIndex < 2; cardIndex++){
if (cardIndex === 1 && playerIndex === 1){
gameState.hiddenCard = drawCard();
} else {
gameState.cards[playerIndex][cardIndex] = drawCard();
}
}
}
let curPlayerScore = handValue(gameState.cards[0]);
let curDealerScore = handValue(gameState.cards[1]);
console.log(`Player score is ${curPlayerScore}, Dealer score is ${curDealerScore}`);
let playerScoreElement = document.getElementById('player-score');
let dealerScoreElement = document.getElementById('dealer-score');
playerScoreElement.innerHTML = curPlayerScore;
dealerScoreElement.innerHTML = curDealerScore;
// check immediately that the player has blackjack
// if so, we need to pay 2.5 the bet -> end the game
if (curPlayerScore === 21){
console.log('Player has blackjack!');
gameState.playerWallet += gameState.currentBet*2.5;
return true;
}
}
function blackjack(){ function blackjack(){
// decide the bet, collect it // decide the bet, collect it
gameState.currentBet = collectBet(); gameState.currentBet = collectBet();
...@@ -165,4 +225,22 @@ function blackjack(){ ...@@ -165,4 +225,22 @@ function blackjack(){
} }
blackjack(); function addEventsListeners(){
\ No newline at end of file let buttonRunElement = document.getElementById('button-run');
buttonRunElement.addEventListener(
'click',
(event) => {
newGame();
}
);
let buttonBetElement = document.getElementById('player-bet-button');
buttonBetElement.addEventListener(
'click',
(event) => {
collectBetAndDealCards();
}
);
}
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<head> <head>
<script type="text/javascript" src="game-logic.js"></script> <script type="text/javascript" src="game-logic.js"></script>
</head> </head>
<body style="background-color: green; color:white; font-family:Arial, Helvetica, sans-serif;"> <body onload="addEventsListeners()" style="background-color: green; color:white; font-family:Arial, Helvetica, sans-serif;">
<table border="1" width="50%" align="center"> <table border="1" width="50%" align="center">
<tr> <tr>
<td colspan="2"> <td colspan="2">
......