Показать сообщение отдельно
  #10 (permalink)  
Старый 07.05.2017, 20:37
Кандидат Javascript-наук
Отправить личное сообщение для yaparoff Посмотреть профиль Найти все сообщения от yaparoff
 
Регистрация: 26.04.2016
Сообщений: 106

Сообщение от Rise Посмотреть сообщение
но там достаточно доходчиво и интересно написано
Как сделать собственную реализацию этого куска кода:
(о нем здесь написано)
Копировать нельзя
function Vector(x, y) {
  this.x = x;
  this.y = y;
}
Vector.prototype.plus = function(other) {
  return new Vector(this.x + other.x, this.y + other.y);
};

var grid = ["top left",    "top middle",    "top right",
            "bottom left", "bottom middle", "bottom right"];

function Grid(width, height) {
  this.space = new Array(width * height);
  this.width = width;
  this.height = height;
}
Grid.prototype.isInside = function(vector) {
  return vector.x >= 0 && vector.x < this.width &&
         vector.y >= 0 && vector.y < this.height;
};
Grid.prototype.get = function(vector) {
  return this.space[vector.x + this.width * vector.y];
};
Grid.prototype.set = function(vector, value) {
  this.space[vector.x + this.width * vector.y] = value;
};

var grid = new Grid(5, 5);
grid.set(new Vector(1, 1), "X");
console.log(grid.get(new Vector(1, 1)));

Последний раз редактировалось yaparoff, 07.05.2017 в 20:51.
Ответить с цитированием