본문 바로가기

TIL

TIL 032723

개인 과제를 하는 날!


mp = 헌병. 국회의원.

마법 포인트??? 마나 포인트??? 이게 게임할 때 왜 필요하지...

마법을 한번 쓸때마다 깎이나?

시간이 지나면 마나가 차오르고?

hp는 공격 받으면 깎이고 mp는 공격 하면 깎이는건가?

일반 플레이어는 hp가 있는거고 마법사는 mp가 있는건가???

개인 과제 설명서를 다시 읽어봐야겠다.

===> 아닌 것 같다. 모든 플레이어한테 hp와 mp가 다 있는거고 모든 플레이어가 일반공격, 마법공격을 다 할 수 있는 것 같다. 처음에 생각한대로 hp는 공격받을 때, mp는 공격할 때 줄어드는게 맞는 것 같다.

그냥 시간이 지나면 1포인트 이렇게 찔끔씩 hp나 mp가 차오르는 것도 코드로 짤 수 있으려나. 이건 나중에 알아봐야겠다.

체력이 50% 이상일 땐 시간이 지나면서 차오르고 50% 미만일 땐 오히려 시간이 지나면서 줄어들 수도 있을 것 같다.

===> mp가 0이면 죽는게 아니라 특수 스킬을 못 쓰는거라고 한다. 과제의 경우엔 그럼 마법공격을 못하겠네 ㅜㅠ 무슨 공격을 할건지 선택하는 부분에서 마법공격을 선택할 수 없는 상황도 고려해야겠다.

===> 나는 마법 공격을 하면 공격한만큼 mp가 깎이게 만들었는데 다른 팀원은 공격 한번에 일정한 양으로 mp가 줄어들게 만들었다. 이게 더 쉬운데?

마법파워를 기준으로 플마 랜덤하게 마법공격하는데 마법파워보다 mp가 많이 남아있더라도 마법공격의 최대값인 마법파워 플러스 알파보다 적으면 마법공격을 못하게 만들었다.

그런데 공격은 과제의 요구조건대로 랜덤하게 하고 mp 차감은 1회 공격에 10이나 20 뭐 이렇게 일정하게 하면 mp가 딱 0으로 떨어지게 만들어서 마법 공격을 못하는 상황 처리를 더 쉽게 할 수 있을 것 같다.

===> 게임을 좀 해봐야겠다.

이번에 몬스터랑 싸우는 게임을 만들어서 포켓몬스터 게임이 궁금해졌다.

내가 해봤던 게임 중에서는 해리포터 게임의 결투 클럽이 생각났다.

게임할 땐 엄청 허접하다고 생각했는데... 훨씬 더 간단한데도 직접 코드로 짜려니 머리 복잡하고 눈 아프다.


구글링하면 다나온다.


줄바꿈.백슬래시!n! \n 따옴표 안에다가 쓰면 된다.

player 이름을 input()으로 받고나서 줄바꿈은 어떻게 할지 검색해볼까 했는데 그냥 print()한줄 더 쓰는 걸로 처리하고 넘어갔다.


visual studio code 화면을 분할해서 두개 코드를 비교하면서 쓰니까 좋다.


class 아직...

결과값이 원하는대로 출력되긴 하는데 아직 완벽히 모르겠다.

심화 강의에서처럼 클래스에서 (name="Player")라고 default값을 설정해서 사용자가 이름을 입력하지 않았을 경우 Player로 출력하게 만들고 싶었는데 맨 뒤에다가 써야 hp, power 이런 다른 것들에 빨간줄이 안생긴다.

그냥 if not player_name: 하고 빈값일 때 이름을 플레이어로 받으라고 if 조건문 만드는걸로 해결했다.

self.max_hp=hp

self.hp=hp 이렇게 두개 받는 것도 아리송했는데 max_hp는 괄호의 hp 자리에 들어온 값으로 고정이고 그냥 hp는 damage가 깎인 hp로 계속 수정된다.

심화 강의에서 상속 부분때 self.attribute="fire"이런것도 왜 넣나 했는데 그냥 부모 클래스에 없는 항목을 자식 클래스에 넣을 수 있다는 예시인걸로 이해했다.

앞으로 더 많이 쓰면서 더 잘 알게 되겠지!!!

 

 

'TIL' 카테고리의 다른 글

TIL 032923  (0) 2023.03.29
TIL 032823  (0) 2023.03.28
TIL 032423  (0) 2023.03.24
TIL 032323  (0) 2023.03.23
TIL 032223  (0) 2023.03.22