2014-06-22 76 views
0

我正在尝试创建一个地下城开发程序,并且我使用了许多模块。我有一个主模块,一个地板模块,一个房间模块和一个瓷砖模块。地板是瓷砖网格的房间。在我的地板组件,我导入室,这样我可以储藏室的二维列表,但我不断收到错误:在Python中导入模块时遇到问题

Traceback (most recent call last): 
File "C:\Users\Rishabh\workspace\Bonding\Bonding\src\MainWork.py", line 15, in <module> 
    floor = Floor.Floor() 
File "C:\Users\Rishabh\workspace\Bonding\Bonding\src\Floor.py", line 6, in __init__ 
    rooms = [[Room.RoomClass(i, j) for i in range(7)] for j in range(7)] 
File "C:\Users\Rishabh\workspace\Bonding\Bonding\src\Floor.py", line 6, in <listcomp> 
    rooms = [[Room.RoomClass(i, j) for i in range(7)] for j in range(7)] 
File "C:\Users\Rishabh\workspace\Bonding\Bonding\src\Floor.py", line 6, in <listcomp> 
    rooms = [[Room.RoomClass(i, j) for i in range(7)] for j in range(7)] 
NameError: global name 'Room' is not defined 

我的代码如下。

Mainwork.py

import Enemy 
import Player 
import Ribbon 
import random 
import Floor 
import Room 
import pygame as pyg 
pyg.init() 

screenWidth = 1280 
screenHeight = 720 
Player.health = 100 
FPS = 60 

floor = Floor.Floor() 
floor.printgrid() 

def mainLoop(): 
    pass 

Floor.py

class Floor(object): 

    import Room 

    def __init__(self): 
     rooms = [[Room.Room(i, j) for i in range(7)] for j in range(7)] 
     current = [0, 0] 
     roomStack = [] 
     totalRooms = 49 
     visitedRooms = 1 

Room.py

class Room(object): 

    import Tile 

    def __init__(self, floorx, floory, layout=[[0 for i in range(13)] for j in range(7)]): 
     self.floorx = floorx 
     self.floory = floory 
     self.doors = [False, False, False, False] # N,S,E,W 
     for i in layout: 
      for j in i: 
       self.layout[i][j] = Tile.Tile(layout[i][j]) 

Tile.py

class Tile(object): 

    def __init__(self, state): 
     self.state = state 

我不知道是什么问题,可能是在所有。在此先感谢

+1

总体过度使用类 – EL3PHANTEN

+0

请不要尝试在Python中编写Java。 –

+0

Python是什么意思? – Rishabh2

回答

1

Floor.pyimport Roomclass属性,所以,你必须使用类对象来访问它。尝试使用....

import Room 

class Floor(object): 

    def __init__(self): 
     # other code goes here .... 
+1

非常感谢!我对python仍然很陌生 – Rishabh2