Задать вопрос
@skuvaWeb

Как правильно использовать es6 классы в моём случае?

Моя цель, создать карточную игру "найди пару".
Я создаю и описываю класс, который отвечает за игровое поле
class Game{
	constructor(numberOfCart) {
		this.numberOfCart = numberOfCart;
	}

	// мои методы
}

Так же я создаю класс, который описывает состояние отдельной карты (количество карт выбирается игроком, и может быть например от 4 до 32)
class GameCart {
	constructor(args) {
		this._open = false;
	}

	// methods
}

То есть, при запуске игры, я создам n карт. Но как связать каждую карту со своим отдельным классом? Как вызвать конструктор n раз? Мне придется создавать до 32 переменных? Подскажите, какой правильный подход, может я вообще не туда думаю
  • Вопрос задан
  • 183 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
const types = [ '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A' ];
const suits = [ 'diamonds', 'clubs', 'hearts', 'spades' ];

////////////////////

class Card {
  constructor (type, suit) {
    this.type = type;
    this.suit = suit;
  } 
}

////////////////////

class Deck {

  constructor () {
    this.cards = [];

    for (const type of types) {
      for (const suit of suits) {
        this.cards.push(
          new Card(type, suit)
        );
      }
    }
  }

}

////////////////////

const cards = new Deck().cards;
Ответ написан
Комментировать
webinar
@webinar
Учим yii: https://youtu.be/-WRMlGHLgRg
Я так понимаю Вам нужен объект Колода, который содержит n экземпляров класса Карта и который формируется в объекте Game
Ответ написан
@skuvaWeb Автор вопроса
Вот что я имел в виду, только в стиле ООП
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы