카테고리 없음

1.캐릭터 만들기 시스템!

디비드킴 2021. 4. 22. 14:15

1번 부모 클래스 만들기

캐릭터가 thor든 iron man이든 모두 이들은 캐릭터라는 부모를 가진다

간단하게 시작해야한다

일단 체력 하나만으로 하겠다!

여담으로 나중에 장비들을 만들면 저 hp->armorhp/weaponhp 등 이렇게 나눠줘야 한다!

skillone 즉 게임에서 예를 들어 z를 누르면 캐릭터마다 나가는 스킬이 다를 거다

그렇게 해주려면 c++기준 가상 함수가 필요하다! 가상 함수 부분인

skillone()은 비워놓는다!

 

그다음 thor를 보자!

thor클래스

thor()라는 생성자를 만들어준다!

 

주의할 점

1.c++과 다르게 여기는 생성자 앞에 public을 붙여줘야 쓸 수 있다! 

원리는 비슷하다 c++ public밑에 생성자를 써주는 것처럼!

2. 자바는 @override라고 사용할 함수에 붙여주면 된다 

3.extends/까먹지 말고 잘 상속받기 ㅎㅎ

 

iron man으로 가보자!

ironman

역시 같이 작성해주고 

thor 구별되도록 체력/skillone을 다르게 작성해준다!

 

대망의 메인으로 가보자!

조금 복잡해 보이지만 전혀 그럴거없다!

import character.*;

import java.util.Scanner;

-외부 패키지 받아오기!

 

 unit u; 빈 부모 개체 생성!

Scanner scnew Scanner(System.in);

int a=sc.nextInt();

-지옥의 사용자 입력받기 코드

   try { 

        if(a==1)///입력이 1이면 

        {

            u=new thor(); //토르 개체 넣어주기

        }

        else if(a==2)

        {

            u=new ironman();//2이면 아이언맨 개체 

        }

        else{

            u=null;/////////1/2둘다 아니라면 

        }

        u.printfhp();

        u.skillone();

          

      } catch (Exception e) {

          System.out.println("잘못된 직업 선택"+e.getMessage());

      }

 여담으로 자바는

   if(a==1)///입력이 1이면 

        {

            u=new thor(); //토르개체넣어주기

        }

 u.printfhp();

 u.skillone();

이렇게만 쓰면 오류가 난다...

이게 왜 오류야 하고 두 시간 사투 끝에 

홧김에 

else

{

u= new unit();

}

추가 했더니 빌드되는 걸 보고 

바로 이거였냐 하고 자바는 생각보다 똑똑하다고 느꼈다 ㅋㅋㅋ

 

실행화면

잘 작동한다!