fork download
  1. > if (x === 0 || x === (this.width + 1) || y === 0 || y == (this.height + 1)) {
  2.  
  3. Не понимаю, зачем так сложно делать? Зачем лишние ячейки? Костыли какие-то? Тогда лучше сделать правильно.
  4.  
  5. > Field.prototype.getCell
  6. > Field.prototype.getCoorByCell
  7. Тут копипаста, надо избавиться от нее. Алсо, я подумал, а не проще при создании ячейки передавать ей ее координаты? Тогда цикл вообще не нужен будет.
  8.  
  9. > pos1, pos2
  10. Неудобные названия, лучше x/y или posX/posY
  11.  
  12. > if (cell.hasMine === true) {
  13. > td.innerHTML = '<span>☢</span>';
  14. Не очень правильно с точки зр. ООП. Почему поле лезет внутрь ячейки? Надо просто написать
  15.  
  16. cell.showMine();
  17.  
  18. Если в клетке 0 мин, надо автоматически открывать соседние.
  19.  
  20. Черные цифры плохо видны на темном фоне.
  21.  
  22. В окошке о проигрыше надо кнопку перезапуска игры.
  23.  
  24. Надо бы сделать проверку на выигрыш.
  25.  
  26. Окно удобнее создавать не через кучу createElement, а из html-шаблона. Шаблон можно хранить прямо в HTML: http://l...content-available-to-author-only...t.ru/templates#хранение-шаблона-в-документе
Success #stdin #stdout 0.01s 20520KB
stdin
Standard input is empty
stdout
>  if (x === 0 || x === (this.width + 1) || y === 0 || y == (this.height + 1)) {

Не понимаю, зачем так сложно делать? Зачем лишние ячейки? Костыли какие-то? Тогда лучше сделать правильно.

> Field.prototype.getCell 
> Field.prototype.getCoorByCell 
Тут копипаста, надо избавиться от нее. Алсо, я подумал, а не проще при создании ячейки передавать ей ее координаты? Тогда цикл вообще не нужен будет.

> pos1, pos2
Неудобные названия, лучше x/y или posX/posY

> if (cell.hasMine === true) {
>    td.innerHTML = '<span>☢</span>';
Не очень правильно с точки зр. ООП. Почему поле лезет внутрь ячейки? Надо просто написать

cell.showMine();

Если в клетке 0 мин, надо автоматически открывать соседние.

Черные цифры плохо видны на темном фоне.

В окошке о проигрыше надо кнопку перезапуска игры.

Надо бы сделать проверку на выигрыш.

Окно удобнее создавать не через кучу createElement, а из html-шаблона. Шаблон можно хранить прямо в HTML: http://l...content-available-to-author-only...t.ru/templates#хранение-шаблона-в-документе