File: //lib64/python2.7/Demo/curses/life.pyo
ó
Afc @ s‡ d d l Z d d l Z d d l Z d d l Z d d d „ ƒ YZ d „ Z d „ Z d „ Z d „ Z e d k rƒ e j
e ƒ n d S(
iÿÿÿÿNt LifeBoardc B sP e Z d Z e d ƒ d „ Z d „ Z d „ Z d „ Z e d „ Z d „ Z
RS( s Encapsulates a Life board
Attributes:
X,Y : horizontal and vertical size of the board
state : dictionary mapping (x,y) to 0 or 1
Methods:
display(update_board) -- If update_board is true, compute the
next generation. Then display the state
of the board and refresh the screen.
erase() -- clear the entire board
makeRandom() -- fill the board randomly
set(y,x) -- set the given cell to Live; doesn't refresh the screen
toggle(y,x) -- change the given cell from live to dead, or vice
versa, and refresh the screen display
t *c C s
i | _ | | _ | j j ƒ \ } } | d | d d | _ | _ | | _ | j j ƒ d | j d d } | j j d d | ƒ | j j | j d d | ƒ xU t d | j ƒ D]A } | j j d | d d ƒ | j j d | | j d d ƒ q· W| j j ƒ d S( s¤ Create a new LifeBoard instance.
scr -- curses screen object to use for display
char -- character used to render live cells (default: '*')
i i t +t -i t |N(
t statet scrt getmaxyxt Xt Yt chart cleart addstrt ranget refresh( t selfR R
R R t border_linet y( ( s( /usr/lib64/python2.7/Demo/curses/life.pyt __init__) s
%c C sc | d k s6 | j | k s6 | d k s6 | j | k rL t d | | f ‚ n d | j | | f <d S( s Set a cell to the live statei s Coordinates out of range %i,%ii N( R R t
ValueErrorR ( R R t x( ( s( /usr/lib64/python2.7/Demo/curses/life.pyt set? s 6c C sÚ | d k s6 | j | k s6 | d k s6 | j | k rL t d | | f ‚ n | j j | | f ƒ r• | j | | f =| j j | d | d d ƒ n4 d | j | | f <| j j | d | d | j ƒ | j j ƒ d S( s+ Toggle a cell's state between live and deadi s Coordinates out of range %i,%ii t N( R R R R t has_keyR t addchR
R ( R R R ( ( s( /usr/lib64/python2.7/Demo/curses/life.pyt toggleE s 6!!c C s i | _ | j d t ƒ d S( s3 Clear the entire board and update the board displayt update_boardN( R t displayt False( R ( ( s( /usr/lib64/python2.7/Demo/curses/life.pyt eraseQ s c C sw | j | j } } | s¸ x‹ t d | ƒ D]z } xq t d | ƒ D]` } | j j | | f ƒ r | j j | d | d | j ƒ q? | j j | d | d d ƒ q? Wq) W| j j ƒ d Si } d | _ x“t d | ƒ D]‚} t t
d | d ƒ t | | d ƒ ƒ } xPt d | ƒ D]?} d } | j j | | f ƒ } xg t t
d | d ƒ t | | d ƒ ƒ D]<