8 / 8 / 2
Регистрация: 16.03.2011
Сообщений: 257
|
|
1 | |
Как узнать, является ли заданная шахматная фигура Королем?15.04.2014, 01:34. Просмотров 667. Ответов 10
Метки нет Все метки)
(
Есть класс Chessman (шахматная фигура). От нее наследуются классы фигур Pawn, King, Queen и тд. Есть доска - двумерный массив из Chessman-ов.
Вопрос: Как узнать, является ли данная фигура допустим Королем? Пусть: Brd - доска Brd[x,y] - Нужный мне Chessman kng - переменная типа King Надо определить является ли фигура с координатами x,y королем. Спасибо за внимание.
0
|
|
15.04.2014, 01:34 | |
Проверить, является ли заданная фигура прямоугольником
Шахматная фигура конь
|
|
2138 / 1275 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
|
|
15.04.2014, 01:48 | 2 |
лучше сделать перечисление с именами фигур . и каждому классу призначить свое перечисление. или дополнительное поле имени фигуры. ( с перечислениями просто удобнее)
а так чтобы узнать какой тип объекта юзаем - GetType() Добавлено через 1 минуту и кстати зачем ? у объекта только нужно поле которое задает внешнйи вид фигуре (ссылка на картинку например ) а все остальное разруливается с полиморфизмом
1
|
152 / 144 / 73
Регистрация: 03.03.2014
Сообщений: 368
|
|||||||||||||||||||||
15.04.2014, 03:40 | 3 | ||||||||||||||||||||
fenix117, Я бы сделал так:
Классы Фигуры, Короля, Пешки и тд. Кликните здесь для просмотра всего текста
Класс шахматной доски с требуемым методом Кликните здесь для просмотра всего текста
Проверка Кликните здесь для просмотра всего текста
Если лень разбираться в моем г-коде
2
|
8 / 8 / 2
Регистрация: 16.03.2011
Сообщений: 257
|
|||||||||||||||||||||
15.04.2014, 14:38 [ТС] | 4 | ||||||||||||||||||||
С GetType у меня так ничего не получилось. Пытался делать так :
Думал что решил проблему сравнением картинки фигуры:
Сделал так: В базовый класс фигуры добавил:
Это у меня г-код)) Эх, Мне бы почитать пару книг по ООП и шарпу, и я бы не создавал подобных тем...Какой же я ленивый
0
|
2138 / 1275 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
|
|
15.04.2014, 14:48 | 5 |
fenix117, сделайте дружественное имя ( в каждом классе ) файла который отвечает за отображение фигуры(имя картинки) .
это ж вы раньше тему создавали . я писал как лучше по оопешному сделать
1
|
459 / 420 / 117
Регистрация: 05.01.2010
Сообщений: 1,785
|
||||||
15.04.2014, 14:58 | 6 | |||||
применительно к 1 сообщению... я может чего то путаю, но нельзя было разве сделать как-то так?
1
|
8 / 8 / 2
Регистрация: 16.03.2011
Сообщений: 257
|
|
15.04.2014, 15:11 [ТС] | 7 |
Блин, вот как то так я и хотел с самого начала написать, но я оставлю так как сделал
0
|
1053 / 860 / 195
Регистрация: 31.03.2010
Сообщений: 2,521
|
|
15.04.2014, 15:16 | 8 |
fenix117, а зачем нам узнавать тип фигуры. у Chessman делаем виртуальные(абстрактные) методы, реальные фигуры загоняем в список(массив) Chessman и радуемся плюшкам ООП в виде полиморфизма(вызываем виртуальный(абстрактный) метод базового класса, а вместо него вызывается определенный перегруженный метод класса-наследника)
1
|
8 / 8 / 2
Регистрация: 16.03.2011
Сообщений: 257
|
|
15.04.2014, 16:21 [ТС] | 9 |
По сути я так и делаю, просто для большинства фигур мне надо знать, можно ее бить или нельзя (а нельзя бить только короля).
0
|
459 / 420 / 117
Регистрация: 05.01.2010
Сообщений: 1,785
|
|
15.04.2014, 17:04 | 10 |
а вообще, что вы хотите сделать?
0
|
8 / 8 / 2
Регистрация: 16.03.2011
Сообщений: 257
|
|
15.04.2014, 17:12 [ТС] | 11 |
...шахматы)
если серьезно, не понял вопроса, проблему, описанную выше уже решил, всем огромное спасибо!
0
|
15.04.2014, 17:12 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Определить класс «Шахматная фигура» и производные классы «Ферзь» Определить, бьет ли одна шахматная фигура другую сейчас или на следующем ходу
Программа для нахождения количества шагов которых может сделать шахматная фигура конь Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |