我今天学会了如何使用for循环制作方形符号,如下所示:
import curses
stdscr = curses.initscr()
for y in range(1,10):
for x in range(1,10):
stdscr.addch(y,x,'#')
stdscr.getch()
但我还没弄明白如何以智能的方式添加其他图形,如三角形,圆形。 你有什么想法?
答案 0 :(得分:3)
您可以找到名称为“ASCII art”的更多资源。对于三角形,我会使用斜杠/\
并为基础加下划线_
。只需确保每个斜杠都与前一个'字符列相差一个字符。像这样:
import curses
stdscr = curses.initscr()
for i in range(10):
stdscr.addch(i, 10-i, '/')
stdscr.addch(i, 11 + i, '\\')
for i in range(2, 20):
stdscr.addch(9, i, '_')
stdscr.getch()
结果:
/\
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/ \
/__________________\
对于一个圆圈,你需要罪和cos,就像这样:
import math
import curses
stdscr = curses.initscr()
radius = 10
for part in range(0, 100):
angle = (part / 100) * math.pi * 2
x = math.cos(angle) * radius + radius
y = math.sin(angle) * radius + radius
stdscr.addch(int(y * .7), int(x), 'o')
stdscr.getch()
看起来不太好,但这是一个开始:
oooooooooo
oo oo
oo oo
o o
o o
o o
o o
o oo
o o
o o
o o
oo oo
oo oo
oooooooooo
o