Создание 2D сетки для настольной игры в python - PullRequest
0 голосов
/ 14 мая 2011

Я беру вводный курс по информатике с использованием Python, и нам дали упражнение по созданию настольной игры (dogems). У меня проблемы с конструкцией платы. Предполагается, что программа принимает заданный аргумент и, используя функцию make_board (size), создает доску из одинаковых строк и столбцов с числами внизу и буквами вдоль стороны. Функция show_board (board) затем отображает его. например Размер платы: 4 даст:

a . . .
b . . .
c . . .
. 1 2 3

тогда как размер доски: 5 даст:

a . . . .
b . . . .
c . . . .
d . . . .
. 1 2 3 4

Мой вопрос в основном, как бы мне написать эти функции для создания доски такого типа?

1 Ответ

8 голосов
/ 14 мая 2011

Попробуйте начать с чего-то действительно простого, например, распечатать только нижний ряд:

. 1 2 3 4 5

Это довольно легко

print '.', '1', '2', '3', '4', '5'

А что если я захочу иметь доску переменного размера?

Давайте попробуем цикл

for i in range(length+1):
    if i == 0:
        print '.'
    else:
        print i

Обратите внимание, что вам нужна переменная длина.

Хорошо, а как насчет столбцов? Это буквы, как мы можем напечатать список букв переменной длины?

По мере того, как вы будете решать эти маленькие проблемы одну за другой, вы начнете понимать, какие переменные становятся очевидными. Возможно, вы решите, что хранение списка списков - лучший способ сделать это, поэтому make_board(size) возвращает что-то вроде списка списков символов, а show_board(board) использует цикл for внутри цикла for, чтобы распечатать все это.

Не ждите готового решения от StackOverflow, попробуйте сделать некоторые из этих вещей и задайте вопрос, когда вы действительно застряли!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...