Для читающих. @NONLUCIFER дополняет код который был описан-написан в теме [#4] Пишем игру Backjack (Очко). Колода и ход игрока
Я понимаю вопрос. Я смотрю на него как “целесообразно/нецелесообразно”. Цели сделать самую “легкую” игру у нас нет, а куча файлов с разными именами удобна для работы с ними, именно как ты и сделал с использованием уже существующих данных. Минусов подхода не нашел. Так что подход с кучей файлов целесообразен.
Вижу добавлено
this.renderPlayerHand(card, score);
card тут лишняя. Мы при любом вызове renderPlayerHand
будем заново отрисовывать поле, а данные брать из this.playerHand
.
Со score
вопрос не так однозначен.
Я люблю когда данные явно передаются в функцию потому что это делает отладку простой. Но мы уже начали писать в стиле когда данные берутся из this.X
. Плюс этот счет нужен в нескольких местах. Каждый раз прописывать его вычислением с помощью функции так себе идея. Ради однообразия все что можно взять из this.X
я бы использовал геттер (документация). Не уверен подход он верен для для начинающих джаваскриптеров, хотя просто отлично подходит под нашу конструкцию. Давай сделаем новый геттер войства playerScore
в который прописать всю логику вычисления очков. Его нужно описать до конструктора чтобы читающему было понятно с чем имеется дело. Использование будет выглядеть как просто обращение к свойству. Вопрос производительности вообще не стоит потому что простота кода в данном случае более целесообразна чем быстрота выполнения кода.