UNPKG

bp-space-invaders

Version:
31 lines 5.68 kB
export class MoonService { constructor(ctx, boundary) { this.ctx = ctx; this.boundary = boundary; this.leftBoundary = this.boundary.x + 40; this.rightBoundary = this.boundary.width - 80 + this.leftBoundary; this.boundaryStakeWidth = 5; this.boundaryStakeHeight = this.boundary.height / 2; } drawTheMoon() { this.ctx.fillStyle = 'rgba(34, 65, 4)'; this.ctx.fillRect(this.boundary.x, this.boundary.y, this.boundary.width, this.boundary.height); this.ctx.fillStyle = 'rgba(8, 136, 23)'; this.ctx.fillRect(this.leftBoundary - this.boundaryStakeWidth, this.boundary.y, this.boundaryStakeWidth, this.boundaryStakeHeight); this.ctx.fillStyle = 'rgba(200, 95, 36)'; this.ctx.fillRect(this.rightBoundary, this.boundary.y, this.boundaryStakeWidth, this.boundaryStakeHeight); } animate() { this.drawTheMoon(); } getMoonTop() { return this.boundary.y; } getMoonLeftBoundary() { return this.leftBoundary - 1; } getMoonRightBoundary() { return this.rightBoundary + 1; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9vbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc3BhY2UtaW52YWRlcnMvc3JjL2xpYi9zZXJ2aWNlL21vb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFLQSxNQUFNLE9BQU8sV0FBVztJQXVCdEIsWUFBb0IsR0FBNkIsRUFBVSxRQUE0QjtRQUFuRSxRQUFHLEdBQUgsR0FBRyxDQUEwQjtRQUFVLGFBQVEsR0FBUixRQUFRLENBQW9CO1FBQ3JGLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDbEUsSUFBSSxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFLRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsaUJBQWlCLENBQUM7UUFDdkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUvRixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxrQkFBa0IsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FDZixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQ2YsSUFBSSxDQUFDLGtCQUFrQixFQUN2QixJQUFJLENBQUMsbUJBQW1CLENBQ3pCLENBQUM7UUFFRixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVMsR0FBRyxtQkFBbUIsQ0FBQztRQUN6QyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBS00sT0FBTztRQUNaLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBS00sVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDekIsQ0FBQztJQUtNLG1CQUFtQjtRQUN4QixPQUFPLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFLTSxvQkFBb0I7UUFDekIsT0FBTyxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsQ0FBQztJQUNoQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCb3VuZGFyeVNldHVwTW9kZWwgfSBmcm9tICcuLi9tb2RlbC9ib3VuZGFyeS1zZXQubW9kZWwnO1xuXG4vKipcbiAqIFRoZSBNb29uIHNlcnZpY2VcbiAqL1xuZXhwb3J0IGNsYXNzIE1vb25TZXJ2aWNlIHtcbiAgLyoqXG4gICAqIHRoZSBsZWZ0IGJvdW5kYXJ5XG4gICAqL1xuICBwcml2YXRlIGxlZnRCb3VuZGFyeTogbnVtYmVyO1xuICAvKipcbiAgICogdGhlIHJpZ2h0IGJvdW5kYXJ5XG4gICAqL1xuICBwcml2YXRlIHJpZ2h0Qm91bmRhcnk6IG51bWJlcjtcbiAgLyoqXG4gICAqIHRoZSBib3VuZGFyeSBzdGFrZSBzaXplXG4gICAqL1xuICBwcml2YXRlIGJvdW5kYXJ5U3Rha2VXaWR0aDogbnVtYmVyO1xuICAvKipcbiAgICogdGhlIGJvdW5kYXJ5IHN0YWtlIEhlaWdodFxuICAgKi9cbiAgcHJpdmF0ZSBib3VuZGFyeVN0YWtlSGVpZ2h0OiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgY29uc3RydWN0b3JcbiAgICpcbiAgICogQHBhcmFtIGN0eCBUaGUgQ1RYXG4gICAqIEBwYXJhbSBib3VuZGFyeVNldFVwIFRoZSBCb3VuZGFyeSBTZXQgdXBcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY3R4OiBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQsIHByaXZhdGUgYm91bmRhcnk6IEJvdW5kYXJ5U2V0dXBNb2RlbCkge1xuICAgIHRoaXMubGVmdEJvdW5kYXJ5ID0gdGhpcy5ib3VuZGFyeS54ICsgNDA7XG4gICAgdGhpcy5yaWdodEJvdW5kYXJ5ID0gdGhpcy5ib3VuZGFyeS53aWR0aCAtIDgwICsgdGhpcy5sZWZ0Qm91bmRhcnk7XG4gICAgdGhpcy5ib3VuZGFyeVN0YWtlV2lkdGggPSA1O1xuICAgIHRoaXMuYm91bmRhcnlTdGFrZUhlaWdodCA9IHRoaXMuYm91bmRhcnkuaGVpZ2h0IC8gMjtcbiAgfVxuXG4gIC8qKlxuICAgKiBEcmF3IHRoZSBtb29uXG4gICAqL1xuICBkcmF3VGhlTW9vbigpOiB2b2lkIHtcbiAgICB0aGlzLmN0eC5maWxsU3R5bGUgPSAncmdiYSgzNCwgNjUsIDQpJztcbiAgICB0aGlzLmN0eC5maWxsUmVjdCh0aGlzLmJvdW5kYXJ5LngsIHRoaXMuYm91bmRhcnkueSwgdGhpcy5ib3VuZGFyeS53aWR0aCwgdGhpcy5ib3VuZGFyeS5oZWlnaHQpO1xuXG4gICAgdGhpcy5jdHguZmlsbFN0eWxlID0gJ3JnYmEoOCwgMTM2LCAyMyknOyAvLyAgR3JlZW5cbiAgICB0aGlzLmN0eC5maWxsUmVjdChcbiAgICAgIHRoaXMubGVmdEJvdW5kYXJ5IC0gdGhpcy5ib3VuZGFyeVN0YWtlV2lkdGgsXG4gICAgICB0aGlzLmJvdW5kYXJ5LnksXG4gICAgICB0aGlzLmJvdW5kYXJ5U3Rha2VXaWR0aCxcbiAgICAgIHRoaXMuYm91bmRhcnlTdGFrZUhlaWdodFxuICAgICk7XG5cbiAgICB0aGlzLmN0eC5maWxsU3R5bGUgPSAncmdiYSgyMDAsIDk1LCAzNiknOyAvLyBMaWdodCBPcmFuZ2VcbiAgICB0aGlzLmN0eC5maWxsUmVjdCh0aGlzLnJpZ2h0Qm91bmRhcnksIHRoaXMuYm91bmRhcnkueSwgdGhpcy5ib3VuZGFyeVN0YWtlV2lkdGgsIHRoaXMuYm91bmRhcnlTdGFrZUhlaWdodCk7XG4gIH1cblxuICAvKipcbiAgICogQW5pbWF0ZSB0aGUgaW52YXNpb25cbiAgICovXG4gIHB1YmxpYyBhbmltYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZHJhd1RoZU1vb24oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG1vb25Ub3BcbiAgICovXG4gIHB1YmxpYyBnZXRNb29uVG9wKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuYm91bmRhcnkueTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGxlZnQgYm91bmRhcnlcbiAgICovXG4gIHB1YmxpYyBnZXRNb29uTGVmdEJvdW5kYXJ5KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMubGVmdEJvdW5kYXJ5IC0gMTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgdGhlIHJpZ2h0IGJvdW5kYXJ5XG4gICAqL1xuICBwdWJsaWMgZ2V0TW9vblJpZ2h0Qm91bmRhcnkoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5yaWdodEJvdW5kYXJ5ICsgMTtcbiAgfVxufVxuIl19