#!/usr/bin/env python import curses comp = "" def gety(window): (y, x) = window.getyx() return y def getx(window): (y, x) = window.getyx() return x def test(text): global comp comp += text stdscr = curses.initscr() curses.noecho; curses.cbreak; stdscr.keypad(1) (y, x) = stdscr.getmaxyx() y -= 2; x -= 2 # stdscr.subwin(nlines, ncols, begin_y, begin_x) ballwin = stdscr.subwin(2,1,2,2) ballwin.addch('o') ballwin.refresh(); stdscr.refresh() loop1start = 2; loop1to = y; loop1inc = 1 loop2start = 2; loop2to = x; loop2inc = 1 for i in range(loop1start, loop1to, loop1inc): for j in range(loop2start, loop2to, loop2inc): if gety(ballwin) <= 2: test('at top\n') loop1start = 2 loop1to = y loop1inc = 1 continue if gety(ballwin) >= y-2: test('at bottom\n') #ERROR loop1start = y loop1to = 2 loop1inc = -1 continue if getx(ballwin) <= 2: test('at left\n') loop2start = 2 loop2to = x loop2inc = 1 continue if getx(ballwin) >= x-2: test('at right\n') #ERROR loop2start = x loop2to = 2 loop2inc = -1 continue ballwin.mvwin(i,j) stdscr.refresh() curses.napms(10) #curses.beep() myfile = open('poop','w') myfile.write(comp) stdscr.getch() curses.echo; curses.nocbreak; stdscr.keypad(0) curses.endwin() # the y coordinate of ballwin stdscr.refresh() # is not detected properly curses.napms(5) i = i + loop1inc stdscr.getch() curses.echo; curses.nocbreak; stdscr.keypad(0) curses.endwin()