This commit is contained in:
Dominic DiTaranto 2025-12-28 20:48:16 -05:00
parent 6cff38073a
commit 32e7e38dfa
9 changed files with 20 additions and 30 deletions

View file

@ -155,6 +155,10 @@ canvas {
font-size: 20px; font-size: 20px;
} }
.audio-controls:hover {
cursor: pointer;
}
#album-thumb img { #album-thumb img {
border: solid 3px #dbe0e7; border: solid 3px #dbe0e7;
margin-top: 10px; margin-top: 10px;

View file

@ -1,8 +1,10 @@
var _listener
var TO_RADIANS = Math.PI/180; var TO_RADIANS = Math.PI/180;
var _listener
var dialogMode = true var dialogMode = true
var terminalMode = false var terminalMode = false
var spriteSize = 16 * 5 var spriteSize = 16 * 5
var spriteMap = new Image() var spriteMap = new Image()
spriteMap.src = './assets/img/sprites/sprite-map-1.png' spriteMap.src = './assets/img/sprites/sprite-map-1.png'
@ -10,12 +12,10 @@ spriteMap.src = './assets/img/sprites/sprite-map-1.png'
var canvasOffset = 9 var canvasOffset = 9
var canvas = document.getElementById("canvas") var canvas = document.getElementById("canvas")
var ctx = canvas.getContext("2d") var ctx = canvas.getContext("2d")
canvas.width = spriteSize * canvasOffset canvas.width = spriteSize * canvasOffset
canvas.height = canvas.width canvas.height = canvas.width
var audio = null var audio = null
var terminal = new Terminal() var terminal = new Terminal()
var games = new Games() var games = new Games()
var music = new Music() var music = new Music()
@ -23,7 +23,7 @@ var dialog = new Dialog()
var resume = new Resume() var resume = new Resume()
var portfolio = new Portfolio() var portfolio = new Portfolio()
var indicator = new Indicator() var indicator = new Indicator()
var player = new Player(1, 1, 'down') var player = new Player(5, 4, 'down')
window.addEventListener("resize", function() { window.addEventListener("resize", function() {
terminal.resize(); terminal.resize();
@ -127,7 +127,6 @@ function renderRoom() {
new Renderer(3, 2, 0, 7) new Renderer(3, 2, 0, 7)
new Renderer(3, 3, 0, 8) new Renderer(3, 3, 0, 8)
new Renderer(4, 2, 1, 8) new Renderer(4, 2, 1, 8)
} }
dialog.startIntroDialogSequence() dialog.startIntroDialogSequence()
@ -137,9 +136,7 @@ function gameLoop() {
document.removeEventListener("keydown", _listener); document.removeEventListener("keydown", _listener);
if (terminalMode) { if (terminalMode) {
terminal.getKeystroke(); terminal.getKeystroke();
} else if (dialogMode) { } else if (!dialogMode) {
// pass
} else {
this.getKeystroke(); this.getKeystroke();
} }
} }

View file

@ -6,5 +6,4 @@ class Games extends Window {
handleDialog() { handleDialog() {
indicator.hide('tv') indicator.hide('tv')
} }
} }

View file

@ -29,5 +29,4 @@ class Indicator {
hide(indicatorName) { hide(indicatorName) {
this.indicatorMap[indicatorName].style.display = 'none' this.indicatorMap[indicatorName].style.display = 'none'
} }
} }

View file

@ -8,25 +8,13 @@ function getKeystroke() {
event.preventDefault(); event.preventDefault();
} }
if (event.key === "h" || event.key === "a" || event.key === "ArrowLeft") { if (['h', 'a' 'ArrowLeft'].includes(event.key)) {
player.move('left') player.move('left')
} else if ( } else if (['j', 's' 'ArrowDown'].includes(event.key)) {
event.key === "j" ||
event.key === "s" ||
event.key === "ArrowDown"
) {
player.move('down') player.move('down')
} else if ( } else if (['k', 'w' 'ArrowUp'].includes(event.key)) {
event.key === "k" ||
event.key === "w" ||
event.key === "ArrowUp"
) {
player.move('up') player.move('up')
} else if ( } else if (['l', 'd' 'ArrowRight'].includes(event.key)) {
event.key === "l" ||
event.key === "d" ||
event.key === "ArrowRight"
) {
player.move('right') player.move('right')
} else if ( } else if (
event.key === "Enter" && event.key === "Enter" &&

View file

@ -13,7 +13,7 @@ class Music extends Window {
'Buranko', 'Buranko',
'New Jersey Again', 'New Jersey Again',
'Asteroids' 'Asteroids'
] ]
this.songMap = { this.songMap = {
'Down Polypore Wood': { 'Down Polypore Wood': {

View file

@ -29,18 +29,21 @@ class Player {
this.canvasX -= 1; this.canvasX -= 1;
} }
} }
if (direction === 'right' && this.canvasX + 1 < canvas.width/spriteSize) { if (direction === 'right' && this.canvasX + 1 < canvas.width/spriteSize) {
nextPosition = [this.canvasX + 1, this.canvasY] nextPosition = [this.canvasX + 1, this.canvasY]
if (!this.isBoundary(nextPosition)) { if (!this.isBoundary(nextPosition)) {
this.canvasX += 1; this.canvasX += 1;
} }
} }
if (direction === 'up' && this.canvasY - 1 >= 0) { if (direction === 'up' && this.canvasY - 1 >= 0) {
nextPosition = [this.canvasX, this.canvasY - 1] nextPosition = [this.canvasX, this.canvasY - 1]
if (!this.isBoundary(nextPosition)) { if (!this.isBoundary(nextPosition)) {
this.canvasY -= 1; this.canvasY -= 1;
} }
} }
if (direction === 'down' && this.canvasY + 2 < canvas.height/spriteSize){ if (direction === 'down' && this.canvasY + 2 < canvas.height/spriteSize){
nextPosition = [this.canvasX, this.canvasY + 1] nextPosition = [this.canvasX, this.canvasY + 1]
if (!this.isBoundary(nextPosition)) { if (!this.isBoundary(nextPosition)) {

View file

@ -4,8 +4,9 @@ class Portfolio extends Window {
} }
handleDialog() { handleDialog() {
indicator.hide('portfolio')
indicator.portfolioIndicatorShown = true;
if (!indicator.computerIndicatorShown) { if (!indicator.computerIndicatorShown) {
indicator.hide('portfolio')
dialog.display('other') dialog.display('other')
indicator.computerIndicatorShown = true; indicator.computerIndicatorShown = true;

View file

@ -29,7 +29,7 @@ class Terminal {
this.terminalElem.style.display = "none" this.terminalElem.style.display = "none"
this.terminalContainerElem.style.display = "none" this.terminalContainerElem.style.display = "none"
terminalMode = false; terminalMode = false;
this.handleDialog() this.handleDialog)
} }
handleDialog() { handleDialog() {
@ -132,7 +132,6 @@ class Terminal {
} else { } else {
returnText = 'Unkown command, please type "help" for options' returnText = 'Unkown command, please type "help" for options'
} }
if (returnText) { if (returnText) {