아래 코드에서 'moveSpeed'가 어떻게 쓰였는지 알려주실 수 있나요?

조회수 371회

온라인에서 찾은 파이게임 실행해 보고 있었는데 이해가 잘 안가는 코드가 있어서요. 중간중간 moveSpeed가 어떻게 숫자(?)처럼 쓰였는지 잘 이해가 가지 않습니다. self.moveSpeed = moveSpeed 이런식으로 정의되지도 않았는데 말이죠.

예를 들면

def move(self, moveSpeed):
        self.x -= moveSpeed 

이런 부분이요.

class HurdleManager:
    def __init__(self, scale, spawnRange):
        self.img = transform.scale(image.load('homework.png'), (7 * scale, 15 * scale))

        self.spawnRange = spawnRange
        self.hurdleList = []
        self.scale = scale


    def update(self, doSpawn, moveSpeed):
        if doSpawn:
            self.spawn()
        self.manage(moveSpeed)


    def manage(self, moveSpeed):
        hurdles2 = []

        for hurdle in self.hurdleList:
            hurdle.update(moveSpeed)

            if hurdle.onScreen():
                hurdles2.append(hurdle)


        self.hurdleList = hurdles2

    spawnTick = 0

    def spawn(self):
        if self.spawnTick >= self.spawnRange[1]:
            newHurdle = HurdleClass(windowX, self.img, 7 * self.scale, 15 * self.scale) 
            self.hurdleList.append(newHurdle)
            self.spawnTick = 0

        elif self.spawnTick > self.spawnRange[0]:
            if random.randint(0, self.spawnRange[1] - self.spawnRange[0]) == 0:
                newHurdle = HurdleClass(windowX, self.img, 7 * self.scale, 15 * self.scale)
                self.hurdleList.append(newHurdle)
                self.spawnTick = 0


        self.spawnTick += 1



hurdleManager = HurdleManager(3, (45, 90)) 


class HurdleClass:
    def __init__(self, x, img, width, height): 
        self.x = x
        self.img = img
        self.width = width
        self.height = height
        self.y = ground - height  

    def update(self, moveSpeed):
        self.move(moveSpeed)
        self.show()

    def move(self, moveSpeed):
        self.x -= moveSpeed

    def show(self):
        window.blit(self.img, (self.x, self.y))

    def onScreen(self):
        if self.x + self.width > 0:
            return True
        else:            
            return False
  • 클래스변수를 사용한게 아니라 전달받은 매개변수를 사용했으니까요. self.moveSpeed와 moveSpeed는 다릅니다. HIAOAIH 2020.6.12 10:35

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)