코린이 부트캠프 일상

코린이 3일차 / 팀 프로젝트 수정 / Class란 무엇이가

게발인개발자 2023. 11. 1. 19:28

오늘 요약

1. 오늘 한 일

-팀원들과 추가한 기능 GitHub를 통해 merge 후 실행, 오류 여부 확인

-실행 후 부족한 부분과 수정사항 정리

-수정사항 수정 후 GiHub Push

 

2. 오늘 공부한 내용

-Class의 정의와 의미 사용이유

 

 

1. 오늘 한 일

 

(1일차 시작전 만든 게임)

 

-해당 게임에 팀원들과 GitHub를 통해 협업하여 추가기능을 추가했습니다.

-클릭할 때(카드 뒤집을 때), 시작할 때, 진행 중일 때 성공, 실패 소리 넣어보기

-스테이지 선택과 현재 해금한 스테이지가 구분 가능한 시작 화면 만들기, 플레이 중 해당 스테이지의 최단 기록 띄워주기

-현재 스테이지(또는 난도)에 따라 카드 배열 증가시켜보기

-결과에 매칭 시도 횟수 표시

-한 번씩 뒤집은 카드는 색을 다르게 표시하기 (옅은 회색 등)

-결과에 점수 표시 - 남은시간, 매칭시도한횟수등을 점수로확산

-타이머 시간이 촉박 할 때 게이머에게 경고하는 기능 작성해보기(시간이 붉게 변하기)

-매칭 실패시 시간 패널티 부여하기

-매칭 성공 시, **팀원의 이름** 표시 / 실패 시 **실패** 표시 (종료 시 끝! 나타나는 것처럼)

-카드 뒤집기에서 실제로 카드가 뒤집어지는 모습 연출하기

 

다행히 게임 제대로 실행 되었고 수정사항 또한 제대로 기능하였습니다.

 

그리고 회의 끝에 추가로 아래 기능을 수정, 추가해줬습니다.

 

-맞추면 +3초, 틀리면 -2초

 

-시간 타이머 줄어드는 방식으로.

(time += Time.deltaTime; 에서

time -= Time.deltaTime; 으로 변경)


-하드랑 이지랑 시간 다르게 하기.

(하드 모드 시작시 -20초)


-카드 전체 한번 보이고 시작.


-스타트신 애니메이션,제목 바꾸기.


-하드 배경색상 변경하기.

 

 

(수정후 게임 모습)

 

2. 오늘 공부한 내용

Class란 무엇인가?

 

제가 사용하는 유니티는 C#을 이용합니다. C#은 객체지향 언어라고 하는데 

객체지향이라는 말을 좀 더 와닿게 설명하고자 합니다.

 

객체지향이란 내가 표현하고 싶은 걸 Class로 만들어서 그 Class를 기반으로

객체를 만드는 프로그램이다.(객체를 기반으로 모든 걸 해결하기 때문에)

 

저같은 초보자분들은 이 말이 와닿지 않으실 텐데요.

제가 예를 들어 설명해 보겠습니다. 

 

ex) 내가 RPG 게임을 만든다고 가정했을 때 필요한 것이 뭐가 있을까요?

---> 플레이어, 몬스터, 퀘스트, 무기.체력, 스킬 등등이 필요합니다.

이러한 속성, 개념들을 Class로 묶어서 객체화(하나의 개념으로) 만들어 줍니다.

 

Class Monster   <<--- 몬스터라는 클래스를 만들겠다.

{ int HP = 300

  int attack = 20        <<--- 몬스터가 가지는 변수를 만들어줍니다.

  int EXP = 45

}

 

이 클래스 몬스터를 가지고

몬스터가 때렸을 떄 데미지를 얼마 받는지 (20)

얼마나 때려야지 죽는지 (300)

잡았을 때 경험치를 얼마나 주는지는 (45)

함수를 통해 만들어주는 것입니다.

 

따라서 C#을 통해 게임을 만들 때에는 제일 중요한 게임에 필요 개념 속성들을 클래스화 시켜서 

클래스에 따른 행동이나 게임 방식을 만들어가는 것이 제일 중요합니다.