diff options
Diffstat (limited to 'src/drawables')
| -rw-r--r-- | src/drawables/AnimStart.ts | 2 | ||||
| -rw-r--r-- | src/drawables/Background.ts | 3 | ||||
| -rw-r--r-- | src/drawables/Bullet.ts | 1 | ||||
| -rw-r--r-- | src/drawables/Powerup.ts | 14 | ||||
| -rw-r--r-- | src/drawables/Startscreen.ts | 4 | ||||
| -rw-r--r-- | src/drawables/TopBar.ts | 23 |
6 files changed, 39 insertions, 8 deletions
diff --git a/src/drawables/AnimStart.ts b/src/drawables/AnimStart.ts index b855b25..fff48e8 100644 --- a/src/drawables/AnimStart.ts +++ b/src/drawables/AnimStart.ts @@ -3,7 +3,7 @@ import Drawable from "../Drawable"; import { IMGS } from "../Images"; export default class AnimStart extends Drawable { - i = 0; + i = 1; draw(): boolean { try { ctx.drawImage(IMGS.start[this.i], 0, TOPBAR_HEIGHT); diff --git a/src/drawables/Background.ts b/src/drawables/Background.ts index 622a608..f6c4cec 100644 --- a/src/drawables/Background.ts +++ b/src/drawables/Background.ts @@ -10,10 +10,11 @@ export class Background extends Drawable { super(0, 0) } // delta = -1751 + 24 + 2693; - delta = 2500 + delta = 0 move() { if (this.delta + 1 > 2580) return true this.delta += 1; + return true; } draw() { diff --git a/src/drawables/Bullet.ts b/src/drawables/Bullet.ts index f121cfa..6420db2 100644 --- a/src/drawables/Bullet.ts +++ b/src/drawables/Bullet.ts @@ -18,7 +18,6 @@ export default class Bullet extends Drawable { this.width = (this.sprite as HTMLImageElement).width this.height = (this.sprite as HTMLImageElement).height this.squares = [new Rectangle(this)] - console.log(this.width, this.height); } move(): boolean { diff --git a/src/drawables/Powerup.ts b/src/drawables/Powerup.ts new file mode 100644 index 0000000..af4df05 --- /dev/null +++ b/src/drawables/Powerup.ts @@ -0,0 +1,14 @@ +import Drawable, { Rectangle } from "../Drawable"; +import { IMGS } from "../Images"; + +export default class Powerup extends Drawable { + sprite = IMGS.powerup + width = IMGS.powerup.width + height = IMGS.powerup.height + squares: Rectangle[] = [new Rectangle(this)] + + move() { + this.y += 1 + return this.isOutsideMap() + } +} diff --git a/src/drawables/Startscreen.ts b/src/drawables/Startscreen.ts index 91f7405..0756fd3 100644 --- a/src/drawables/Startscreen.ts +++ b/src/drawables/Startscreen.ts @@ -31,10 +31,11 @@ export default class Startscreen extends Drawable { if (i === 0) place = "top"; else if (i === 1) place = "2nd"; else if (i === 2) place = "3rd"; - else place = i + "th"; + else place = (i + 1) + "th"; chars.push([...place.split(''), ' ', ...score.score.padStart(7, '0').split(''), ' ', ...score.name, ' ', ...score.world.split('')]) } + if (this.si !== 0 && this.show0 !== true) { let x = 17, y = 40; for (const char of chars) { @@ -67,7 +68,6 @@ export default class Startscreen extends Drawable { } else { //@ts-expect-error this.sprite = IMGS["startScreen" + this.si]; - console.log("startScreen" + this.si); // if (this.i++ === 2) { if (this.i++ === 9) { diff --git a/src/drawables/TopBar.ts b/src/drawables/TopBar.ts index d92db07..4bd525a 100644 --- a/src/drawables/TopBar.ts +++ b/src/drawables/TopBar.ts @@ -10,13 +10,17 @@ export class TopBar extends Drawable { lives = 0; rolls = 0; highscore = 0; + shootedDown = 0; + bgd = 0; constructor() { super(0, 0) } - setData(score: number, lives: number, rolls: number, highscore?: number | string) { + setData(score: number, lives: number, rolls: number, bgd: number, shootedDown: number, highscore?: number | string) { this.score = score this.lives = lives this.rolls = rolls + this.bgd = bgd + this.shootedDown = shootedDown if (highscore) { if (typeof highscore === "string") highscore = parseInt(highscore) this.highscore = highscore @@ -26,7 +30,6 @@ export class TopBar extends Drawable { if (this.sprite.src == null) this.sprite = IMGS.topbar; ctx.drawImage(this.sprite, 0, 0); [...this.score.toString().padStart(7, '0')].forEach((char, i) => { - ctx.imageSmoothingEnabled = false ctx.drawImage(IMGS.font.small.white[char], 24 + i * 8, 8) }); for (let i = 0; i < this.lives; i++) { @@ -36,9 +39,23 @@ export class TopBar extends Drawable { ctx.drawImage(IMGS.rollIcon, 177 + i * 8, 9) } [...this.highscore.toString().padStart(7, '0')].forEach((char, i) => { - ctx.imageSmoothingEnabled = false ctx.drawImage(IMGS.font.small.white[char], 240 + i * 8, 8) }); + if (this.bgd >= 2580) { + // 9 41 + [..."shooting down ".split(''), ...(this.shootedDown / 32).toFixed(0).toString().padStart(3, '0').split(''), '%'].forEach((char, i) => { + ctx.drawImage(IMGS.font.white[char], 9 + i * 17, 41, 15, 8) + }); + [..."bonus".split('')].forEach((char, i) => { + ctx.drawImage(IMGS.font.white[char], 110 + i * 17, 94, 15, 8) + }); + [...(this.lives * 500).toString().padStart(5, '0'), ..." pts".split('')].forEach((char, i) => { + ctx.drawImage(IMGS.font.white[char], 77 + i * 17, 108, 15, 8) + }); + [...'rx1000=', ...(this.rolls * 1000).toString().padStart(4, '0'), ..." pts"].forEach((char, i) => { + ctx.drawImage(IMGS.font.yellow[char], 43 + i * 17, 147, 15, 8) + }); + } } } |
