Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
1 / 1 / 0
Регистрация: 18.04.2021
Сообщений: 3

Все фигуры на доске

18.04.2021, 20:46. Показов 3597. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Переработайте приведённую в уроке программу «шахматы» таким образом, чтобы фигуры (за исключением коня) не могли ходить друг сквозь друга.

Расставьте фигуры как при начале шахматной партии и проверьте, что они могут ходить правильно и не могут ходить неправильно.

Плюсом будет, если вы реализуете возможность взятия фигуры противника, но это не обязательно.

Программа не проверяется с помощью автоматического тестирования.
Преподаватель будет вручную оценивать программу по правильности работы, чистоте кода и разумности проектирования.
Конь:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
def correct_coords(row, col):
    return 0 <= row < 8 and 0 <= col < 8
 
 
class Knight:
    def __init__(self, row, col, color):
        self.row = row
        self.col = col
        self.color = color
 
    def set_position(self, row, col):
        self.row = row
        self.col = col
 
    def char(self):
        return 'N'
 
    def get_color(self):
        return self.color
 
    def can_move(self, row, col):
        if not correct_coords(row, col):
            return False
 
        delta_row = abs(self.row - row)
        delta_col = abs(self.col - col)
 
        if max(delta_row, delta_col) == 2 and min(delta_row, delta_col) == 1:
            return True
 
        return False
Слон:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
def correct_coords(row, col):
    return 0 <= row < 8 and 0 <= col < 8
 
 
class Bishop:
    def __init__(self, row, col, color):
        self.row = row
        self.col = col
        self.color = color
 
    def set_position(self, row, col):
        self.row = row
        self.col = col
 
    def char(self):
        return 'B'
 
    def get_color(self):
        return self.color
 
    def can_move(self, row, col):
        if not correct_coords(row, col):
            return False
 
        if abs(self.row - row) == abs(self.col - col):
            return True
 
        return False
Ферзь:
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
def correct_coords(row, col):
    return 0 <= row < 8 and 0 <= col < 8
 
 
class Queen:
    def __init__(self, row, col, color):
        self.row = row
        self.col = col
        self.color = color
 
    def set_position(self, row, col):
        self.row = row
        self.col = col
 
    def char(self):
        return 'Q'
 
    def get_color(self):
        return self.color
 
    def can_move(self, row, col):
        if not correct_coords(row, col):
            return False
 
        if abs(self.row - row) == abs(self.col - col):
            return True
 
        if self.row == row or self.col == col:
            return True
 
        return False
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.04.2021, 20:46
Ответы с готовыми решениями:

Все фигуры на доске
Переработайте приведённую в уроке программу «шахматы» таким образом, чтобы фигуры (за исключением коня) не могли ходить друг сквозь друга. ...

Все фигуры на доске
Переработайте приведённую в уроке программу «шахматы» таким образом, чтобы фигуры (за исключением коня) не могли ходить друг сквозь друга. ...

Фигуры на шахматной доске
Задача: Написать программу шахмат, для двух игроков, забирание фигуры не делать. Я написал программу шахмат с классами и фигурами,...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.04.2021, 20:46
Помогаю со студенческими работами здесь

Заданы координаты короля и ладьи на шахматной доске определить бьют ли фигуры друг друга
заданы координаты короля и ладьи на шахматной доске определить бьют ли фигуры друг друга весь код в pithon

Все фигуры на доске
Все фигуры на доске Дополнительные задачи макс. 100 балл. Дедлайн: 10 мая 23:30 Ограничение времени 1 секунда Ограничение...

Все фигуры на доске
Переработайте приведённую в уроке программу «шахматы» таким образом, чтобы фигуры (за исключением коня) не могли ходить друг сквозь друга. ...

Положение фигуры на доске и все клетки, которые фигура бьёт
4. На шахматной доске стоит конь или ферзь. Отметьте положение фигуры на доске и все клетки, которые бьёт фигура. Клетку, где стоит конь...

Разместить на доске минимальное количество слонов так чтобы все фигуры противника находились «под боем»
На шахматной доске имеется N фигур противника. Разместить на ней минимальное количество слонов так, чтобы все фигуры противника...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru