이 카테고리는 국비지원 과정으로 [계룡건설] 빅데이터 기반 GreenTech SW개발자 과정에서 학습하는 내용을 정리하는 공간입니다.
1. bomb.py
- 주요 기능 -- 물풍선의 설치, 타이머 관리, 폭발 처리 등을 담당한다.
- 핵심 클래스 -- _Bomb와 Bomb 클래스로 구성된다.
- _Bomb 클래스는 물풍선의 기본 정보(소유자, 파워, 타이머 등)를 관리한다.
- Bomb 클래스는 물풍선 리스트를 관리하고, 틱마다 물풍선의 상태를 업데이트한다.
- 주요 메서드 --
- tick 메서드는 각 틱마다 물풍선의 타이머를 감소시키고, 폭발할 물풍선을 처리한다.
- bomb_list는 현재 맵에 설치된 물풍선을 관리하는 딕셔너리다.
- 실행 순서 --
- 물풍선이 설치되면 Bomb.bomb_list에 추가된다.
- 매 틱마다 Bomb.tick 메서드가 호출되어 물풍선의 타이머가 감소한다.
- 타이머가 0이 되면 물풍선이 폭발하고, bomb_list에서 제거된다.
2. box.py
- 주요 기능 -- 박스의 상태 관리, 아이템 드롭, 통계 데이터 수집 등을 담당한다.
- 핵심 클래스 -- Box 클래스로 구성된다.
- 주요 메서드 --
- damaged_by_bomb 메서드는 폭탄에 의해 박스가 피해를 입는 로직을 처리한다.
- drop_item 메서드는 박스가 파괴될 때 아이템을 드롭하는 로직을 담당한다.
- box_tick 메서드는 각 틱마다 박스의 상태를 업데이트하고, 통계 데이터를 수집한다.
- 실행 순서 --
- 박스가 폭탄에 피해를 입으면 damaged_by_bomb 메서드가 호출된다.
- 박스의 체력이 0이 되면 drop_item 메서드가 호출되어 아이템을 드롭한다.
- 매 틱마다 box_tick 메서드가 호출되어 박스의 상태를 업데이트한다.
3. character.py
- 주요 기능 -- 플레이어 캐릭터의 이동, 아이템 획득, 상태 관리 등을 담당한다.
- 핵심 클래스 -- Character 클래스로 구성된다.
- 주요 메서드 --
- move_up, move_down, move_left, move_right 메서드는 캐릭터의 이동을 처리한다.
- apply_item_effect 메서드는 아이템 효과를 캐릭터에 적용한다.
- get_state 메서드는 현재 캐릭터의 상태를 반환한다.
- 실행 순서 --
- 플레이어가 이동 명령을 입력하면 move_up, move_down, move_left, move_right 메서드가 호출된다.
- 아이템을 획득하면 apply_item_effect 메서드가 호출되어 아이템 효과가 적용된다.
- 매 틱마다 get_state 메서드가 호출되어 캐릭터의 상태를 업데이트한다.
4. item.py
- 주요 기능 -- 아이템의 종류와 효과를 정의하고, 아이템 드롭 로직을 관리한다.
- 핵심 클래스 -- Item 클래스로 구성된다.
- 주요 메서드 --
- return_effect 메서드는 아이템 이름을 받아 해당 효과를 반환한다.
- to_csv 메서드는 아이템 드롭 결과를 CSV 파일로 저장한다.
- 실행 순서 --
- 박스가 파괴되거나 몬스터가 죽을 때 아이템이 드롭된다.
- 플레이어가 아이템을 획득하면 return_effect 메서드가 호출되어 아이템 효과가 적용된다.
- 게임 종료 시 to_csv 메서드가 호출되어 아이템 드롭 결과가 CSV 파일로 저장된다.
5. main.py
- 주요 기능 -- 게임의 메인 루프를 실행하고, 게임 시작 화면을 표시한다.
- 핵심 로직 --
- map_ = Map(): 맵 객체를 생성한다.
- while True: 게임 루프를 실행한다.
- 실행 순서 --
- 게임이 시작되면 Map 객체가 생성된다.
- while True 루프가 실행되어 게임이 진행된다.
- 게임 종료 시 통계가 출력된다.
6. map.py
- 주요 기능 -- 게임 맵의 초기화, 플레이어와 몬스터의 상호작용, 게임 상태 관리 등을 담당한다.
- 핵심 클래스 -- Map 클래스로 구성된다.
- 주요 메서드 --
- initialize 메서드는 맵을 초기화하고, 박스, 아이템, 몬스터 등을 배치한다.
- play 메서드는 게임의 메인 루프를 실행한다.
- statistics 메서드는 게임 종료 후 통계를 출력한다.
- 실행 순서 --
- 게임이 시작되면 initialize 메서드가 호출되어 맵이 초기화된다.
- play 메서드가 호출되어 게임의 메인 루프가 실행된다.
- 게임 종료 시 statistics 메서드가 호출되어 통계가 출력된다.
7. mob.py
- 주요 기능 -- 몬스터(보스와 미니언)의 상태 관리, 공격 패턴, 이동 로직 등을 담당한다.
- 핵심 클래스 -- Boss와 Minion 클래스로 구성된다.
- 주요 메서드 --
- make_atk 메서드는 보스의 공격 패턴을 생성한다.
- renew_min_coord 메서드는 미니언의 좌표를 갱신한다.
- monster_tick 메서드는 각 틱마다 몬스터의 상태를 업데이트한다.
- 실행 순서 --
- 보스와 미니언이 초기화된다.
- 매 틱마다 monster_tick 메서드가 호출되어 몬스터의 상태가 업데이트된다.
- 보스는 make_atk 메서드를 통해 공격 패턴을 생성하고, 미니언은 renew_min_coord 메서드를 통해 이동한다.
8. pos.py
- 주요 기능 -- 좌표를 관리하는 클래스를 제공한다.
- 핵심 클래스 -- Pos 클래스로 구성된다.
- 주요 메서드 --
- __add__ 메서드는 좌표 간의 덧셈 연산을 지원한다.
- to_list 메서드는 좌표를 리스트로 변환한다.
- from_list 메서드는 리스트를 좌표로 변환한다.
- 실행 순서 --
- 좌표 객체가 생성되면 Pos 클래스의 메서드를 통해 좌표 연산이 수행된다.
- 좌표를 리스트로 변환하거나, 리스트를 좌표로 변환하는 작업이 필요할 때 to_list와 from_list 메서드가 사용된다.
전체 실행 순서
- 게임 시작 -- main.py에서 Map 객체를 생성하고, initialize 메서드를 호출하여 맵을 초기화한다.
- 게임 루프 -- play 메서드가 호출되어 게임의 메인 루프가 실행된다.
- 플레이어가 이동하거나 물풍선을 설치하면 Character 클래스의 메서드가 호출된다.
- 물풍선이 설치되면 Bomb 클래스의 tick 메서드가 호출되어 타이머가 감소한다.
- 박스가 폭탄에 피해를 입으면 Box 클래스의 damaged_by_bomb 메서드가 호출된다.
- 몬스터는 monster_tick 메서드를 통해 상태가 업데이트된다.
- 게임 종료 -- 게임이 종료되면 statistics 메서드가 호출되어 통계가 출력된다.
'국비지원교육 > [계룡건설] 빅데이터 기반 GreenTech SW개발자' 카테고리의 다른 글
**[계룡건설] GreenTech SW개발자 - Python 학습 노트 .13** (0) | 2025.03.21 |
---|---|
**[계룡건설] GreenTech SW개발자 - Python 학습 노트 .12** (0) | 2025.03.21 |
**[계룡건설] GreenTech SW개발자 - SQL 학습 노트** (0) | 2025.02.17 |
**[계룡건설] GreenTech SW개발자 - JavaScript 학습 노트 .1** (0) | 2025.02.17 |
**[계룡건설] GreenTech SW개발자 - CSS 학습 노트 .1** (0) | 2025.02.17 |