{"version":3,"sources":["gameEngine/engine.js","sprites/playerSprite.jsx","sprites/npcSprite.jsx","sprites/circleSprite.js","forms/startDialog.jsx","forms/endDialog.jsx","gameEngine/gameCanvas.jsx","coalesce.jsx","serviceWorker.js","index.jsx"],"names":["CircleObject","xPos","yPos","radius","thisCircle","collisionCheck","circle1","circle2","xDelta","Math","abs","yDelta","sqrt","SpawnRing","circle","getRandomSpawnLocation","randomSeed","random","PI","xSpawn","cos","ySpawn","sin","RectObject","width","height","thisRect","childRectBoundsCheck","childObject","childCircleBoundsCheck","PlayerSprite","ColourScheme","useContext","ColourSchemeContext","cx","cy","r","fill","White","className","NpcSprite","type","SPRITE_TYPES","SpriteTypesContext","foodStyle","enemyStyle","FOOD","require","ANIMATION_STATES","breathe","circleSprite","newSpriteState","bounds","animationState","status","CircleSprite","thisCircleSprite","StartDialog","toggleClockActive","displayStartDialog","setDisplayStartDialog","onClick","disabled","EndDialog","resetGame","displayEndDialog","setDisplayEndDialog","clock","ENEMY","createContext","GameCanvas","resetClock","useDimensions","canvasRef","canvasWidth","x","y","canvasHeight","useState","CANVAS_STARTING_SIZE","canvasBounds","setCanvasBounds","playerMovementSpeed","setPlayerMovementSpeed","playerSpriteData","setPlayerSpriteData","UP","DOWN","LEFT","RIGHT","playerMovementStatus","setPlayerMovementStatus","npcSprites","setNpcSprites","spawnRing","setSpawnRing","spriteDeleteBox","setSpriteDeleteBox","npcSpawnInterval","setNpcSpawnInterval","npcMovementSpeed","setNpcMovementSpeed","spriteTypeSkew","setSpriteTypeSkew","reset","keyboardRef","useRef","useEffect","MARGIN_SIZE","newPlayerData","newPlayerBounds","current","focus","npcCanvasWidth","undefined","npcCanvasHeight","coordinates","npcSizeFactor","npcVectorFactor","npcPathX","npcPathY","spriteType","round","push","spriteMovementVector","key","changed","i","length","currSprite","newPlayerSpriteData","splice","role","onKeyDown","event","newMovementStatus","onKeyUp","onKeyPress","tabIndex","ref","style","Provider","value","map","spriteParams","COLOUR_SCHEME","Coalesce","setClock","clockActive","setClockActive","useCallback","timer","setInterval","clearInterval","Boolean","window","location","hostname","match","ReactDOM","render","StrictMode","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","error","console","message"],"mappings":"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","file":"static/js/main.03e82a89.chunk.js","sourcesContent":["/**\n * Creates a new box-shaped object. If height is omitted, a square is created.\n * @param {number} xPos - X position on screen (anchored to top-left corner)\n * @param {number} yPos - Y position on screen (anchored to top-left corner)\n * @param {number} width - Width of element\n * @param {number} height - Height of element. Create a square by omitting this.\n */\nfunction RectObject(xPos, yPos, width, height = width) {\n const thisRect = {\n xPos, yPos, width, height,\n };\n return {\n ...thisRect,\n /**\n * This function checks if the given coordinates are valid for a child\n * rectangle inside this one. Returns boolean.\n */\n childRectBoundsCheck: (childObject) => {\n if (childObject.xPos < thisRect.xPos) { return false; }\n if (childObject.yPos < thisRect.yPos) { return false; }\n if (childObject.xPos + childObject.width > thisRect.xPos + thisRect.width) { return false; }\n if (childObject.yPos + childObject.height > thisRect.yPos + thisRect.height) { return false; }\n return true;\n },\n /**\n * This function checks if the given coordinates are valid for a child\n * circle inside this rectangle. Returns boolean.\n */\n childCircleBoundsCheck: (childObject) => {\n if (childObject.xPos - childObject.radius < thisRect.xPos) {\n return false;\n }\n if (childObject.yPos - childObject.radius < thisRect.yPos) {\n return false;\n }\n if (childObject.xPos + childObject.radius > thisRect.xPos + thisRect.width) {\n return false;\n }\n if (childObject.yPos + childObject.radius > thisRect.yPos + thisRect.height) {\n return false;\n }\n return true;\n },\n };\n}\n\n/**\n * Creates a new circle-shaped object.\n * @param {number} xPos - X position on screen (anchored to center)\n * @param {number} yPos - Y position on screen (anchored to center)\n * @param {number} radius - Radius of element\n */\nexport function CircleObject(xPos, yPos, radius) {\n const thisCircle = {\n xPos, yPos, radius,\n };\n return {\n ...thisCircle,\n };\n}\n\n/**\n * Checks if the coordinates given for another circle will result\n * in a collision with this one. Returns boolean.\n * @param {*} circle1 The first CircleObject\n * @param {*} circle2 The second CircleObject\n * @returns {boolean} True if a collision has occurred, false if not.\n */\nexport function collisionCheck(circle1, circle2) {\n const xDelta = Math.abs(circle1.xPos - circle2.xPos);\n const yDelta = Math.abs(circle1.yPos - circle2.yPos);\n const centerDistance = Math.sqrt((xDelta ** 2) + (yDelta ** 2));\n if (centerDistance <= circle1.radius + circle2.radius) {\n return true;\n }\n return false;\n}\n\n/**\n * An invisible ring that returns random points around its curcumference\n * for sprites to spawn along.\n * @param {*} xPos - X position on screen (anchored to center)\n * @param {*} yPos - Y position on screen (anchored to center)\n * @param {*} radius - Radius of ring\n */\nexport function SpawnRing(xPos, yPos, radius) {\n // TODO make this an ellipsis to deal with rectangular windows\n const circle = CircleObject(xPos, yPos, radius);\n\n return {\n ...circle,\n /**\n * Returns a random coordinate along the circle's circumference\n */\n getRandomSpawnLocation: () => {\n const randomSeed = Math.random() * 2 * Math.PI;\n const xSpawn = xPos + radius * Math.cos(randomSeed);\n const ySpawn = yPos + radius * Math.sin(randomSeed);\n return { xSpawn, ySpawn };\n },\n };\n}\n\nexport default RectObject;\n","import React, { useContext } from 'react';\nimport PropTypes from 'prop-types';\nimport { ColourSchemeContext } from '../coalesce';\n\n/**\n * User-controllable sprite\n * @param {*} props - Inputs are starting x and y position, and a clock signal.\n */\nfunction PlayerSprite({\n xPos, yPos, radius,\n}) {\n const ColourScheme = useContext(ColourSchemeContext);\n\n return (\n // TODO make multiple circles over time\n
\n {`You scored ${clock} points.`}\n
\nMade in 2020 by Oliver Reynolds.
\n