스파르타 내일배움캠프 팀과제-
고도화된 턴제 RPG game 만들기

각 캐릭터와 몬스터의 모체가 되는 class가 있는 team.py와
그 외 상점, 인벤토리, 포션, 게임시작 등을 담은 dungeon.py,
게임 구동을 위한 main.py로 구성했다.
나는 dungeon.py를 맡았다.
각 파일의 class와 메서드, 함수를 짜는 건 팀원간 의견 공유와 서치를 바탕으로 아직까진 무난한 편이다!

문제점

main.py와 team.py가 import 되었는데도 team.py의 값을 main.py에서 사용하지 못함.

main.py

name = input(">>")
        hp = 1000
        mp = 100
        power = randint(1, 10)
        speed = randint(1, 10)
        critical = randint(1, 10)
        level = 1
        player = Character(name, hp, mp, power, speed,
                           critical, '모험가일반공격딱대.', level)
여기 Character 부분.    
player = Character(name, hp, mp, power, speed,
NameError: name 'Character' is not defined

오류가 뜸

시도

Character은 team.py에서 class로 되어있다. 하지만 아무리 봐도 이상한 점은 없었다.
그래서 혹시 main.py에서 Character를 정의하는 것의 문제인지 확인하고 수정, 시도 해도 달라지는 건 없었다.

해결

결국 기술매니저님이 마침 우리 조를 방문해 주셔서 해결했다..
문제는 import!!
main.py는 import로 team.py를 받고있고 team.py도 import로 main.py를 받고 있었는데 그러면 안 되는 것이다!

이렇게 서로 import한다고 무조건 error이 뜨는 건 아니다. 이번 경우는 서로가 서로에게 Character를 불러오려고 하니 무한루프 사이클이 되어서 꼬인 것이다.

나는 import가 서로 연결하는 통로를 열어놓는 건 줄 알았는데 그냥 일방통행 이었다.

내가 한 건 어떤 멀티탭의 코드를 그 멀티탭에 꽂고 왜 전기가 안 통할까를 고민한 격!!

profile
가보자고

0개의 댓글