From bcf6e0c8c66a1f96eed36314e827b1b3c189c340 Mon Sep 17 00:00:00 2001 From: "DESKTOP-DRCSSPA\\Zintis" Date: Sat, 25 May 2024 07:51:33 -0400 Subject: [PATCH] dumb sounds 2 --- audio/sadtrombone.swf.mp3 | Bin 0 -> 29484 bytes index.js | 69 ++++++++++++++++++++++++++++++-------- 2 files changed, 55 insertions(+), 14 deletions(-) create mode 100644 audio/sadtrombone.swf.mp3 diff --git a/audio/sadtrombone.swf.mp3 b/audio/sadtrombone.swf.mp3 new file mode 100644 index 0000000000000000000000000000000000000000..4680b6fa21c0195523aaea4e5ccc7d780a189c43 GIT binary patch literal 29484 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 literal 0 HcmV?d00001 diff --git a/index.js b/index.js index 4d3a967..09b9d78 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,10 @@ +// Setup Values let currentAction = null; let gameSize = 4; +const MIN_GAME_SIZE = 3; +const MIN_GAME_DIFFICULTY = 1; +const MAX_GAME_SIZE = 10; +const MAX_GAME_DIFFICULTY = 20; let gameDifficulty = 3; let moves = 0; let allCoords = []; @@ -8,20 +13,26 @@ let history = []; let grid = {}; const gameDifficultyInput = document.getElementById("gameDifficultyInput"); const gameSizeInput = document.getElementById("gameSizeInput"); -const gameArea = document.getElementById("gameArea"); +const gameAreaDiv = document.getElementById("gameArea"); const gameButtons = document.getElementById("gameButtons"); -const moveBox = document.getElementById("moveBox"); +const moveBoxDiv = document.getElementById("moveBox"); const newGameButton = document.getElementById("newGameButton"); const resetGameButton = document.getElementById("resetGameButton"); gameSizeInput.value = gameSize; +gameSizeInput.max = MAX_GAME_SIZE; +gameSizeInput.min = MIN_GAME_SIZE; gameDifficultyInput.value = gameDifficulty; +gameDifficultyInput.max = MAX_GAME_DIFFICULTY; +gameDifficultyInput.min = MIN_GAME_DIFFICULTY; const SOUNDS = { animeWow: new Audio("./audio/anime-wow-sound-effect.mp3"), duckToy: new Audio("./audio/duck-toy-sound.mp3"), punch: new Audio("./audio/punch_u4LmMsr.mp3"), + sadTrombone: new Audio("./audio/sadtrombone.swf.mp3"), }; +// This sets up n, s, e, w as coordinate modifier pairs. Makes it easy to encode directions const DIRECTIONS = { n: [0, -1], s: [0, 1], @@ -32,6 +43,8 @@ const DIRECTIONS = { sw: [-1, 1], nw: [-1, -1], }; + +// Sets up all possible moves, the key is the name of the image file const GAME_ACTIONS = { cross: function (coord) { let cellsToFlip = [coord]; @@ -110,37 +123,55 @@ function applyLogWrapper() { } } +// Game Buttons newGameButton.addEventListener("click", newGame); resetGameButton.addEventListener("click", resetGame); // change game settings gameSizeInput.addEventListener("change", function (e) { let newSize = e.target.value; - if (newSize !== gameSize) { + if (newSize >= MIN_GAME_SIZE) { gameSize = newSize; } }); gameDifficultyInput.addEventListener("change", function (e) { let newDifficulty = e.target.value; - if (newDifficulty !== gameDifficulty) { + if (newDifficulty >= MIN_GAME_DIFFICULTY) { gameDifficulty = newDifficulty; } }); -// click box -gameArea.addEventListener("click", function (e) { - if (!currentAction) alert("Please pick an action"); +// Play the game +gameAreaDiv.addEventListener("click", function (e) { + if (!currentAction) alert("Please pick an action button below"); + // Get the coord from cell let coord = e.target.dataset.coord; + // Take the action GAME_ACTIONS[currentAction](coord); - SOUNDS.duckToy.play(); + // Play a sound + if (rand(2) === 1) { + SOUNDS.duckToy.play(); + } else { + SOUNDS.punch.play(); + } + // Decrement action count (cannot take move again) actionCount[currentAction]--; incrementMoves(); saveGameStartState(); - if (isVictorious()) + + // check for win + if (isVictorious()) { setTimeout(() => { alert("you win!"); SOUNDS.animeWow.play(); }, 10); + } else if (isDefeated()) { + setTimeout(() => { + alert("out of moves!"); + SOUNDS.sadTrombone.play(); + }, 10); + } + if (actionCount[currentAction] <= 0) { currentAction = null; } @@ -161,9 +192,19 @@ function newGame() { actionCount = {}; resetMoves(); createEmptyGrid(); - for (let x = 0; x < gameDifficulty; x++) { + let setOfMoves = new Set(); + let accidentalRepeatCount = 0; + for (let x = 0; x < gameDifficulty && accidentalRepeatCount < 10; x++) { let coords = chooseRandomCell(); let action = chooseRandomAction(); + let actionCoordStr = coords + "-" + action; + // If the same move has been placed to the same coords, try again + if (setOfMoves.has(actionCoordStr)) { + x--; + continue; + } else { + setOfMoves.add(actionCoordStr); + } GAME_ACTIONS[action](coords); actionCount[action] = actionCount[action] ? actionCount[action] + 1 : 1; } @@ -174,7 +215,7 @@ function newGame() { } function renderGame() { - gameArea.innerHTML = ""; + gameAreaDiv.innerHTML = ""; gameHTML = ""; for (let y = 0; y < gameSize; y++) { for (let x = 0; x < gameSize; x++) { @@ -188,7 +229,7 @@ function renderGame() { gameHTML += cell; } } - gameArea.innerHTML = gameHTML; + gameAreaDiv.innerHTML = gameHTML; let buttonHTML = ""; for (let action in actionCount) { @@ -325,11 +366,11 @@ function rand(max) { function incrementMoves() { moves++; - moveBox.textContent = moves; + moveBoxDiv.textContent = moves; } function resetMoves() { moves = 0; - moveBox.textContent = moves; + moveBoxDiv.textContent = moves; } function saveGameStartState() { let chapter = {