Compare commits

..

5 Commits

7 changed files with 115 additions and 0 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@ -49,6 +49,10 @@
* 44. Stamina filled * 44. Stamina filled
* 45. Stamina empty * 45. Stamina empty
* 46. Fireball * 46. Fireball
* 47. Door_s
* 48. Corner bottom -> left after 16
* 49. Corner right -> bottom before 12
* 50. bottom piece underneath 47
------------------------------------------------------------------- */ ------------------------------------------------------------------- */
module.exports = [ module.exports = [
{ {
@ -286,4 +290,24 @@ module.exports = [
y: 288, y: 288,
walkable: false walkable: false
}, },
{
x: 64,
y: 288,
walkable: true
},
{
x: 96,
y: 288,
walkable: false
},
{
x: 128,
y: 288,
walkable: false
},
{
x: 0,
y: 320,
walkable: false
},
]; ];

40
src/levels/1-1.js Normal file
View File

@ -0,0 +1,40 @@
const tileSize = 32;
let level = {
tiles: [
1, 2, 2, 5, 6,
4, 21, 22, 23, 7,
4, 17, 17, 17, 7,
4, 17, 17, 17, 7,
4, 17, 17, 17, 7,
14, 16, 18, 12, 13,
0, 14, 50, 13, 0,
],
size: {
w: 5 * tileSize,
h: 7 * tileSize
},
startPos: [
{ x: 56, y: 64 }
],
entities: [
{
type: "Chest",
pos: { x: 2 * tileSize, y: 2 * tileSize },
action: (player) => {
player.items.keys.push("1-1_1");
}
},
{
type: "Portal",
pos: { x: 2 * tileSize, y: 5 * tileSize },
texture: "Door_s",
action: (_player, level) => {
level.switch = { module: __dirname + "/1-2.js", pos: 0 };
},
key: "1-1_1"
}
]
};
module.exports = level;

48
src/levels/1-2.js Normal file
View File

@ -0,0 +1,48 @@
const tileSize = 32;
let level = {
tiles: [
1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 5, 6,
4, 21, 22, 23, 21, 22, 23, 21, 22, 23, 21, 22, 23, 21, 22, 23, 21, 22, 23, 21, 22, 23, 21, 22, 23, 21, 22, 23, 21, 7,
4, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 7,
4, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 7,
4, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 7,
4, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 7,
4, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 7,
4, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 7,
4, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 7,
14, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 13
],
size: {
w: 30 * tileSize,
h: 10 * tileSize
},
startPos: [
{ x: 5 * tileSize, y: 3 * tileSize },
{ x: 48, y: 128 }
],
entities: [
{
type: "Mage",
pos: { x: 1 * tileSize, y: 8 * tileSize }
},
{
type: "Chest",
pos: { x: 4 * tileSize, y: 2 * tileSize },
action: (player) => {
player.items.keys.push("1-1_1");
}
},
{
type: "Portal",
pos: { x: 5 * tileSize, y: 1 * tileSize },
texture: "Door_n",
action: (_player, level) => {
level.switch = { module: __dirname + "/1-1.js", pos: 0 };
},
key: "1-1_1"
}
]
};
module.exports = level;

View File

@ -17,6 +17,8 @@ class GameScreen extends Container {
this.keys = keys; this.keys = keys;
this.onGameOver = onGameOver; this.onGameOver = onGameOver;
this.keys.reset();
// Initialise first level 1-1.js at startPosition 0 // Initialise first level 1-1.js at startPosition 0
var player = new Player(keys, window); var player = new Player(keys, window);
@ -75,6 +77,7 @@ class GameScreen extends Container {
this.level = level; this.level = level;
this.stats = stats; this.stats = stats;
this.camera = camera; this.camera = camera;
this.keys.reset();
} }
update(dt, t) { update(dt, t) {