#python #python-3.x #turtle-graphics
#python #python-3.x #черепаха-графика
Вопрос:
У меня есть функция, которая сохраняет позиции разных конкурентов в списке, а затем добавляет список всякий раз, когда конкуренты должны перемещаться по доске. Расположение платы определяется как (горизонтальный и вертикальный — это размер x, y каждого прямоугольника в сетке):
positions = [
[-3*HORIZONTAL, 3*VERTICAL, 'A', 7],
[3*HORIZONTAL, 3*VERTICAL, 'G', 7],
[-3*HORIZONTAL, -3*VERTICAL, 'A', 1],
[3*HORIZONTAL, -3*VERTICAL, 'G', 1]
]
used = [
[('A', 7)],
[('G', 7)],
[('A', 1)],
[('G', 1)]
]
Мне интересно, может ли кто-нибудь объяснить, как я могу протестировать, чтобы первый участник достиг средней позиции сетки на доске (‘D’, 4), а затем нарисовать ее в отдельной легенде, в которой указано «победитель (конкурент)». У меня уже завершена функция рисования.
#if competitor reaches position [D],[4]
#draw competitor at predetermined cordinates (x,y)
#add text above to state the winner is
Ответ №1:
поскольку вы ничего не сказали о соотношении конкурента и используемых ходов, я делюсь кое-чем в соответствии с моим пониманием вопроса. не стесняйтесь говорить, если это не то, что вы пытаетесь сделать.
used = [
[('A', 7)],
[('G', 7)],
[('A', 1)],
[('G', 1)]
]
if used[-1]==[('D', 4)]:
competitor=#code to find who done the last move
print('the winner is {}',competitor)
у вас есть все перемещения внутри списка, и я полагаю, что они добавляются итеративными шагами. таким образом, вы можете просто проверить последнюю запись в списке и найти имя конкурента, который ее использовал.