2016-09-30 3 views
-1

Я пытаюсь сделать простую игру в лабиринте, чтобы протестировать NNS с генетическими алгоритмами. Лабиринт для каждого теста будет использовать матрицу для хранения x, y точек вещей, таких как барьеры, начало, конец и текущее положение игрока. Главное, что мне нужна помощь, - это разместить правильный символ в нужном месте в строке, поэтому, когда строки строки 1-25 будут прочитаны (возможно, с циклом for), он зачитает макет карты. В качестве примера, барьер указует 1,1 3,4 и 1,5 будет выглядеть следующим образом, если «о» является пространство: первой строка |XoooX|, второй строки |ooooo|, третьей строки |ooooo|, четвёртой строка |ooXoo|. Любые идеи? Заранее спасибо!Как использовать матрицы координат x, y, чтобы выбрать, где символ появляется в строке с помощью python?

+0

Какая часть этого является проблемой? – zvone

+0

Я не знаю, как получить x в нужном месте и/или в правильной строке. он должен иметь какое-то отношение к использованию y для выбора строки и конкатенации строк, чтобы поместить x в нужное место в строке, но я понятия не имею, как это сделать, и как вытащить их из матриц внутри барьерной матрицы. – roger

+0

Покажите нам, что вы пробовали. Поместите пример кода в исходный вопрос. –

ответ

0

Вы, вероятно, ищете что-то вдоль линий этого:

width = 6 
height = 6 
coords = [(1,1),(3,4),(1,5)] 
print('\n'.join(['|' + ''.join(['x' if (x,y) in coords else 'o' for x in range(width)]) + '|' for y in range(height)])) 

Использование списка понимание, мы можем легко построить каждую строку по одному:

''.join(['x' if (x,y) in coords else 'o' for x in range(width)]) 

В основном, распечатайте x если координата содержит что-то, в противном случае используйте o.

Добавить боковые полосы в ...

'|' + ''.join([...]) + '|' 

''.join() является very useful function для этого.

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

'\n'.join([...]) 
+0

это именно то, что мне нужно! благодаря! – roger

Смежные вопросы