2017-11-03 1 views
1

그래서 필자는 얼마 전에 파이썬을 배우기 시작했다. 나는 현재 자신의 게임을 만들려고 노력하고있다. (슈퍼가 좋을 것이라고 기대하지는 않지만, 제대로 작동하길 원한다.) 게임은 기본적으로 던전을 돌아 다니며, 괴물과 싸우고, 수평을 맞추고, 퍼즐을 치고, 마지막으로 싸우고있다. 보스. 기본적으로 평균 RPG 게임. 나는 그것을 모든 텍스트로 만들고있다. 현재 내 레벨 업 스크립트와 통계 스크립트에 약간의 코드가 붙어 있습니다. 나는 "헌법"이라 불리는 통계에 변수를 가지고 있으며, 언제나 레벨을 올리면 (exp> = expmax), 헌법의 가치에 3을 더한다. 하나는 통계 스크립트 내 코드입니다Python 3 : 다른 스크립트에서 변수를 어떻게 변경합니까?

import LevelUP 
    constitution = 10 

것을 (10 밖으로 시작), 그리고 하나는 LevelUP 스크립트 코드입니다.

import Stats 
    level = 1 
    expMax = 100 
    exp = 100 
    if exp >= expMax: 
     level=level+1 
     exp = 0 
     expMax = expMax+expMax*0.5 
     Stats.constitution = Stats.constitution+3 
     Stats.strength = Stats.strength+4 
     Stats.dexterity = Stats.dexterity+4 
     Stats.intelligence = Stats.intelligence+3 
     Stats.wisdom = Stats.wisdom+3 
     Stats.charisma = Stats.charisma+2 
     Stats.luck = Stats.luck+2 

사이트까지

Traceback (most recent call last): 
     File "main.py", line 3, in <module> 
     import Stats 
     File "/home/runner/Stats.py", line 1, in <module> 
     import LevelUP 
     File "/home/runner/LevelUP.py", line 9, in <module> 
     Stats.constitution = Stats.constitution+3 
    AttributeError: module 'Stats' has no attribute 'constitution' 
    exited with non-zero status 

종류 새의 오는 오류입니다,하지만 난 이런 일을 위해 주위를 둘러 보았다하고 내가 찾을 수있는 모든 다른 스크립트 인쇄()를 사용했다 .

답변

0

코드에주기적인 가져 오기가 있습니다. 가능한 바람직하지 않은 동작이있는 Circular imports in Python을 참조하십시오.

어쨌든 Stats 모듈에 LevelUp이 필요하지 않은 것 같습니다 (그렇습니까?). 귀하의 아키텍처를 다시 생각해보십시오.

+0

감사! 그걸 보여 주셔서 고맙습니다. LevelUp 모듈의 모든 코드를 Stats 모듈에 집어 넣었습니다. 완벽하게 작동했습니다. 내가 코드를 작성한 방식으로, 통계의 일부 변수가 Levelup에서 사용되었고, Levelup의 일부 변수가 통계에서 사용되었으므로 둘을 서로 가져와야했습니다. – Zarfus

관련 문제