Hello my dear coders,
Coding pacman was difficult than I thought. I've used Dijkstra algorithm for the ghosts. I am open to any ideas to develop the game. You can fork and develop the game as you wish. We need to work on ghosts more. Because they sometimes go to a corner and wait there. Maybe we could decrease the interval time of changing random targets for the ghosts.
I will be waiting for your pull requests on Github.
Hope you like it!
Twitter: https://twitter.com/gulnaroglus
π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»
Source code: https://github.com/servetgulnaroglu/pacman-js
Live a star on github, if you enjoy!
π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»π¨βπ»
π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦
β¨οΈ Keyboard: YUNZII KEYNOVO IF98 Gateron Red Switches
https://bit.ly/3hPGk3A
π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦π¦
00:00 Keyboard Check
00:18 Creating files
00:35 Preparing index.html and introducing assets
02:12 Running HTML file
02:43 Coding game.js
04:16 Creating map[]
13:20 drawWalls()
19:14 drawWalls() is done
19:52 Coding pacman.js
21:24 pacman.moveProcess()
22:03 directions constants
22:45 pacman.moveForwards()
23:40 pacman.moveBackwards()
25:25 pacman.checkCollision()
27:25 pacman.changeAnimation()
27:59 createNewPacman()
29:08 pacman.draw()
32:00 Solving animation bug
32:23 Creating event listener for keyboard
33:00 Getting keyCodes of wasd and arrow keys
35:33 pacman.changeDirectionIfPossible()
36:42 Pacman can move now
37:53 drawFoods()
39:38 pacman.eat()
41:15 Pacman can eat now
42:15 Fix on map
42:55 drawScore()
44:50 Coding ghost.js
46:36 createGhosts()
50:16 drawGhosts()
51:48 ghost.changeDirectionIfPossible()
52:33 ghost.isInRangeOfPacman()
56:36 ghost.changeRandomDirection()
57:05 ghost.calculateNewDirection()
59:05 ghost.addNeighbors() - Helper function for Dijkstra path finder algorithm
01:04:39 Solving a bug on path finder function
01:05:38 pacman.checkGhostCollision()
01:07:32 restartGame()
01:08:06 gameOver()
01:08:27 drawLives()
01:11:00 drawGameOver()
01:14:03 drawWin()
01:15:55 Completed
01:16:49 Drawing range of ghosts
01:19:25 Incredible fail
01:21:13 Winner winner, chichken dinner
Share this page with your family and friends.