diff --git a/assets/games/casino/script.js b/assets/games/casino/script.js
index 175af63..360e917 100644
--- a/assets/games/casino/script.js
+++ b/assets/games/casino/script.js
@@ -1,132 +1,206 @@
-let playerHand = [];
-let dealerHand = [];
-let blackjackBet = 0;
-let dailyBonusGiven = false;
+// Global variables to hold player data
+let username = '';
+let money = 1000; // Starting money
+let level = 1;
+let xp = 0;
+let xpMax = 100;
-// Load user data from localStorage or set default values
+// Load user data from localStorage (if any)
function loadUserData() {
- const username = localStorage.getItem('casino-username');
- if (username) {
- // Check for daily bonus
- if (isNewDay()) {
- let balance = parseInt(localStorage.getItem('casino-money'));
- balance += 300; // Add daily bonus
- localStorage.setItem('casino-money', balance);
- dailyBonusGiven = true;
- }
+ const inputUsername = document.getElementById('username-input').value;
+ if (inputUsername) {
+ username = inputUsername;
+ // Load other data if exists in localStorage
+ money = parseInt(localStorage.getItem('money')) || money;
+ level = parseInt(localStorage.getItem('level')) || level;
+ xp = parseInt(localStorage.getItem('xp')) || xp;
+ xpMax = parseInt(localStorage.getItem('xpMax')) || xpMax;
+
+ // Set the player data on the main menu
+ document.getElementById('player-username').textContent = username;
+ document.getElementById('player-money').textContent = money;
+ document.getElementById('player-level').textContent = level;
+ document.getElementById('player-xp').textContent = xp;
+ document.getElementById('player-xp-max').textContent = xpMax;
+ document.getElementById('xp-progress').style.width = (xp / xpMax) * 100 + '%';
+
+ // Save data to localStorage
+ localStorage.setItem('username', username);
+ localStorage.setItem('money', money);
+ localStorage.setItem('level', level);
+ localStorage.setItem('xp', xp);
+ localStorage.setItem('xpMax', xpMax);
+
+ // Show the main menu screen
+ showScreen('main-menu');
} else {
- alert('Please enter a username!');
- return;
+ alert('Please enter a username.');
}
- updateUI();
}
-// Check if it's a new day for daily bonus
-function isNewDay() {
- const lastLogin = localStorage.getItem('lastLogin');
- const today = new Date().toISOString().split('T')[0]; // Format: YYYY-MM-DD
- if (!lastLogin || lastLogin !== today) {
- localStorage.setItem('lastLogin', today);
- return true;
+// Show a specific screen
+function showScreen(screenId) {
+ const screens = document.querySelectorAll('.screen');
+ screens.forEach(screen => {
+ screen.classList.remove('active');
+ });
+ const screenToShow = document.getElementById(screenId);
+ if (screenToShow) {
+ screenToShow.classList.add('active');
}
- return false;
}
-// Export user data to a downloadable file
-function exportUserData() {
- const dataStr = JSON.stringify(localStorage);
- const blob = new Blob([dataStr], { type: 'application/json' });
- const link = document.createElement('a');
- link.href = URL.createObjectURL(blob);
- link.download = `${localStorage.getItem('casino-username')}_data.json`;
- link.click();
-}
-
-// Import user data from a file
-function importUserData(file) {
- const reader = new FileReader();
- reader.onload = function(event) {
- const importedData = JSON.parse(event.target.result);
- for (let key in importedData) {
- localStorage.setItem(key, importedData[key]);
- }
- loadUserData(); // Reload user data after import
- };
- reader.readAsText(file);
-}
-
-// Save user data to localStorage
-function saveUserData() {
- const username = localStorage.getItem('casino-username');
- localStorage.setItem(username, JSON.stringify({
- money: localStorage.getItem('casino-money'),
- level: localStorage.getItem('casino-level'),
- xp: localStorage.getItem('casino-xp')
- }));
-}
-
-// Set a new username for the user
-function setUsername(newUsername) {
- localStorage.setItem('casino-username', newUsername);
- saveUserData();
- updateUI();
-}
-
-// Start the game, setting username and showing the main menu
-function startGame() {
- const usernameInput = document.getElementById('username-input').value.trim();
-
- if (usernameInput === "") {
- alert("Please enter a valid username.");
- return;
- }
-
- // Set the username and store it in localStorage
- setUsername(usernameInput);
-
- // Show the main menu after setting the username
+// Return to the main menu
+function returnToMenu() {
showScreen('main-menu');
}
-// Update balance after a game
-function updateStats(game, amount, xp) {
- let money = parseInt(localStorage.getItem('casino-money'));
- let currentXp = parseInt(localStorage.getItem('casino-xp'));
- let wins = parseInt(localStorage.getItem(`casino-${game}-wins`));
-
- money += amount;
- currentXp += xp;
- if (amount > 0) wins += 1;
-
- localStorage.setItem('casino-money', money);
- localStorage.setItem('casino-xp', currentXp);
- localStorage.setItem(`casino-${game}-wins`, wins);
- updateUI();
+// Export user data as JSON
+function exportUserData() {
+ const userData = {
+ username: localStorage.getItem('username'),
+ money: localStorage.getItem('money'),
+ level: localStorage.getItem('level'),
+ xp: localStorage.getItem('xp'),
+ xpMax: localStorage.getItem('xpMax'),
+ };
+ const fileContent = JSON.stringify(userData);
+ const blob = new Blob([fileContent], { type: 'application/json' });
+ const link = document.createElement('a');
+ link.href = URL.createObjectURL(blob);
+ link.download = 'userData.json';
+ link.click();
}
-// Show the main menu and update UI
-function showScreen(screenId) {
- document.querySelectorAll('.screen').forEach(screen => screen.classList.remove('active'));
- document.getElementById(screenId).classList.add('active');
- updateUI();
+// Handle daily rewards
+function addDailyReward() {
+ const lastLogin = localStorage.getItem('lastLogin');
+ const today = new Date().toLocaleDateString();
+ if (lastLogin !== today) {
+ money += 300; // Add $300 as a daily reward
+ localStorage.setItem('lastLogin', today);
+ alert('You have received your daily reward of $300!');
+ }
+ document.getElementById('player-money').textContent = money;
+ localStorage.setItem('money', money);
}
-// Update the UI with the current player stats
-function updateUI() {
- const username = localStorage.getItem('casino-username') || 'Player';
- const money = parseInt(localStorage.getItem('casino-money')) || 0;
- const level = parseInt(localStorage.getItem('casino-level')) || 1;
- const xp = parseInt(localStorage.getItem('casino-xp')) || 0;
- const xpToNext = level * 100;
-
- document.getElementById('player-username').innerText = username;
- document.getElementById('player-money').innerText = money;
- document.getElementById('player-level').innerText = level;
- document.getElementById('player-xp').innerText = xp;
- document.getElementById('player-xp-max').innerText = xpToNext;
- document.getElementById('xp-progress').style.width = `${Math.min(100, (xp / xpToNext) * 100)}%`;
-
- ['blackjack', 'slots', 'roulette', 'horse', 'war', 'coinflip', 'crash', 'keno'].forEach(game => {
- document.getElementById(`stats-${game}-wins`).innerText = localStorage.getItem(`casino-${game}-wins`) || 0;
- });
+// Blackjack game logic
+function startBlackjack() {
+ const bet = parseInt(document.getElementById('blackjack-bet').value);
+ if (isNaN(bet) || bet <= 0) {
+ alert('Please enter a valid bet amount.');
+ return;
+ }
+ // Blackjack game logic goes here...
+ // Update balance after game logic
+ money -= bet;
+ document.getElementById('blackjack-money').textContent = money;
+ localStorage.setItem('money', money);
}
+
+// Slots game logic
+function playSlots() {
+ const bet = parseInt(document.getElementById('slots-bet').value);
+ if (isNaN(bet) || bet <= 0) {
+ alert('Please enter a valid bet amount.');
+ return;
+ }
+ // Simulate a slot machine spin
+ const results = ['🍒', '🍉', '🍇', '🍓', '🍊'];
+ const reel1 = results[Math.floor(Math.random() * results.length)];
+ const reel2 = results[Math.floor(Math.random() * results.length)];
+ const reel3 = results[Math.floor(Math.random() * results.length)];
+
+ document.getElementById('slots-reels').innerHTML = `${reel1}${reel2}${reel3}`;
+ // Logic for checking winning and updating balance goes here
+ money -= bet;
+ document.getElementById('slots-money').textContent = money;
+ localStorage.setItem('money', money);
+}
+
+// Roulette game logic
+function playRoulette() {
+ const bet = parseInt(document.getElementById('roulette-bet').value);
+ if (isNaN(bet) || bet <= 0) {
+ alert('Please enter a valid bet amount.');
+ return;
+ }
+ const choice = document.getElementById('roulette-choice').value;
+ const result = Math.floor(Math.random() * 37); // 0-36 for roulette numbers
+ const colors = ['red', 'black', 'green'];
+ const color = result === 0 ? 'green' : (result % 2 === 0 ? 'black' : 'red');
+
+ let message = `Result: ${result} (${color})`;
+ if ((choice === 'red' && color === 'red') || (choice === 'black' && color === 'black') || (choice === 'green' && result === 0)) {
+ message += ' - You win!';
+ money += bet;
+ } else {
+ message += ' - You lose.';
+ money -= bet;
+ }
+ document.getElementById('roulette-result').textContent = message;
+ document.getElementById('roulette-money').textContent = money;
+ localStorage.setItem('money', money);
+}
+
+// Horse Betting game logic
+function placeHorseBet() {
+ const bet = parseInt(document.getElementById('horse-bet').value);
+ if (isNaN(bet) || bet <= 0) {
+ alert('Please enter a valid bet amount.');
+ return;
+ }
+ // Simulate the horse race (random outcome)
+ const winner = Math.floor(Math.random() * 4) + 1; // 1 to 4 horses
+ const message = `Horse ${winner} wins!`;
+
+ if (winner === 1) { // Let's assume betting on Horse 1 wins
+ message += ' - You win!';
+ money += bet;
+ } else {
+ message += ' - You lose.';
+ money -= bet;
+ }
+
+ document.getElementById('horse-result').textContent = message;
+ document.getElementById('horse-money').textContent = money;
+ localStorage.setItem('money', money);
+}
+
+// Coin Flip game logic
+function flipCoin() {
+ const bet = parseInt(document.getElementById('coinflip-bet').value);
+ if (isNaN(bet) || bet <= 0) {
+ alert('Please enter a valid bet amount.');
+ return;
+ }
+ const result = Math.random() > 0.5 ? 'Heads' : 'Tails';
+ document.getElementById('coinflip-result').textContent = `Result: ${result}`;
+ // Update balance after coin flip outcome
+ money -= bet;
+ document.getElementById('coinflip-money').textContent = money;
+ localStorage.setItem('money', money);
+}
+
+// Keno game logic
+function playKeno() {
+ const bet = parseInt(document.getElementById('keno-bet').value);
+ if (isNaN(bet) || bet <= 0) {
+ alert('Please enter a valid bet amount.');
+ return;
+ }
+ // Keno logic (random number selection)
+ const numbers = [];
+ for (let i = 0; i < 5; i++) {
+ numbers.push(Math.floor(Math.random() * 80) + 1); // 1 to 80
+ }
+ document.getElementById('keno-result').textContent = `Selected Numbers: ${numbers.join(', ')}`;
+ // Update balance based on winnings (example)
+ money -= bet;
+ document.getElementById('keno-money').textContent = money;
+ localStorage.setItem('money', money);
+}
+
+// Add daily reward if applicable
+addDailyReward();