난 그냥 불량과 같은 게임을 만들기위한 튜토리얼을 끝 냈고, 나는 freature를 구현하려고합니다.여러 파일 처리 (코드 종속성 - Python)
문제는 전체 게임이 1k + 라인이있는 단일 파일이라는 것입니다.
당신이 볼 수 있듯이 :
내가 구현지도/플레이어/NPC들과 같은 게임의 각 측면에 대한 파일과 좀더 처리하기 위해 다른 파일/폴더를 나눌/items ...하지만 최소한 Classes/Functions/Main으로 나눕니다.
문제는 내가 Main.py에 넣고 때, :
from Classes import *
from Functions import *
나는 홈페이지에 사용되는 모듈이다
NameError: name 'libtcod' is not defined
를 얻을. 는 그럼 난 Main.py
에 나는 또한에 시도를 전역 변수 인 Classes.py 및
Functions.py
에 Main.py을 가져 그리고NameError: global name 'MAP_WIDTH' is not defined
MAP_WIDTH를 얻기 위해 노력 Classes.py 및 Functions.py
에 전체 Main.py를 가져하지만 내가 얻을 :
NameError: name 'Fighter' is not defined
,536,
파이터는 Classes.py의 클래스입니다
누구든지 나를 분류 할 수 있도록 도와 주므로 누구든지 생물을 구현할 수 있습니다.
편집 : 하나의 간단한 예는 다음과 같습니다
Main.py
from Functions import *
def plus_one(ab):
return ab +1
a = 1
b = 2
c = add_things()
print plus_one(c)
에게 Functions.py
from Main import *
def add_things():
global a,b
return a + b
그것은 간단한 예,하지만 프로젝트에 상호 많이 얻을 클래스/함수와 메인 파일 사이의 의존성.
Classes.py 또는 Functions.py에서 libtcod를 사용하는 경우 현재 Main.py로 가져 오는 것과 마찬가지로 모듈을 모듈로 가져와야합니다. –
나는 클래스에 대해 NameError를 얻고있다. –
제 제안은 당신이 책을 읽거나 파이썬으로 객체 지향 프로그래밍에 관한 튜토리얼을 읽는 것입니다. 예를 들어, Beginning Python : 초보자부터 전문가까지 Magnus Lie Hetland는 좋은 출발점입니다. –