aboutsummaryrefslogtreecommitdiffstats
path: root/src/drawables
diff options
context:
space:
mode:
authorMaksymilian Jopek <maks@jopek.eu>2022-06-02 23:13:07 +0200
committerMaksymilian Jopek <maks@jopek.eu>2022-06-02 23:16:33 +0200
commitb4defa324a330217f0139f1240bcf53c0b1f996a (patch)
treedeabb94fd351b10d3d6b38d967424149536b3927 /src/drawables
parentef76266d1a61c02f1721efedc830fab12279d2b9 (diff)
download1942-b4defa324a330217f0139f1240bcf53c0b1f996a.tar.gz
1942-b4defa324a330217f0139f1240bcf53c0b1f996a.tar.zst
1942-b4defa324a330217f0139f1240bcf53c0b1f996a.zip
v1.0.0
Diffstat (limited to 'src/drawables')
-rw-r--r--src/drawables/AnimStart.ts2
-rw-r--r--src/drawables/Background.ts3
-rw-r--r--src/drawables/Bullet.ts1
-rw-r--r--src/drawables/Powerup.ts14
-rw-r--r--src/drawables/Startscreen.ts4
-rw-r--r--src/drawables/TopBar.ts23
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)
+ });
+ }
}
}