Skip to content

После открытия пары клеток закрывать их при открытии третьей. #5

Description

@Kaffeine

@UrFU-Programming/X-Team

План:

  1. Добавить в Cell сигнал cellOpened(Cell *cell).
  2. Испускать сигнал в методе Cell::open().
  3. В Field добавить слот onCellOpened и подключить его к Cell::cellOpened.
  4. Добавить в Field поля Cell *m_firstCell; Cell *m_secondCell.
  5. Добавить в Field пустой слот closeCells().
  6. В слоте onCellOpened проверять firstCell и secondCell. Если первая клетка не задана, то задавать m_firstCell = cell, если вторая клетка не задана, задавать её = Cell. Если обе клетки заданы, вызывать closeCells().
  7. Добавить в слот closeCells() закрытие первой и второй клетки и задание полей-указателей на клетки в nullptr.

Разбейте решение на шесть коммитов (первые два пункта объедините в один коммит).

Информация о метаобъектной системе Qt, сигналах, слотах и свойствах: https://github.com/UrFU-Programming/Mines/wiki/Task#6-qobject-%D1%81%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0-%D1%81%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D1%8B-%D0%B8-%D1%81%D0%BB%D0%BE%D1%82%D1%8B

Спрашивайте, что непонятно.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions