2015-11-16 128 views
-1

AttributeError:模块'actions'没有属性'MoveEast'不断弹出在终端中。我尝试重命名功能,并采用不同的导入方法,如python模块没有属性

from actions import Actions 

但没有任何反应。

import items, enemies, dungeon, player, actions 
#rooms.py 
#function in question 
def adjacent_moves(self): 
    moves = [] 
    if dungeon.room_exists(self.x + 1, self.y): 
     moves.append(actions.MoveEast()) 
    if dungeon.room_exists(self.x - 1, self.y): 
     moves.append(actions.MoveWest()) 
    if dungeon.room_exists(self.x, self.y - 1): 
     moves.append(actions.MoveNorth()) 
    if dungeon.room_exists(self.x, self.y + 1): 
     moves.append(actions.MoveSouth()) 
    return moves 

#actions.py 
class Actions: 
    def __init__(self, method, name, hotkey, **kwargs): 
     self.method = method 
     self.hotkey = hotkey 
     self.name - name 
     self.kwargs = kwargs 

def MoveEast(Actions): 
    def __init__(self): 
     super().__init__(method=Player.move_right, name="Move Right", hotkey="r") 

#from player.py 
def move(self, dx, dy): 
    self.location_x += dx 
    self.location_y += dy 
    print(dungeon.room_exists(self.location_x, self.location_y).intro_text()) 

def move_right(self): 
    self.move(dx= 1, dy= 0) 

回答

0

变化

def MoveEast(Actions): 
    def __init__(self): 
     super().__init__(method=Player.move_right, name="Move Right", hotkey="r") 

class MoveEast(Actions): 
    def __init__(self): 
     super().__init__(method=Player.move_right, name="Move Right", hotkey="r") 
相关问题