2014-02-10 90 views
-2

我已經學會了如何與今天的循環,就像下面正方形符號:我怎樣才能在ncurses中設計無方形符號?

import curses 

stdscr = curses.initscr() 
for y in range(1,10): 
    for x in range(1,10): 
     stdscr.addch(y,x,'#') 
stdscr.getch() 

但我還是沒弄明白如何在智能添加其他的圖形像三角辦法。 你有什麼想法嗎?

回答

3

您可能會發現更多的名稱爲「ASCII藝術」的資源。對於三角形,我會使用斜槓/\並將下劃線_作爲底部。只要確保每個斜槓離開前一個字符列一個字符。就像這樣:

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() 

結果:

  /\ 
     /\ 
     / \ 
    / \ 
    /  \ 
    /  \ 
    /   \ 
/   \ 
/    \ 
/__________________\ 

對於一個圈,你需要正弦和餘弦,像這樣:

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 
+0

三角形部分真的很聰明。爲什麼它沒有出現在我的腦海裏,導致我失去了我的寶貴點。謝謝。 – Mario

+0

我喜歡圈子:D –