М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
яяя489
яяя489
28.03.2022 17:33 •  Информатика

Python необходимо добавить в класс board, который в конце урока, метод board.is_under_attack(row, col, color). метод должен возвращать true, если поле с координатами (row, col) находится под боем хотя бы одной фигуры цвета color. такой метод необходим, чтобы запретить ход королём под шах. нужно определить классы knight, bishop, queenи класс board, в который добавлен метод is_under_attack. остальные методы и имена свойств board изменять не нужно.

👇
Ответ:
тамик51
тамик51
28.03.2022

а вообще, нету смысла искать в инете) Прекол лицея именно в самостоятельном решении и получении навыков

Объяснение:

WHITE = 1

BLACK = 2

def opponent(color):

   if color == WHITE:

       return BLACK

   else:

       return WHITE

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 (0 <= row < 8 and 0 <= col < 8):

           return False

       if (abs(self.row - row) == abs(self.col - col)) \

               or (abs(self.row - row) * abs(self.col - col) == 0):

           return True

       return False

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 (0 <= row < 8 and 0 <= col < 8):

           return False

       if abs(self.col - col) * abs(self.row - row) == 2 \

               and self.row != row and self.col != col:

           return True

       return False

class Pawn:

   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 'P'

   def get_color(self):

       return self.color

   def can_move(self, row, col):

       if not (0 <= row < 8 and 0 <= col < 8):

           return False

       if self.col != col:

           return False

       if self.color == WHITE:

           direction = 1

           start_row = 1

       else:

           direction = -1

           start_row = 6

       if self.row + direction == row:

           return True

       if self.row == start_row and self.row + 2 * direction == row:

           return True

       return False

class Rook:

   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 'R'

   def get_color(self):

       return self.color

   def can_move(self, row, col):

       if not (0 <= row < 8 and 0 <= col < 8):

           return False

       if self.row != row and self.col != col:

           return False

       return True

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 (0 <= row < 8 and 0 <= col < 8):

           return False

       if abs(self.row - row) == abs(self.col - col):

           return True

       return False

class Board:

   def __init__(self):

       self.field = []

       for row in range(8):

           self.field.append([None] * 8)

   def current_player_color(self):

       return self.color

   def cell(self, row, col):

       piece = self.field[row][col]

       if piece is None:

           return '  '

       color = piece.get_color()

       c = 'w' if color == WHITE else 'b'

       return c + piece.char()

   def move_piece(self, row, col, row1, col1):

       if not correct_coords(row, col) or not correct_coords(row1, col1):

           return False

       if row == row1 and col == col1:

           return False

       piece = self.field[row][col]

       if piece is None:

           return False

       if piece.get_color() != self.color:

           return False

       if not piece.can_move(row1, col1):

           return False

       self.field[row][col] = None

       self.field[row1][col1] = piece

       piece.set_position(row1, col1)

       self.color = opponent(self.color)

       return True

   def is_under_attack(self, row, col, color):

       for i in range(8):

           for j in range(8):

               if self.field[i][j] is not None:

                   piece = self.field[i][j]

                   if piece.get_color() == color:

                       if piece.can_move(row, col):

                           return True

       return False

4,7(35 оценок)
Открыть все ответы
Ответ:
mictermixa1
mictermixa1
28.03.2022
Алг
нач
цел Кол_во=256, логтаб Матрица[1:Кол_во] цел Число,j 

Матрица[1]:=нет
нц для Число от 2 до Кол_во 
Матрица[Число]:=да
кц
нц для Число от 2 до div(Кол_во,2)
нц для j от 2 до div(Кол_во,Число)
Матрица[Число*j]:=нет 
кц
кц
нц для Число от 1 до Кол_во
если Матрица[Число]=да то
вывод Число," "
все
кц
кон 

Результат выполнения программы: 
2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97 101 103 107 109 113 127 131 137 139 149 151 157 163 167 173 179 181 191 193 197 199 211 223 227 229 233 239 241 251

Напишите,, алгоритм в программе кумир, при котором выведется решето эратосфена.
4,8(2 оценок)
Ответ:
Enotik0372
Enotik0372
28.03.2022

Плюсы векторных изображений:

- гибкая масштабируемость, можно изменять размеры изображений без потери его визуальных качеств;

- файл с векторным изображением имеет гораздо меньший размер по сравнению с растровым изображением;

- рисунок имеет высокое качество при печати, особенно это хорошо заметно на хороших принтерах при качественной печати;

- простой экспорт векторного рисунка в растровый.

Объяснение:

- отсутствие реалистичности у векторных рисунков. Реалистичность достигается путем применения различных сложных цветовых схем;

- невозможность использования эффектов, которые можно применять в растровой графике;

- практически полная невозможность экспорта растрового рисунка в векторный;

4,5(95 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ