Backend/Python

Python 파이썬 생성자, 클래스 예제 02

쏠솔랄라 2023. 7. 4. 09:47

 

 

Exercise2

 

 

Player 게임 캐릭터 클래스(Player)
(항목) 아이디(id), 레벨(level), 공격력(attack), 체력(hp)
(메소드) disp(정보출력), +@(필요하다면)
(생성자) 알아서
(특징)  1. 캐릭터 생성시 레벨은 1, 공격력 5, 체력 20
            2. 레벨이 증가할 경우 공격력은 3, 체력은 10씩 증가

 

 

class Player:

    def __init__(self,id = None,lev = 1) -> None:
        self.__id = id
        self.__lev = 1
        self.__atk = 5
        self.__hp = 20
        self.set_lev(lev)

    def set_lev(self,lev):
        if self.__lev >= lev:
            return
        gap = lev - self.__lev
        self.__lev = lev
        self.__atk += (3 * gap)
        self.__hp += (10 * gap)

    def set_id(self,id):
        self.__id = id

    def get_id(self):
        return self.__id

    def get_lev(self):
        return self.__lev

    def get_atk(self):
        return self.__atk
    
    def get_hp(self):
        return self.__hp

    def levUp(self):
        self.__lev+=1    
        self.__atk+=3    
        self.__hp+=10    

    def __str__(self) -> str:
        return "{}\t{}\t{}\t{}".format(self.__id,self.__lev,self.__atk,self.__hp)

 

 

아래의 항목을 만들고 정보 출력   
       id  
[1] 공유      레벨 20으로 변경 후 정보 출력
[2] 아이유     레벨 15로 변경 후 정보 출력
[3] 유인나     레벨 30으로 변경 후 정보 출력

 

 

p1 = Player("공유")
print(p1)
p1.set_lev(20)
print(p1)

p2 = Player("아이유",15)
print(p2)

p3 = Player("유인나",30)
print(p3)

 

 

출력화면