вторник, 3 сентября 2013 г.

Chess on JS, warior class

Всем привет. Продолжаем о шахматах.
Мною был написан класс "пешка" и создано правило движения: - одна клетка вперед. При организации логики, возникла следующая проблема. Нужно было написать универсальный метод/функцию которая бы выполняла ход фигуры. Так же нужна была проверка, можно ли фигуре ходить в заданную клетку, в случае неправильного хода, возвращать фигуру назад.
Рассматривалось несколько вариантов, от создания объекта под каждую фигуру и в свойствах хранить все возможные варианты до создания класса описывающего основные свойства фигуры. Такие как старое местоположение, новое местоположение и метод возвращающий массив с координатами "разрешенных" для хода клеток из старой позиции. На этом варианте я и остановился. Возможно это и ошибочный путь, время покажет.

Вот собственно и код с описанием.

/*

* класс пешка, с методом стандартного хода

*/

var wariorClass = function(old_pos, new_pos) {

    this.old_pos = old_pos;
    this.new_pos = new_pos;

    this.getStdMove = function () {
        var alfa = this.old_pos[0],
            num = this.old_pos[1];

        return [alfa + ( parseInt(num)+1)];
    };
}

Весь код целиком вы как обычно можете посмотреть на https://github.com/Fariah/chess

Комментариев нет:

Отправить комментарий