240126 - 팀과제 3일차

유시아·2024년 1월 26일
0

반갑다.
오늘 한 일? 엄청 많다. 나름..
바로 정리하자

요약
1. 코드카타
2. 스크럼 - 트러블 슈팅
3. 팀과제

=================================================

코드카타

오늘의 문제! 두굳구둑ㄷ구굳국두구
16번문제.

와 이게 뭔소리지?
"x만큼" 간격이 있는 "n개"의 숫자... 내가 지금 문장을 잘 읽고 있는게 맞나...?
아니 일단.. 그래...
예를 들어 x=2, n=5를 입력받았다면 2부터 시작해 2씩 증가하는 숫자를 5개 지니는 리스트를 리턴해야한다. 그럼 2에서 2씩 증가하는 숫자 5개는 2,4,6,8,10 이니까 [2,4,6,8,10]이라는 리스트를 받아야한다.

.... 이걸 어떻게 구현해야하나요......미치겠네....
일단 진정하고.. 작성 예시 코드를 보자

public class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[] {};
        return answer;
    }
}

예시코드에서 배열answer를 long타입으로 선언했다. 그럼 new long[] 안에는 n을 넣어야 쓸 수 있을 것 같다.

long[] answer = new long[n];

그리고 for문으로 시작하자....배열 answer는 x를 i+1만큼 반복하여 더하고, 이걸 n번만큼 반복해서 수행해야하면..

for(int i = 0; i< n; i++){
	answer[i] = x * (i + 1);
    }

일단 테스트는 통과했다. 근데 뭔가 뭔가.. 뭔가임. 엄청 찝찝함.
역시나 채점에서 막혔다.

정답은!!
진짜 생각도 못했다...잠이 덜 깼나? 아니 오버플로우를 제가... 생각할 수 있었으면,,, 벌써 회사 들어가있겠지요...?
하지만 이제 생각해야해... 개발자 하고 싶잖아.....ㅠ
그래서 전체 코드는

public class Solution {
    public long[] solution(int x, int n) {
        long[] answer = new long[n];
        for(int i = 0; i< n; i++){
            answer[i] = (long)x * (i + 1);
        }
        return answer;
    }
}

.......하........... 하루하루 문제를 풀 때마다 아맞다 이거!! 아맞다 이거!! 하면서 자꾸 한큐에 못 풀고 꼭 모범답안을 찾아보게 된다....

스크럼 - 트러블 슈팅

!! 동시에 씬 수정시 컨플릭트 발생하여 한 사람 작업 외에는 다 사라지는 현상 !!

예방법

  1. 씬 수정을 같이 할 때, push 하기 전에 컨플릭트 있는 부분이 있을지 사전에 체크.
  2. 먼저 push 를 했다면, 나중에 push를 하는 사람이 push 적용 된 것을 pull 하고 컨플릭트 요소 있는지 체크하고 자신의 자료와 병합한 뒤 push.
  3. 만약 나중에 push 하는 사람의 작업량이 더 많다면 작업량이 적은 분이 2번의 과정을 거치고 push.

어제도 이 얘기를 들어서 나는 아예 처음부터 팀원들과 씬이름이 겹치지 않도록 했다.
이 방법도 말해주니 팀원들이 괜찮다고 했던 것 같다.

일단 내가 작업하고 있는건 나만 알아먹을 수 있으면 되니까...응... 컨플릭트 나면 골치아프잖아요...히히..

팀과제

과제를 위해 기초 토대를 만들고 팀원들의 코드들과 상의해서 제일 나은 것을 뽑기로 했다.
일단 현재 내 진행 상황은

  1. 게임 시작 씬 설정 - 버튼 클릭 시 (메인게임으로) 씬전환
  2. 배경음 및 효과음 추가

정도로... 아무래도 담당이 사운드다보니까 사운드 고르느라 시간을 좀 많이 써서 메인게임 구현까지는...
아 해야되는데....
각각의 버튼들에 커서를 올릴 때와 클릭 시 하이라이트를 주어 유저가 어떤 버튼을 누르는지 잘 보일 수 있도록 했다.

현재는 메인게임씬에서 플레이어 움직임 구현까지 해냈다!

 public float speed = 3; // 속도:Inspector에 지정
 public float jumppower = 8;  // 점프력:Inspector에 지정

속도와 점프 크기를 지정해준다. 스테이지마다 플레이어의 난이도를 높여야 할 것을 고려해서 인스펙터창에서 쉽게 바꿀 수 있도록.. 현재는 이 정도로 지정

float vx = 0;
bool leftFlag = false; // 왼쪽 방향인지 
bool pushFlag = false; // 스페이스 키가 눌린 상태인지 
bool jumpFlag = false; // 점프 상태인지 
bool groundFlag = false; // 발이 무언가에 닿았는지 

플레이어의 방향 여부와 점프 하기 전 충돌 여부를 설정해준다.
공중에서 무한체공 하면 안되니깐...

if (Input.GetKey("right")) // 만약 오른쪽 키가 눌리면
{ 
    vx = speed; // 오른쪽으로 진행하는 이동량을 넣는다
    leftFlag = false;
}
if (Input.GetKey("left")) // 만약 왼쪽 키가 눌리면
{ // 
    vx = -speed; // 왼쪽으로 진행하는 이동량을 넣는다 
    leftFlag = true;
}
// 만약 스페이스키가 눌렸을 때 발이 무언가에 닿았다면 
if (Input.GetKey("space") && groundFlag)
{ 
    if (pushFlag == false)// 계속 누르고 나가지 않으면
    { 
        jumpFlag = true; // 점프 준비 
        pushFlag = true; // 계속 누른 상태 
    }
} else
{
    pushFlag = false; // 계속 누른 상태 해제 
}
void OnTriggerStay2D(Collider2D collision)
{ // 발이 무언가에 닿으면 
    groundFlag = true;
}
void OnTriggerExit2D(Collider2D collision)
{ // 발에 아무 것도 닿지 않으면 
    groundFlag = false;
}

점프할 때 충돌을 트리거로 해서 충돌중인 상태면 점프가능, 충돌x일때 점프 불가로 제어해준다.
아니 근데 점프가 안돼

왜안돼
왜!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
고쳐야겠다...ㄱ-...
브금도 넣어서 들려주고싶은데 여기서는 들리지 않는 것 같다ㄱ-..

해결할 것
1. 버튼 클릭시 효과음 처리
2. QUIT 버튼 클릭 시 게임 종료 처리
3. 메인게임씬..대충이라도 더 만들어보기...(플레이어 점프 수정!!!!)
4. 팀원들과 더 많은 에셋 공유

배경음 넣는건 쉬웠는데 효과음 넣는게 너무... 어렵다.
아직 공부가 많이 필요하다.

profile
패션컴공탈출기

0개의 댓글