Pac-Man with ZIMJS

Wow! Get ready for something absolutely incredible:
A complete Pac-Man game developed with ZIMJS, combined with content and questions!
It's adaptable for any content and design, and of course, for any language!

Pacman Online - ZIMJS

3 Likes

Nice that works very well!

1 Like

Wauuw .. so cool!
can you make it in English also?


and maybe as a zapp :slight_smile:

for any content and design, and of course, for any language!

1 Like

I am late-- but this is epic! One thing i'd suggest is maybe adding other languages, but cool!

2 Likes

Thanks!
We are creating English versions of all our games right now.
Hopefully it will be up soon.

3 Likes

How is the English version?
I found this pacman game on github.. do you have less code?
https://github.com/daleharvey/pacman

We wrote our code from scratch so i dont have less code.

pacman.zip (67.7 KB)
Hello @karelrosseel82 . I recently made the pacman game with ZIM. But I didn't use it because I was afraid of copyrights. Some places in the zip file are named in Turkish. You can use chatgpt to figure out the logic.

1 Like


I made the map of the game here according to my own ideas. To change it, play with the values ​​in the layout array.

1 Like

Waauw @danzen and @Ferudun I got it almost working.. searhing for an S.update() when pac-man hits a ghost.. I had to add some extra S.update codes to animate the scene live.. otherwise I need to scale my browser each time.. but I'm almost finished

can you help me further? I give it dutch text for my kids at school ..
Screenshot 2025-02-13 06.04.01
super fun! what a difficult code!
thanks to share!
GreetZ Karel

I also have the cat mouse version

2 Likes

Kids loved it
But found bug .. so when pressing long on the arrows pacman goes faster , should be staying same value.. any idea how to solve?

1 Like

Maybe try an interval - on mousedown or if using arrows on keydown and clear it on pressup or keyup. Put the movement code in the interval and start the interval right away.

let id;
leftArrow.on("mousedown", ()=>{
  if (id) id.clear();
  id=interval(.5, ()=>{do move}, null, true); // true for immediate
});
leftArrow.on("pressup", ()=>{
  if (id) id.clear();
  id=null;
});

I found also
https://dersekranda.com/veriler/dersekranda2Sinif/assetsDosyalar/etkinlikler/carpmaIslemi/fareOyunu/index.html?v=202606250322

1 Like