2012-09-30 6 views
1

파이썬에서 텍스트 기반 게임을 작성하려고하는데 문제가 발생했습니다. 콘솔에서 내 캐릭터를 한 위치에서 다른 위치로 이동 시키지만 사용자가 키를 누를 때마다 문자가 사라집니다. 캐릭터를 다시 보려면 키를 눌러야합니다. 여기 내 코드는 다음과 같습니다.파이썬 텍스트 기반 게임 디스플레이

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() 

누가이 문제의 원인인지 알고 있습니까? 모든 도움을 주시면 감사하겠습니다.

답변

2

그리기 전에 그리기 직전에 화면을 지 웁니다. 따라서 방금 그린 것은 지워집니다.

def Draw(): 
    frog.Draw() 
    os.system('cls') 

시도 전환 순서 :

def Draw(): 
    os.system('cls') 
    frog.Draw()