2014-11-02 2 views
0

Я пытаюсь создать программу, которая играет в кэш игры в казино, но вместо того, чтобы показывать целочисленный вывод, irt показывает рулон кости (как то, как бы на самом деле выглядел кубик). У меня есть фактический игровой процесс (я смоделировал рулон кости с random.randint(1,6, но фактическая визуальная часть ускользает от меня. Я столкнулся с использованием словарного решения, но мне не разрешено использовать это (что такое загрузка ...)Drawing Dice with Python

Вывод должен выглядеть, как первый, в идеале, но я получаю вторую, используя команду join.

Он должен выглядеть следующим образом ....

+-----+  +------+ 
|  |  |  | 
|  |  |  | 
+-----+  +------+ 

но Я продолжаю получать это.

+------+ 
|  | 
|  | 
+------++------+ 
|  | 
|  | 
+------+ 

И вот мой код. Я знаю, что список трудно читать, но это единственный способ, которым мне разрешено это делать.

list = ['+-------+' + '\n' + '|  |' + '\n' + '| * |' + '\n' + '|  |' + '\n' + '+-------+' , '+-------+' + '\n' + '| *  |' + '\n' + '|  |' + '\n' + '| * |' + '\n' + '+-------+' , '+-------+' + '\n' + '| *  |' + '\n' + '| * |' + '\n' + '|  * |' + '\n' + '+-------+' , '+-------+' + '\n' + '|  |' + '\n' + '| * |' + '\n' + '|  |' + '\n' + '+-------+'] 
sep = '' 

x = sep.join(list[0:2]) 

print x 

ответ

0

Вы можете использовать многострочные строки.

print(""" 
+-----+  +------+ 
|  |  |  | 
|  |  |  | 
+-----+  +------+ 
""") 

И искать метод str.format() если вы хотите, чтобы показать точки на кубе.

1

Мне очень понравилось. =)

base = '+-------+   +-------+' 
sep = '   ' 
blank = '|  |' 
left = '| *  |' 
middle = '| * |' 
right = '|  * |' 
both = '| * * |' 

dice = [(blank, middle, blank), 
     (left, blank, right), 
     (left, middle, right), 
     (both, blank, both), 
     (both, middle, both), 
     (both, both, both)] 

def print_dice(a, b): 
    print(base) 
    print('\n'.join(a + sep + b for a, b in zip(dice[a-1], dice[b-1]))) 
    print(base) 

Исполнение:

>>> print_dice(2, 5) 
+-------+   +-------+ 
| *  |   | * * | 
|  |   | * | 
|  * |   | * * | 
+-------+   +-------+