В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
AlexSashka2003
AlexSashka2003
04.02.2023 11:41 •  Информатика

доработать код на питон Рокировка — особая разновидность шахматного хода, при котором ладья, находившаяся на начальной позиции, вплотную подходит к своему королю, который «перепрыгивает» через ладью вдоль линии её движения. При этом король перемещается не на одно поле, как обычно, а на два.
Необходимым условием рокировки является то, что ни король, ни участвующая в манёвре ладья не должны были сдвигаться со своего места до совершения рокировки. Если ладья сдвигалась с начальной позиции, рокировка с её участием становится невозможной. Если сдвигался король, обе рокировки становятся невозможными.
Реализуйте два метода, board.castling0() и board.castling7(). Метод castling0 пробует выполнить рокировку для игрока текущего цвета с ладьёй из колонки 0, castling7 — из колонки 7.
Если рокировка возможна, следует выполнить её и вернуть True, если нет — только вернуть False.
В тестах для уменьшения их объёма и сложности начальная расстановка фигур перезаписывается и заменяется на более простую. Однако гарантируется, что начальные положения короля и ладей, если они есть на доске, соответствуют шахматным правилам.

Пример 1
Ввод Вывод
from solution import (
Board, Pawn, Rook, King, Knight, Bishop, Queen,
WHITE, BLACK
)

board = Board()
board.field = [([None] * 8) for i in range(8)]
board.field[0][0] = Rook(WHITE)
board.field[0][4] = King(WHITE)
board.field[0][7] = Rook(WHITE)

board.field[7][0] = Rook(BLACK)
board.field[7][4] = King(BLACK)
board.field[7][7] = Rook(BLACK)

print('before:')
for row in range(7, -1, -1):
for col in range(8):
char = board.cell(row, col)[1]
print(char.replace(' ', '-'), end='')
print()
print()

print("Рокировка")
print(board.castling0())
print(board.castling7())

for row in range(7, -1, -1):
for col in range(8):

Код программы:
from solution import (
Board, Pawn, Rook, King, Knight, Bishop, Queen,
WHITE, BLACK
)

board = Board()
board.field = [([None] * 8) for i in range(8)]
board.field[0][0] = Rook(WHITE)
board.field[0][4] = King(WHITE)
board.field[0][7] = Rook(WHITE)

board.field[7][0] = Rook(BLACK)
board.field[7][4] = King(BLACK)
board.field[7][7] = Rook(BLACK)

print('before:')
for row in range(7, -1, -1):
for col in range(8):
char = board.cell(row, col)[1]
print(char.replace(' ', '-'), end='')
print()
print()

print("Сдвиги ладей")
board.move_piece(0, 0, 0, 1)
board.move_piece(7, 0, 7, 1)
print(board.castling0())
print(board.castling7())

for row in range(7, -1, -1):
for col in range(8):
char = board.cell(row, col)[1]
print(char.replace(' ', '-'), end='')
print()
print()

print(board.castling0())
print(board.castling7())

for row in range(7, -1, -1):
for col in range(8):
char = board.cell(row, col)[1]
print(char.replace(' ', '-'), end='')
print()

Показать ответ
Ответ:
Ника12040000
Ника12040000
19.03.2022 17:51
Для перевода из двоичной системы в десятичную необходимо: 
1) Пронумеровать число в двоичной системе справа налево начиная от нуля. 
2) Каждую единицу заменить на два со степенью, которая соответствует порядковому номеру данной единицы.  
3) Сложить. 

Например, в приложении разобрано первое число под буквой А.
Чтобы не мучить себя однообразными расчетами, найдите "калькулятор систем счисления". 

Для перевод в буквы берем таблицу ASCII и составляем слова. 

а) 85 112 32 38 32 68 111 119 110 - Up & Down; (32 - это пробел)
б) 73 66 77 - IBM;
в) 69 110 116 101 114 - Enter.
Перейдите от двоичного кода к десятичному и декодируйте следующие тексты: а) 01010101 01110000 00100
Перейдите от двоичного кода к десятичному и декодируйте следующие тексты: а) 01010101 01110000 00100
0,0(0 оценок)
Ответ:
sheealice
sheealice
15.09.2021 19:08
Компьютер, или электронно-вычислительная машина, в нашей жизни занимает все большее место. С его можно напечатать текст или произвести математические вычисления, составить расписание движения поездов и управлять технологическим процессом на заводе, изучать иностранные языки и руководить полетом космической станции, вести бухгалтерские расчеты и планировать бюджет страны, общаться с людьми, находящимися в любой точке земного шара, и вести тончайшие хирургические операции, послать письмо другу и сделать фотографию. Я могла бы еще долго перечислять возможности современных компьютеров. Но и из этого перечня ясно, что развитие современных технологий, управление экономикой и производством, образование и медицина, наука и космос сегодня немыслимы без компьютера.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота