我正在尝试用Python编写基于文本的游戏,但是已经遇到了问题。我让我的角色在控制台中从一个位置移动到另一个位置,但每次用户按下一个键时,角色都会消失。为了再次看到角色,用户必须按一个键。这是我的代码:
import os
import msvcrt
class Frog:
X = 0
Y = 0
def __init__(self, x, y):
self.X = x
self.Y = y
def Draw(self):
for y in range(self.Y):
print ""
print ' ' * self.X + '#'
def Update(self):
if msvcrt.kbhit() == True:
if msvcrt.getch() == 'a':
if self.X > 0:
self.X = self.X - 1
if msvcrt.getch() == 'd':
self.X = self.X + 1
if msvcrt.getch() == 'w':
self.Y = self.Y - 1
if msvcrt.getch() == 's':
self.Y = self.Y + 1
frog = Frog(0,0)
def Draw():
frog.Draw()
os.system('cls')
def Loop():
while 1:
frog.Update()
Draw()
Loop()
有谁知道造成这种情况的原因是什么?非常感谢所有帮助。
答案 0 :(得分:2)
您在绘图后立即清除屏幕,而不是在绘图之前清除屏幕。因此,你刚刚画的东西被删除了。
def Draw():
frog.Draw()
os.system('cls')
尝试切换订单:
def Draw():
os.system('cls')
frog.Draw()