편집 기록

편집 기록
  • 프로필 nowp님의 편집
    날짜2020.06.12

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


    온라인에서 찾은 파이게임 실행해 보고 있었는데 이해가 잘 안가는 코드가 있어서요. 중간중간 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
    
  • 프로필 알 수 없는 사용자님의 편집
    날짜2020.06.12

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


    온라인에서 찾은 파이게임 실행해 보고 있었는데 이해가 잘 안가는 코드가 있어서요.. 중간중간 '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