Skip to content

Commit 03fc370

Browse files
committed
Prevent default on arrow/pageup/down keys in game chapters
1 parent 2d27720 commit 03fc370

5 files changed

Lines changed: 7 additions & 4 deletions

File tree

16_game.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{meta {load_files: ["code/chapter/16_game.js", "code/levels.js"], zip: "html include=[\"css/game.css\"]"}}}
1+
{{meta {load_files: ["code/chapter/16_game.js", "code/levels.js", "code/_stop_keys.js"], zip: "html include=[\"css/game.css\"]"}}}
22

33
# Project: A Platform Game
44

17_canvas.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
{{meta {load_files: ["code/chapter/16_game.js", "code/levels.js", "code/chapter/17_canvas.js"], zip: "html include=[\"img/player.png\", \"img/sprites.png\"]"}}}
1+
{{meta {load_files: ["code/chapter/16_game.js", "code/levels.js", "code/_stop_keys.js", "code/chapter/17_canvas.js"], zip: "html include=[\"img/player.png\", \"img/sprites.png\"]"}}}
22

33
# Drawing on Canvas
44

code/_stop_keys.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
window.addEventListener("keydown", e => {
2+
if (/Arrow|Home|End|Page/.test(e.key)) e.preventDefault()
3+
})

src/chapter_info.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ function chapterZipFile(meta, chapter) {
189189
if (!chapter.start_code) throw new Error("zip but no start code");
190190
let data = /(\S+)(?:\s+include=(.*))?/.exec(JSON.parse(spec[1]))
191191
let name = "code/chapter/" + chapter.id + ".zip";
192-
let files = (chapter.include || []).concat(data[2] ? JSON.parse(data[2]) : []);
192+
let files = (chapter.include || []).concat(data[2] ? JSON.parse(data[2]) : []).filter(f => !/(^|\/)_/.test(f));
193193
let exists = fs.existsSync(name) && fs.statSync(name).mtime;
194194
if (exists && files.every(file => fs.statSync("html/" + file).mtime < exists))
195195
return name;

src/client/code.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ class CodeSandbox {
170170
})
171171
if (chapter.include) chapter.include.forEach((file, i) => {
172172
if (!i) this.fileInfo.style.display = ""
173-
addItem(this.fileList, file)
173+
if (!/(^|\/)_/.test(file)) addItem(this.fileList, file)
174174
})
175175
this.selectContext(context || "box")
176176
}

0 commit comments

Comments
 (0)