curses
我正在尝试使用Python 中的库制作一个类似于“Falldown”的游戏,这是我在高中时玩过的 TI-83 计算器游戏。它涉及一个永远下落的球,你必须通过洞来操纵它,如果你没有进入洞,球会在屏幕顶部被压扁(YouTube it)。
到目前为止,我只有一个甚至还没有漏洞的障碍类。我只希望我的障碍永远“向上滚动”。我可以让它为一个障碍(obs1
)工作,但是当我尝试添加第二个(obs2
)时,会发生不好的事情。在下面的代码中,两个障碍物都在屏幕上,但它们正好在彼此之上,所以它看起来只是一个障碍物。
obs2
基本上,当obs1
到达屏幕的一半时,我该如何开始?
#!/usr/bin/python
import curses
import time
import random
class obstacle:
def __init__(self):
self.pos = dims[0]-1
self.s = ''
for x in range(0,dims[1]-1):
self.s += '='
def scroll(self):
self.pos -= 1
screen = curses.initscr()
curses.start_color()
curses.init_pair(1, curses.COLOR_GREEN, curses.COLOR_BLACK)
screen.nodelay(1)
dims = screen.getmaxyx()
q=-1
obs1 = obstacle()
obs2 = obstacle()
while q < 0:
q = screen.getch()
if obs1.pos < 0:
obs1 = obstacle()
if obs2.pos < 0:
obs2 = obstacle()
screen.clear()
screen.addstr(obs1.pos, 0, obs1.s, curses.color_pair(1))
screen.addstr(obs2.pos, 0, obs2.s, curses.color_pair(1))
obs1.scroll()
obs2.scroll()
screen.refresh()
time.sleep(.04)
screen.getch()
curses.endwin()
最终我会想要一次在屏幕上出现大约 4 个障碍物,永远向上滚动。有什么提示可以让我从 2 开始吗?