Härom veckan skaffade jag en bok som heter A Software Engineer Learns HTML5, JavaScript & jQuery av Dane Cameron. Boken lär ut allt som behövs för att skapa en ensidesapplikation (Single page application). Mycket kände jag redan till, men en liten uppfräschning är alltid bra.
Något saknas dock i boken; den beskriver inte hur man använder de nya HTML5-taggarna för multimedia, som t.ex canvas. Men w3schools kommer till räddning.
För att träna lite HTML5 skrev jag en PacMan-klon i JavaScript.

Grafiken kommer från en annan PacMan-klon som jag skrev i Delphi på 90-talet. Äta-ljudet hittade jag på nätet nånstans. När PacMan dör skriker han; ljudet är ett uppsnabbat dödsskrik från Doom. Ljudet när PacMan äter ett piller är en inspelning av en knackning på glaset på min gamla 14″ CRT-skärm (som står i källaren).
Som ”A Software Engineer…” påpekar är JavaScript inte ett klassiskt objektorienterat språk. Det bygger på objekt-prototyper och funtionell programmering snarare än klasser. Men eftersom klassisk objektorientering är min grej, låtsas jag att JavaScript är ett klassbaserat språk. Vilket enligt Cameron bara leder till frustration, men det har jag faktiskt inte märkt.
Klasser
| ImageList | Lista av ikoner som ligger i en horisontell bild |
| Board | Innehåller celler av väggar, piller och punkter. |
| Pacman | Representerar vår huvudperson |
| Ghost | Representerar en fiende |
Att göra: Spökena är för närvarande ganska korkade. De slumpvandrar i stället för att jaga efter PacMan. Jag jobbar på en bättre algoritm. Dessutom behöver spelets hastighet snabbas upp efter varje level.