Мастер-классы

на FrontFest

FROM node:8-alpine

EXPOSE 9000

ENV NODE_ENV=development
ENV APP_ENV=development

WORKDIR /src

COPY package.json /src/package.json
COPY package-lock.json /src/package-lock.json

RUN npm install

COPY config /src/config
COPY app.js /src/app.js
COPY app /src/app
COPY util /src/util
COPY openapi.yaml /src/openapi.yaml

CMD ["node", "app.js"]
port: {
    doc: 'port the app is listening on',
    format: 'port',
    default: 9000,
    env: 'PORT',
  },

  mysql: {
    port: {
      format: 'integer',
      default: 3306,
      env: 'MYSQL_PORT',
    }
  }
}

Моё:

Идеал:

const gameLoop = () => {
  requestAnimationFrame(gameLoop);
  ...
  updateAllEntities();
  ...
  cleanupDeadEntities();
}
this.baseFrame = Math.random() * 4;

...

const frame = (gameState.currentTime * 8 + this.baseFrame) & 3;
const i = this.scoreReward ? 
    (1 - Math.min(1, gameState.currentTime - this.creationTime)) ** 2 
    : 0;
const s = 16 + gameState.size * i;
ctx.globalAlpha = 1 - i;
ctx.drawImage(
  gameState.sprites,
  this.sprite * 16, frame * 16, 16, 16,
  Math.round(this.x - s / 2), Math.round(this.y - s / 2), s, s
);

frontfest-at-frbr

By Valeriy Kuzmin

frontfest-at-frbr

  • 588