Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.02.2021, 15:01
Новичок на форуме
Отправить личное сообщение для arthas Посмотреть профиль Найти все сообщения от arthas
 
Регистрация: 19.02.2021
Сообщений: 3

ревью крестики- нолики
Всем привет!

Недавно начал изучать js и программирование в целом.
Написал свою первую программу, крестики и нолики в стиле ООП
Если у кого то есть желание или возможность, просьба указать на ошибки

Ссылка на код на Гитхабе

Заранее спасибо за помощь
Ответить с цитированием
  #2 (permalink)  
Старый 19.02.2021, 15:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 29,819

arthas,
просто для примера ...
крестики нолики на поле любой величины

https://javascript.ru/forum/misc/812...tml#post530163
Ответить с цитированием
  #3 (permalink)  
Старый 19.02.2021, 15:32
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 1,001

Что бы уж было совсем ООП panel тоже надо бы как объект со своим классом.
Какой смысл циклов в функции checkDiagonals?
Зачем в player нужны makeX() и makeO()? Почему нельзя через конструктор?

Ну и лучше сначала заполнить board ячейками, а потом уже засовывать board в dody.
Ответить с цитированием
  #4 (permalink)  
Старый 19.02.2021, 15:51
Новичок на форуме
Отправить личное сообщение для arthas Посмотреть профиль Найти все сообщения от arthas
 
Регистрация: 19.02.2021
Сообщений: 3

Сообщение от voraa Посмотреть сообщение
Что бы уж было совсем ООП panel тоже надо бы как объект со своим классом.
Какой смысл циклов в функции checkDiagonals?
Зачем в player нужны makeX() и makeO()? Почему нельзя через конструктор?

Ну и лучше сначала заполнить board ячейками, а потом уже засовывать board в dody.
Про панель согласен вынесу в отдельный класс, циклы уберу

В классе Player можно и через конструктор, но как тогда ограничить количество возможных игроков( что было только X И O)?

Последнее поправил, спасибо за советы!
Ответить с цитированием
  #5 (permalink)  
Старый 19.02.2021, 17:44
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,464

arthas,
1. Имена классов принято писать с большой буквы.
2. Нет смысла оборачивать свойства в методы getProp1() { return this.prop1 } setProp1(value) { this.prop1 = value }.
Ответить с цитированием
  #6 (permalink)  
Старый 19.02.2021, 19:28
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 1,001

Сообщение от arthas
но как тогда ограничить количество возможных игроков( что было только X И O)?
Да так же, как и сейчас.
Только вместо
let onePlayer = new player();
onePlayer.makeX();
let twoPlayer = new player();
twoPlayer.makeO();
let b = new board(onePlayer, twoPlayer);

Писать что то вроде
let b = new board(new Player('X'), new Player('O'));
Ответить с цитированием
  #7 (permalink)  
Старый 19.02.2021, 22:23
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,432

магический квадрат и крестики нолики на основе собственного велосипедостроения

https://jsfiddle.net/vlasenkofedor/5ad26zc7/
Ответить с цитированием
  #8 (permalink)  
Старый 20.02.2021, 15:39
Новичок на форуме
Отправить личное сообщение для arthas Посмотреть профиль Найти все сообщения от arthas
 
Регистрация: 19.02.2021
Сообщений: 3

Всем спасибо за советы!
Код поправил.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает функция Alanslob Общие вопросы Javascript 4 29.10.2020 03:14
Пасаны, сделайте крестики нолики, пожалуйста. AgressivePi Javascript под браузер 2 21.11.2018 07:49
Пасаны, сделайте крестики нолики, пожалуйста. Задание на картинке AgressivePi Javascript под браузер 1 19.11.2018 10:26
Крестики нолики DivMan Events/DOM/Window 2 30.09.2016 15:37
Сравнение элементов массива по столбцам ghost200607 Общие вопросы Javascript 2 01.07.2014 10:05