250730 [ Day 18 ] - Python (15)

TaeHyun·2025년 7월 30일

TIL

목록 보기
18/182

시작하며

어제부로 파이썬 파트가 모두 끝나 오늘은 지금까지 배운 내용을 모두 사용하여 지난번과 비슷한 게임 만들기 프로젝트를 했다. 여러 모듈과 패키지로 기능을 분리하여 불러오고, 반복문과 조건문 등 지금 머릿속에 있는 모든 기능을 사용하여 만들어 보았다. 교육 시간 동안은 대략적인 구동만 제작해두고 집에 돌아와서 마저 완성했는데, 지금 블로그를 작성하고 있는 오후 11시 30분... 겨우 끝난 것 같다.

내용 소개

게임은 턴제 방식으로 진행되며 전투는 랜덤한 요소에 따라 자동으로 이루어진다. 3명의 캐릭터와 3종류의 몬스터가 존재하고, 유저는 처음에 캐릭터를 선택한 후 원하는 몬스터와 전투를 벌인다. 목숨은 3번 주어지며, 목숨이 모두 떨어지거나 전투에서 3번 승리하면 게임이 종료된다.

info

게임 시작 시 캐릭터의 설명을 볼 수 있다.


Character 관련

3명의 캐릭터는 모두 Character 라는 클래스에서 상속받아 만들어진다.

각 캐릭터는 고유한 특수 능력을 가지고 있고, 해당 특수 능력은 전투에서 확률적으로 발동된다.

몬스터도 마찬가지다.

choose_character 모듈에 캐릭터와 몬스터를 선택하는 기능이 들어있다.


battle_manager 모듈

battle_manager 모듈에서는 전투 관련 기능을 다루고 있으며 크게 3가지로 나뉜다.
첫 번째는 전투의 선공을 정하는 코인토스,
두 번째는 배틀 페이지,
세 번째는 전투 결과 표시 부분이다.

코인 토스의 결과를 True/False로 나타내고, 턴이 끝나면 코인 토스의 결과를 바꿔서 상대의 턴으로 넘어가는 방식으로 작성했다.


최종 실행

이제 최종적으로 메인 파일에서 실행 코드와 승리, 패배 등 추가적인 기능을 구현한 뒤 실행하면 끝이다.


마치며

처음에는 모듈을 사용해보는 것도 거의 처음이다 보니 모듈 연동에서 에러가 많이 발생했는데, 모듈 연동에 적응하고 나니 금방 틀을 구성할 수 있었다.
예전에는 for문과 조건문만 배우고 게임을 만들었는데 확실히 많은 기능을 알게 되다 보니 머리속에서 떠오르는 아이디어를 금방 구현할 수 있게 되었다. 원하는 기능을 바로바로 만들 수 있어서 더 재밌었다

profile
Hello I'm TaeHyunAn, Currently Studying Data Analysis

0개의 댓글