ngx-snake
Version:
Snake game as an angular component, its only the core of the game... you need to add everything around it (controls, score...) yourself :)
22 lines • 4.45 kB
JavaScript
import { ChangeDetectionStrategy, Component, Input, ViewEncapsulation } from '@angular/core';
import * as i0 from "@angular/core";
export class TileComponent {
constructor(el, _renderer) {
this.el = el;
this._renderer = _renderer;
}
ngOnInit() {
if (this.state) {
this._renderer.addClass(this.el.nativeElement, this.state);
}
}
}
TileComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TileComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
TileComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: TileComponent, selector: "ngx-snake-tile", inputs: { state: "state" }, ngImport: i0, template: `<div></div>`, isInline: true, styles: ["ngx-snake-tile{display:block;background:#ccf1ed;border:1px solid #4e4645;width:25px;height:25px;float:left;margin:1px;box-sizing:border-box}ngx-snake-tile div{height:100%;width:100%;display:block;background:#ccf1ed}ngx-snake-tile.free div{background:#ccf1ed}ngx-snake-tile.head div{background:#4e6c31}ngx-snake-tile.body div{background:#4e6c31}ngx-snake-tile.tail div{background:#4e6c31}ngx-snake-tile.wall div{background:#C2C3C7}ngx-snake-tile.food{padding:3px}ngx-snake-tile.food div{background:#00E436}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: TileComponent, decorators: [{
type: Component,
args: [{ selector: 'ngx-snake-tile', template: `<div></div>`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: ["ngx-snake-tile{display:block;background:#ccf1ed;border:1px solid #4e4645;width:25px;height:25px;float:left;margin:1px;box-sizing:border-box}ngx-snake-tile div{height:100%;width:100%;display:block;background:#ccf1ed}ngx-snake-tile.free div{background:#ccf1ed}ngx-snake-tile.head div{background:#4e6c31}ngx-snake-tile.body div{background:#4e6c31}ngx-snake-tile.tail div{background:#4e6c31}ngx-snake-tile.wall div{background:#C2C3C7}ngx-snake-tile.food{padding:3px}ngx-snake-tile.food div{background:#00E436}\n"] }]
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { state: [{
type: Input
}] } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc25ha2Uvc3JjL2xpYi9jb21wb25lbnRzL3RpbGUvdGlsZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsS0FBSyxFQUdMLGlCQUFpQixFQUNwQixNQUFNLGVBQWUsQ0FBQzs7QUFVdkIsTUFBTSxPQUFPLGFBQWE7SUFHdEIsWUFDVyxFQUFjLEVBQ2IsU0FBb0I7UUFEckIsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUNiLGNBQVMsR0FBVCxTQUFTLENBQVc7SUFFaEMsQ0FBQztJQUVELFFBQVE7UUFDSixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDWixJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDOUQ7SUFFTCxDQUFDOzswR0FkUSxhQUFhOzhGQUFiLGFBQWEsa0ZBTFosYUFBYTsyRkFLZCxhQUFhO2tCQVB6QixTQUFTOytCQUNJLGdCQUFnQixZQUNoQixhQUFhLGlCQUVSLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU07eUhBR3RDLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT25Jbml0LFxuICAgIFJlbmRlcmVyMixcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7VGlsZVN0YXRlfSBmcm9tICcuLi8uLi9kZWZpbml0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmd4LXNuYWtlLXRpbGUnLFxuICAgIHRlbXBsYXRlOiBgPGRpdj48L2Rpdj5gLFxuICAgIHN0eWxlVXJsczogWycuL3RpbGUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUaWxlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoKSBzdGF0ZTogVGlsZVN0YXRlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHB1YmxpYyBlbDogRWxlbWVudFJlZixcbiAgICAgICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMlxuICAgICkge1xuICAgIH1cblxuICAgIG5nT25Jbml0KCkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5fcmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCB0aGlzLnN0YXRlKTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iXX0=