X7ROOT File Manager
Current Path:
/lib64/python2.7/Demo/curses
lib64
/
python2.7
/
Demo
/
curses
/
??
..
??
README
(852 B)
??
life.py
(7.18 KB)
??
life.pyc
(6.63 KB)
??
life.pyo
(6.63 KB)
??
ncurses.py
(6.49 KB)
??
ncurses.pyc
(5.71 KB)
??
ncurses.pyo
(5.71 KB)
??
rain.py
(2.35 KB)
??
rain.pyc
(2.24 KB)
??
rain.pyo
(2.24 KB)
??
repeat.py
(1.48 KB)
??
repeat.pyc
(1.42 KB)
??
repeat.pyo
(1.42 KB)
??
tclock.py
(3.25 KB)
??
tclock.pyc
(3.56 KB)
??
tclock.pyo
(3.56 KB)
??
xmas.py
(24.85 KB)
??
xmas.pyc
(19.4 KB)
??
xmas.pyo
(19.4 KB)
Editing: tclock.py
#! /usr/bin/python2.7 # # $Id$ # # From tclock.c, Copyright Howard Jones <ha.jones@ic.ac.uk>, September 1994. from math import * import curses, time ASPECT = 2.2 def sign(_x): if _x < 0: return -1 return 1 def A2XY(angle, radius): return (int(round(ASPECT * radius * sin(angle))), int(round(radius * cos(angle)))) def plot(x, y, col): stdscr.addch(y, x, col) # draw a diagonal line using Bresenham's algorithm def dline(pair, from_x, from_y, x2, y2, ch): if curses.has_colors(): stdscr.attrset(curses.color_pair(pair)) dx = x2 - from_x dy = y2 - from_y ax = abs(dx * 2) ay = abs(dy * 2) sx = sign(dx) sy = sign(dy) x = from_x y = from_y if ax > ay: d = ay - ax // 2 while True: plot(x, y, ch) if x == x2: return if d >= 0: y += sy d -= ax x += sx d += ay else: d = ax - ay // 2 while True: plot(x, y, ch) if y == y2: return if d >= 0: x += sx d -= ay y += sy d += ax def main(win): global stdscr stdscr = win lastbeep = -1 my_bg = curses.COLOR_BLACK stdscr.nodelay(1) stdscr.timeout(0) # curses.curs_set(0) if curses.has_colors(): curses.init_pair(1, curses.COLOR_RED, my_bg) curses.init_pair(2, curses.COLOR_MAGENTA, my_bg) curses.init_pair(3, curses.COLOR_GREEN, my_bg) cx = (curses.COLS - 1) // 2 cy = curses.LINES // 2 ch = min( cy-1, int(cx // ASPECT) - 1) mradius = (3 * ch) // 4 hradius = ch // 2 sradius = 5 * ch // 6 for i in range(0, 12): sangle = (i + 1) * 2.0 * pi / 12.0 sdx, sdy = A2XY(sangle, sradius) stdscr.addstr(cy - sdy, cx + sdx, "%d" % (i + 1)) stdscr.addstr(0, 0, "ASCII Clock by Howard Jones <ha.jones@ic.ac.uk>, 1994") sradius = max(sradius-4, 8) while True: curses.napms(1000) tim = time.time() t = time.localtime(tim) hours = t[3] + t[4] / 60.0 if hours > 12.0: hours -= 12.0 mangle = t[4] * 2 * pi / 60.0 mdx, mdy = A2XY(mangle, mradius) hangle = hours * 2 * pi / 12.0 hdx, hdy = A2XY(hangle, hradius) sangle = t[5] * 2 * pi / 60.0 sdx, sdy = A2XY(sangle, sradius) dline(3, cx, cy, cx + mdx, cy - mdy, ord('#')) stdscr.attrset(curses.A_REVERSE) dline(2, cx, cy, cx + hdx, cy - hdy, ord('.')) stdscr.attroff(curses.A_REVERSE) if curses.has_colors(): stdscr.attrset(curses.color_pair(1)) plot(cx + sdx, cy - sdy, ord('O')) if curses.has_colors(): stdscr.attrset(curses.color_pair(0)) stdscr.addstr(curses.LINES - 2, 0, time.ctime(tim)) stdscr.refresh() if (t[5] % 5) == 0 and t[5] != lastbeep: lastbeep = t[5] curses.beep() ch = stdscr.getch() if ch == ord('q'): return 0 plot(cx + sdx, cy - sdy, ord(' ')) dline(0, cx, cy, cx + hdx, cy - hdy, ord(' ')) dline(0, cx, cy, cx + mdx, cy - mdy, ord(' ')) curses.wrapper(main)
Upload File
Create Folder