Skip to Content
💻 코리아IT아카데미 신촌 - 프로그래밍 학습 자료
실전 프로젝트레벨 6포켓몬 배틀

⚡ 포켓몬 배틀

📋 프로젝트 개요

클래스를 활용하여 포켓몬 캐릭터와 배틀 기능을 구현해보세요. 객체지향 프로그래밍의 핵심 개념을 재미있는 게임을 통해 익힐 수 있습니다!

🎯 학습 목표

  • 클래스 설계와 구현
  • 객체 간 상호작용 구현
  • 메서드를 활용한 기능 구현
  • 특수 메서드 활용

🚀 기본 기능

핵심 요구사항

포켓몬 클래스와 간단한 배틀 구현

  1. Pokemon 클래스 설계

    • 이름, HP, 공격력, 타입 속성
    • 공격하기 메서드
    • HP 회복 메서드
  2. 포켓몬 생성 및 관리

    • 새 포켓몬 등록
    • 포켓몬 목록 보기
    • 포켓몬 상태 확인
  3. 간단한 배틀

    • 두 포켓몬 선택
    • 턴제 공격
    • 승패 판정

💻 출력 예시

=== 포켓몬 월드 === 1. 포켓몬 등록 2. 포켓몬 목록 3. 포켓몬 배틀 4. 종료 선택: 1 === 포켓몬 등록 === 이름: 피카츄 HP: 100 공격력: 40 타입: 전기 ⚡ 피카츄가 등록되었습니다! 선택: 3 === 포켓몬 배틀 === 첫 번째 포켓몬: 피카츄 (HP: 100) 두 번째 포켓몬: 파이리 (HP: 90) 🥊 배틀 시작! 턴 1: 피카츄의 공격! ⚡ 피카츄가 파이리를 공격했다! 💥 40의 데미지! 파이리 HP: 50/90 턴 2: 파이리의 공격! 🔥 파이리가 피카츄를 공격했다! 💥 35의 데미지! 피카츄 HP: 65/100 ... 🏆 피카츄 승리!

💡 구현 힌트

  • Pokemon 클래스에 __str__ 메서드를 구현해보세요
  • HP가 0 이하가 되면 배틀이 끝나도록 하세요
  • 타입에 따른 이모지를 표시해보세요

🎨 추가 기능 1: 스킬 추가

요구사항

포켓몬이 여러 스킬을 사용할 수 있도록 스킬 시스템을 추가합니다.

  • Skill 클래스: 스킬 이름, 데미지, 설명
  • 스킬 목록: 포켓몬마다 2-3개의 스킬 보유
  • 스킬 선택: 배틀 시 사용할 스킬 선택

스킬 사용 예시

피카츄의 턴! 사용할 스킬을 선택하세요: 1. 전광석화 (데미지: 50) 2. 몸통박치기 (데미지: 30) 선택: 1 ⚡ 피카츄가 전광석화를 사용했다! 💥 파이리에게 50의 데미지! 파이리 HP: 40/90

💡 추가 기능 2: 타입 상성

요구사항

포켓몬 타입 간의 상성을 구현하여 더 전략적인 배틀을 만듭니다.

  • 타입 상성: 불꽃 > 풀, 물 > 불꽃, 풀 > 물, 전기 > 물
  • 데미지 보정: 효과적일 때 1.5배, 비효과적일 때 0.5배
  • 상성 메시지: 효과에 따른 메시지 출력

타입 상성 예시

⚡ 피카츄가 전광석화를 사용했다! 🎯 효과가 굉장했다! (전기 > 물) 💥 파이리에게 75의 데미지! (50 × 1.5) 파이리 HP: 15/90

🔍 추가 기능 3: 경험치와 레벨업

요구사항

배틀을 통해 경험치를 얻고 레벨업하는 시스템을 추가합니다.

  • 경험치 획득: 배틀 승리 시 경험치 100 획득
  • 레벨업: 경험치 100마다 레벨 1 증가
  • 스탯 증가: 레벨업 시 HP와 공격력 증가

레벨업 예시

🎉 피카츄가 레벨업했다! 레벨: 2 → 3 HP: 100 → 110 공격력: 40 → 45

✅ 프로젝트 완성 체크리스트

✅ 포켓몬 배틀 완성 체크리스트

💡 학습 포인트

이 프로젝트를 통해 다음을 학습할 수 있습니다:

  1. 클래스 설계: 게임 캐릭터를 클래스로 모델링
  2. 객체 상호작용: 포켓몬끼리 공격하고 데미지 받기
  3. 메서드 활용: 기능별로 메서드 분리하여 구현
  4. 특수 메서드: __str__ 메서드로 객체 표현
  5. 게임 로직: 턴제 시스템과 승패 판정

단계별로 구현하면서 객체지향 프로그래밍의 핵심을 자연스럽게 익힐 수 있습니다! 🚀

Last updated on