728x90
반응형
# key로 인자 전달. 인자를 딕셔너리 사용
class character(): # 클래스 정의
def __init__(self, name="Noname", job='없음', 힘=None, 민첩=None, 지능=None, 때리기='때리기', 구르기='구르기'): # 생성자 지정
self.name = name # 인자로 넘어온 값을 틀래스 변수에 대입
self.job = job
self.performance = {"힘":힘, "민첩":민첩, "지능":지능} # 문제 예시에 딕셔너리 구조로 출력되어 딕셔너리르 구성
self.skill = [때리기, 구르기] # 문제 예시에 리스트 구조로 출력되어 리스트로 구성
def showState(self): # 출력 함수
print(f"캐릭터 명: {self.name}") # 출력. 클래스 내부 변수들 사용 출력
print(f"직업: {self.job}")
print(f"=====능력치=====\n{self.performance}")
print(f"===보유스킬===\n{self.skill}")
X = character(**{'힘':3, "민첩":5, "지능":5}) # 클래스 인스턴스 생성
X.showState() # 인스턴스의 출력함수 실행
-
캐릭터 명: Noname
직업: 없음
=====능력치=====
{'힘': 3, '민첩': 5, '지능': 5}
===보유스킬===
['때리기', '구르기']
class knight(character): # 클래스 정의. character 클래스를 상속 받음
def showState(self):
self.skill.append('베기') # kjight 클래스의 스킬 추가
self.skill.append('강타')
self.performance['힘'] += self.performance['힘'] # 늘력치가 부모클래스(character)의 능력치에 + 하는 것으로 보임.
self.performance['민첩'] += self.performance['민첩']
self.performance['지능'] += self.performance['지능']
super().showState()
X = knight(**{"힘":3, "민첩":5, "지능":5}) # 기사 클랙스의 인스턴스 생성
X.showState()
-
캐릭터 명: Noname
직업: 없음
=====능력치=====
{'힘': 6, '민첩': 10, '지능': 10}
===보유스킬===
['때리기', '구르기', '베기', '강타']
class magician(character): # 클래스 정의. character 클래스 상속 받음
def showState(self):
self.skill.append('파이어볼') # 마법사 클래스 스킬 추가
self.skill.append('아이스에로우')
if self.performance['힘'] == 0: # 문제의 출력으로 봐서 능력치가 0 입력이면 0이 되는 것으로 보임
self.performance['힘'] = 0
else:
self.performance['힘'] += self.performance['힘']
if self.performance['민첩'] == 0:
self.performance['민첩'] = 0
else:
self.performance['민첩'] += self.performance['민첩']
self.performance['지능'] += self.performance['지능']
super().showState()
X = magician("서머너",**{"힘":0, "민첩":0, "지능":10}) # 바법사 클랙스 인스턴스 생성. 캐릭터명 입력되어 사용
-
캐릭터 명: 서머너
직업: 없음
=====능력치=====
{'힘': 0, '민첩': 0, '지능': 20}
===보유스킬===
['때리기', '구르기', '파이어볼', '아이스에로우']
728x90
반응형
'프로그램' 카테고리의 다른 글
[파이썬] 함수의 인수 전달(*리스트, **딕셔너리) (0) | 2022.11.09 |
---|---|
[파이썬] 문제 : 숫자로 찍기(별 찍기 응용) (0) | 2022.11.09 |
[파이썬] 문제 : 지갑 클래스 만들기 (0) | 2022.11.09 |
[파이썬] 문제 : 세 수의 최소공배수 구하기 (0) | 2022.11.09 |
[파이썬] pandas에서 조건 데이터 수정 (0) | 2022.11.08 |
댓글