From bf9289c3597328c8b2da8e56a9688efc61988f71 Mon Sep 17 00:00:00 2001 From: Dominic DiTaranto Date: Thu, 1 Jan 2026 19:34:11 -0500 Subject: [PATCH] pathfinding1 --- assets/css/style.css | 10 +- assets/img/sprites/controls.ase | Bin 0 -> 13573 bytes ...25 1080p NF WEB-DL DD+5.1 x264-HBO.torrent | Bin 0 -> 7232 bytes assets/js/app.js | 6 +- assets/js/dialog.js | 6 +- assets/js/keystroke.js | 6 +- assets/js/pathfinder.js | 164 ++++++++++++++++++ index.html | 24 +-- 8 files changed, 193 insertions(+), 23 deletions(-) create mode 100644 assets/img/sprites/controls.ase create mode 100644 assets/img/thumbnails/[avistaz.to] Detective Chinatown 1900 2025 1080p NF WEB-DL DD+5.1 x264-HBO.torrent create mode 100644 assets/js/pathfinder.js diff --git a/assets/css/style.css b/assets/css/style.css index 6ed8ddb..e46a86b 100644 --- a/assets/css/style.css +++ b/assets/css/style.css @@ -276,10 +276,10 @@ tr:nth-child(even) { } @keyframes glow { - 0% { box-shadow: 0 0 -28px 13px #ff0000; } - 40% { box-shadow: 0 0 15px 13px #ff0000; } - 60% { box-shadow: 0 0 15px 13px #ff0000; } - 100% { box-shadow: 0 0 -28px 13px #ff0000; } + 0% { box-shadow: 0 0 -28px 13px #00ff00; } + 40% { box-shadow: 0 0 15px 13px #00ff00; } + 60% { box-shadow: 0 0 15px 13px #00ff00; } + 100% { box-shadow: 0 0 -28px 13px #00ff00; } } .indicator { @@ -373,7 +373,7 @@ button:hover { border-left: white; margin-right: 2px; position: absolute; - top: -35px; + bottom: -28px; right: 0px; } diff --git a/assets/img/sprites/controls.ase b/assets/img/sprites/controls.ase new file mode 100644 index 0000000000000000000000000000000000000000..1b95fa0c342d46450142211f888edbe03e342a3c GIT binary patch literal 13573 zcmcI~2{e@N`}c?vg*272R>~wHWM>pg5mHH6iwaHFF?I%t>?9@IP_i2>_F)E%OmhuPO*M^@$7A zv*!ZWNe~wZ1bPg7|Mijj*X940tCyERAo}{g|B^ZYNI7xxKc!0k?=m?c(CL$x0K9rm z2f(MAN&qI^(*}^}B?I6{?o$9)zh?l**iZxT{oE}8pJ6WosQ$(sKoeI*0B@U|0Z>^- z6F@yZ9{?{ti~!Ka{SSannH&Hex@H0VHO2&x1AIWB%<>ulU7tMz@WH*?0Q&030$8T3 z4B&{B6M%%EdH|E&83P#WagpN;yamr+-AVx$0DXWvKpbEVPzLw{WC5lCO@Jdn5MT#T z19$FMrFy+FH-Rqv(DyuZ#dQS>Ucst{zx>DLtJJ>uSO{iTRosrMyYuVJ$j#t{TNbXnPN zjYsXG#9(TI_S~C0{F8<7Q{SF;shJ)B+8W6RezxKqhuaxXd-smlmv7T}AV8sM`Ohm# zq(_sq59smFk~Gyx546+wC^EPnb#WU{)n09od&04ACgpNav^)pG7t8&- zxqH3NdP)!K8c>d+KM4rzE!GH!zB|9Vlr*szPXWz*&>;m!|K=3a9=Qv&&=|IByG?{w zBj22jCTWGJ&}Uf}2l!_qn-4{KIHig#q!wm}K7CB=qkc#Hi45)H=wKC>LW1q6%_JU5 zG{tB|bqO067ncBzvQCKwf9^8ZCC9g8=aPOcuIV${M^R0PHM

g-);St3F{ZUjChp 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 literal 0 HcmV?d00001 diff --git a/assets/img/thumbnails/[avistaz.to] Detective Chinatown 1900 2025 1080p NF WEB-DL DD+5.1 x264-HBO.torrent b/assets/img/thumbnails/[avistaz.to] Detective Chinatown 1900 2025 1080p NF WEB-DL DD+5.1 x264-HBO.torrent new file mode 100644 index 0000000000000000000000000000000000000000..987d5daa9238128e472a6965b04e071b324c03c6 GIT binary patch literal 7232 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 ENTER to continue, or click the links below for quick access to my Resume & Projects.', + 'resume': 'Hello! Welcome to my Interactive Portfolio!

Controls:

ENTER: Close this Dialog, Interact with things on screen
Arrow Keys: Movement (WASD or VIM keys also work)

Walk over to my resume and click ENTER', 'controls': 'Use ARROW KEYS or WASD or VIM keys (HJKL) to move around.
Press the ENTER key to interact with what you see on the screen.

', - 'resume': 'Walk over to the DESK and click on my RESUME.
The RESUME is marked by the flashing red indicator light.

', + // 'resume': 'Walk over to the DESK and click on my RESUME.
The RESUME is marked by the flashing red indicator light.

', 'portfolio': 'Thanks for looking at my Resume!
Check out my PORTFOLIO by clicking on the BOOKSHELF.
', 'other': 'Now that you have looked through my Porfolio, go explore the rest of the site!
  • Click on the GUITAR to hear my music.
  • Mess around on the Terminal on the COMPUTER
  • And before you leave, go to the TV and play some of the games I have made!
Thanks for stopping by!' } diff --git a/assets/js/keystroke.js b/assets/js/keystroke.js index 39fe698..c691a25 100644 --- a/assets/js/keystroke.js +++ b/assets/js/keystroke.js @@ -1,4 +1,4 @@ -function getKeystroke() { +function getKeystroke(ignoreEnter=false) { _listener = function (event) { if ( ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"].indexOf( @@ -18,7 +18,9 @@ function getKeystroke() { player.move('right') } else if ( event.key === "Enter" && - !terminal.active + !terminal.active && + !dialogMode && + !ignoreEnter ) { onEnter(); } diff --git a/assets/js/pathfinder.js b/assets/js/pathfinder.js new file mode 100644 index 0000000..d421c66 --- /dev/null +++ b/assets/js/pathfinder.js @@ -0,0 +1,164 @@ +const timer = ms => new Promise(res => setTimeout(res, ms)) + +var cols = 8 +var rows = 8 + +let grid = new Array(cols); + +let openSet = []; +let closedSet = []; + +let start; +let end; +let path = []; + +function heuristic(position0, position1) { + let d1 = Math.abs(position1.x - position0.x); + let d2 = Math.abs(position1.y - position0.y); + + return d1 + d2; +} + + +function GridPoint(x, y) { + this.x = x; + this.y = y; + this.f = 0; + this.g = 0; + this.h = 0; + this.neighbors = []; + this.parent = undefined; + + + this.updateNeighbors = function(grid) { + let i = this.x; + let j = this.y; + var tmpNeighbor; + if (i < cols - 1) { + tmpNeighbor = grid[i + 1][j] + if (!player.isBoundary([tmpNeighbor.x, tmpNeighbor.y])) { + this.neighbors.push(tmpNeighbor); + } + } + if (i > 0) { + tmpNeighbor = grid[i - 1][j] + if (!player.isBoundary([tmpNeighbor.x, tmpNeighbor.y])) { + this.neighbors.push(tmpNeighbor); + } + } + if (j < rows - 1) { + tmpNeighbor = grid[i][j + 1] + if (!player.isBoundary([tmpNeighbor.x, tmpNeighbor.y])) { + this.neighbors.push(tmpNeighbor); + } + } + if (j > 0) { + tmpNeighbor = grid[i][j - 1] + if (!player.isBoundary([tmpNeighbor.x, tmpNeighbor.y])) { + this.neighbors.push(tmpNeighbor); + } + } + }; +} + + +function init(destX, destY) { + + for (let i = 0; i < cols; i++) { + grid[i] = new Array(rows); + } + + for (let i = 0; i < cols; i++) { + for (let j = 0; j < rows; j++) { + grid[i][j] = new GridPoint(i, j); + } + } + + for (let i = 0; i < cols; i++) { + for (let j = 0; j < rows; j++) { + grid[i][j].updateNeighbors(grid); + } + } + + start = grid[player.canvasX][player.canvasY]; + end = grid[destX][destY] + + openSet.push(start); + + console.log(grid); +} + + +function search(destX, destY) { + path = []; + init(destX, destY); + while (openSet.length > 0) { + + let lowestIndex = 0; + for (let i = 0; i < openSet.length; i++) { + if (openSet[i].f < openSet[lowestIndex].f) { + lowestIndex = i; + } + } + let current = openSet[lowestIndex]; + + if (current === end) { + let temp = current; + path.push(temp); + while (temp.parent) { + path.push(temp.parent); + temp = temp.parent; + } + + return path.reverse() + } + + + openSet.splice(lowestIndex, 1); + + closedSet.push(current); + + let neighbors = current.neighbors; + + for (let i = 0; i < neighbors.length; i++) { + let neighbor = neighbors[i]; + + if (!closedSet.includes(neighbor)) { + let possibleG = current.g + 1; + + if (!openSet.includes(neighbor)) { + openSet.push(neighbor); + } else if (possibleG >= neighbor.g) { + continue; + } + + neighbor.g = possibleG; + neighbor.h = heuristic(neighbor, end); + neighbor.f = neighbor.g + neighbor.h; + neighbor.parent = current; + } + } + } + + return []; +} + +async function pathfind(destX, destY) { + var newPath = search(destX, destY) + for (let i = 0; i < newPath.length; i++) { + if (newPath[i].x > player.canvasX) { + player.direction = 'right' + } else if (newPath[i].x < player.canvasX) { + player.direction = 'left' + } + + if (newPath[i].y > player.canvasY) { + player.direction = 'down' + } else if (newPath[i].y < player.canvasY) { + player.direction = 'up' + } + player.canvasX = newPath[i].x + player.canvasY = newPath[i].y + await timer(100) + } +} diff --git a/index.html b/index.html index 612084a..f9d6b81 100644 --- a/index.html +++ b/index.html @@ -21,6 +21,7 @@ + @@ -29,6 +30,18 @@

Dominic DiTaranto

Software Developer & Architect + +
+ + +
@@ -558,17 +571,6 @@
- -
- -