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

Функция, принимающая на вход координаты шахматной фигуры и возвращающа упорядоченный список всех возможных ходов

12.10.2023, 13:21. Показов 692. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написать функцию, принимающую на вход координаты шахматной фигуры на доске в виде строки (например, „A1“, „B4“, где 1 – 8 – горизонталь, A – H – вертикаль) и возвращающую упорядоченный список всех возможных ходов (ходы также в формате строк) в предположении, что соответствующие поля не заняты. Шахматная фигура — ферзь.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.10.2023, 13:21
Ответы с готовыми решениями:

Функция Tic_tac_toe, принимающая на вход список списков 3х3
Напишите функцию Tic_tac_toe(field), которая принимает на вход список списков 3х3 - поле игры в крестики-нолики. Незанятой (пустой) клетке...

Вычисление количества возможных ходов на шахматной доске
Уважаемые программисты. Нужен совет. С чего начать реализацию такой программы? Кентавром называется шахматная фигура, которая ходит как...

Программа для вывода возможных ходов коня по клику на клетку шахматной доски
Что-то много в интернете про коня, но в основном по расчету максимально возможных ходов. А вот чтобы на графически нарисованном шахматном...

1
3750 / 1944 / 612
Регистрация: 21.11.2021
Сообщений: 3,706
12.10.2023, 14:44
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
def str_pos_to_coords(pos):
    let = pos[0]
    num = int(pos[1])
    x = ord(let) - ord('A')
    y = num - 1
    return x, y
 
def coords_to_str_pos(coords):
    x = coords[0]
    y = coords[1]
    return chr(ord('A')+x) + str(y+1)
 
def get_all_moves(str_pos):
    BOARD_SIZE = 8
    xx,yy = str_pos_to_coords(str_pos)
    res = []
    for x in range(BOARD_SIZE):
        for y in range(BOARD_SIZE):
            if x == xx and y == yy:
                continue
            if x == xx or y == yy or x+y == xx+yy or x-y == xx-yy:
                res.append((x,y))
    res = sorted(map(coords_to_str_pos, res))
    return res
 
str_pos = input('Введите позицию ферзя в виде "A1" или "B4" и т.д.: ')
print(f'Все возможные ходы ферзя с позиции {str_pos}:\n', *get_all_moves(str_pos))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
12.10.2023, 14:44
Помогаю со студенческими работами здесь

Матрица возможных ходов; оценочная функция
Добрый день. Появился вопрос касательно заполнения матрицы для отображения возможных ходов бота в игре и написания оценочной функции для...

Поиск ходов шахматного коня методом перебора возможных вариантов ходов
Прошу помочь найти ошибку. Хочу написать программу поиска ходов шахматного коня методом перебора возможных вариантов ходов. Проверял...

Заполнение шахматного поля натуральными числами по правилу ходов шахматной фигуры "Конь"
Программеры, очень нужна ваша помощь. Я студак 1-го курса, и нужно выполнить задачу, очень парюсь, ничего не получается. Задача...

Функция, принимающая на вход целые положительные числа А и N и возвращающая последовательность из N чисел
Написать функцию, принимающую на вход целые положительные числа А и N и возвращающую последовательность из N чисел, в которой каждое...

Как сосчитать количество всех возможных путей короля по шахматной доске с клетки а1 на эту же клетку а1
дополнение к сабжу -- при условии, что король при каждом ходе не может вернуться на клетку, с которой он пришёл на текущую


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru