mirror of
https://github.com/He4eT/DotDashPit.git
synced 2026-05-04 17:37:23 +00:00
game: extract types
This commit is contained in:
parent
cd6ac763f7
commit
b41c0c4a4f
1 changed files with 38 additions and 43 deletions
81
game.js
81
game.js
|
|
@ -23,26 +23,6 @@ let currentStage = 'mainMenu'
|
||||||
|
|
||||||
/* State */
|
/* State */
|
||||||
|
|
||||||
/**
|
|
||||||
* @typedef {{ x: number, y: number }} Point
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @typedef {{ x: number, y: number }} Point
|
|
||||||
*
|
|
||||||
* @typedef {{
|
|
||||||
* screenPosition: Point,
|
|
||||||
* bounds: {
|
|
||||||
* top: number,
|
|
||||||
* right: number,
|
|
||||||
* bottom: number,
|
|
||||||
* left: number,
|
|
||||||
* },
|
|
||||||
* spriteHalfSize: number,
|
|
||||||
* wave: number,
|
|
||||||
* }} Arena
|
|
||||||
*/
|
|
||||||
|
|
||||||
/** @type {Arena} */
|
/** @type {Arena} */
|
||||||
let arena = {
|
let arena = {
|
||||||
screenPosition: {
|
screenPosition: {
|
||||||
|
|
@ -59,13 +39,6 @@ let arena = {
|
||||||
wave: 0,
|
wave: 0,
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @typedef {{
|
|
||||||
* sprite: number,
|
|
||||||
* speed: number,
|
|
||||||
* position: Point,
|
|
||||||
* }} Player
|
|
||||||
*/
|
|
||||||
/** @type {Player} */
|
/** @type {Player} */
|
||||||
let player = {
|
let player = {
|
||||||
sprite: 64,
|
sprite: 64,
|
||||||
|
|
@ -76,25 +49,9 @@ let player = {
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @typedef {{
|
|
||||||
* type: keyof typeof enemyBehaviors,
|
|
||||||
* positions: Point[],
|
|
||||||
* letter: string,
|
|
||||||
* dangerZone: number,
|
|
||||||
* }} Enemy
|
|
||||||
*/
|
|
||||||
/** @type {Enemy[]} */
|
/** @type {Enemy[]} */
|
||||||
let enemies = []
|
let enemies = []
|
||||||
|
|
||||||
/**
|
|
||||||
* @typedef {{
|
|
||||||
* type: keyof typeof effectHandlers
|
|
||||||
* from: Point,
|
|
||||||
* to: Point,
|
|
||||||
* frames: number[],
|
|
||||||
* }} Effect
|
|
||||||
*/
|
|
||||||
/** @type {Effect[]} */
|
/** @type {Effect[]} */
|
||||||
let effects = []
|
let effects = []
|
||||||
|
|
||||||
|
|
@ -450,6 +407,44 @@ const [BTN_U, BTN_D, BTN_L, BTN_R, BTN_A, BTN_B, BTN_X, BTN_Y] = [
|
||||||
...Array(8).keys(),
|
...Array(8).keys(),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
/* Types */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @typedef {{ x: number, y: number }} Point
|
||||||
|
*
|
||||||
|
* @typedef {{
|
||||||
|
* screenPosition: Point,
|
||||||
|
* bounds: {
|
||||||
|
* top: number,
|
||||||
|
* right: number,
|
||||||
|
* bottom: number,
|
||||||
|
* left: number,
|
||||||
|
* },
|
||||||
|
* spriteHalfSize: number,
|
||||||
|
* wave: number,
|
||||||
|
* }} Arena
|
||||||
|
*
|
||||||
|
* @typedef {{
|
||||||
|
* sprite: number,
|
||||||
|
* speed: number,
|
||||||
|
* position: Point,
|
||||||
|
* }} Player
|
||||||
|
*
|
||||||
|
* @typedef {{
|
||||||
|
* type: keyof typeof enemyBehaviors,
|
||||||
|
* positions: Point[],
|
||||||
|
* letter: string,
|
||||||
|
* dangerZone: number,
|
||||||
|
* }} Enemy
|
||||||
|
*
|
||||||
|
* @typedef {{
|
||||||
|
* type: keyof typeof effectHandlers
|
||||||
|
* from: Point,
|
||||||
|
* to: Point,
|
||||||
|
* frames: number[],
|
||||||
|
* }} Effect
|
||||||
|
*/
|
||||||
|
|
||||||
// <TILES>
|
// <TILES>
|
||||||
// 001:1111110012222100123321001233210012222100111111000000000000000000
|
// 001:1111110012222100123321001233210012222100111111000000000000000000
|
||||||
// 002:1111111112222221123333211233332112222221111111110000000000000000
|
// 002:1111111112222221123333211233332112222221111111110000000000000000
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue