오늘의 할일

가로세로 일치 조건 검사문 수정 ...............clear

기존에 만든 함수 수정해서 상하좌우 블록 가져오는 함수들에 대입하기...............clear

 

 

 

오늘의 한 일..

 

 

< 코드 검사(Unit test)>

 1) 상하좌우 블록 유무 검사 함수 검사

 2) 상하좌우 블록 가져오기 함수 검사

 

< 코드 수정>

 3) 매치 검사 수정 (상시검사 or 클릭이동 검사 -> 블록이 움직이지 않을 때 검사 하도록, 보드에 신호받아 처리)

 4) 줄 이동 함수 수정 (밑에서 위의 블록 끌어내리기 -> 밑에 블록이 있는지 체크 후 이동) 

5) 블록 백터 이터레이터로 선언한 맴버변수를 블록 클래스로 변경..

6) 중복되는 변수들 안쓰는 함수들 정리

 

 

 

 

 

너무 종일 고생해서... 나온건 없는데 고생을 엄청 해서..

길게 포스팅 할 여력이 없다..

 

1. 가운데에 부분에 있는 블록이,, 상하 좌우가 없어진 상태에서 무언가를 하려고 하면 가끔 터짐.

2. 가로블록이 없어질 때 오류가 가끔 많이 자주 생김..

 

결론적으론 해결 한 것 같다.

일단 하나씩 하나씩.. 제일 중요하다 생각하는, 상하좌우 블록 가져오기, 일치 조건 검사문 테스트를 했다..

여기에서.. 문제가 우선 하나 발견.

상하좌우 블록이 아닌 블록을 클릭했을 때 취소처리를 하는데..

상하좌우 블록 가져오기와 상하좌우 방향 반환하는 함수 등등에서 예외처리가 안되어가지고 ㅠㅠ

그래서 계속 오류가 났었다..

return 값이 있는 함수에선,, 반드시 if문과 상관없는 default return 값이 있어야한다... 메모..메모..

 

 

 

모든 함수를 다 막았다..

마우스 클릭했을 때 상하좌우 블록이 NULL인지 체크하는 변수를 만들어서,

인자로 클릭한 블록 클래스를 넣어줘서 테스트.

 

성공적..

이걸 시작으로 몇개 함수를 정리하고.. 전체적으로 코드갈이를 싸악 했다..

 

 

 

 

 

 

블록이 사라지면서 위에 있는 블록을 가지고 내려오는 접근방법은.. 

아무리 생각해봐도 잘못된 방법 인 것 같았다.

객체지향 아닌가 객체지향향! 각각의 객체들이 알아서 움직이고 그래야징.

 

 

그래서 생각하고 생각한 결과... 

현재 (어제까지) 상태였던 코드 이동 조건 / 매치 삭제 후 행동을 바꿨다.

 

 

* 밑에서 블록이 내려가며 위에 있는 블록한테 자기 인덱스를 건네주는 방법이 아닌,,

블록이 "내 밑에 뭐 있어?" 라고 물어보고,, 없으면

보드가 "없네~ 내려가~~" 라고 하는 형식으로.

 

* 블록이 사라질 때, "나 간다.. 안뇽..(일치되서 삭제함수 불림)" 하면,

보드가 "아앗,, 신규블록 생성!!!" 하도록..

 

 

그리고 그것들을 위해 오늘 가장 시간을 많이 투자하고 고생하고.. 삽질도 많이했던..

결과물이다..

 

1) 블록 지우기

2) -1 라인에 신규 블록 생성

3) 블록들이 내 밑에 누구있어?? 라면서 검사 요청

4) 보드가 검사하고 밑에 없으면 밑의 인덱스를 반환해줌
5) 각자 자신의 인덱스위치로 알아서 감.

 

 

 

하.. ... 뿌듯해.. 

별거 아닌거 같은데.. ㅠㅠ.. 왜 고작 이걸로.. 이렇게... 고생을 하고 있는지..

아니면 별거인건가..? 

 

 

 

내일의 할일

오늘 만든 코드들 적용해서 블록 터트리고 내려오게 하기. (금방 하겠지..?)

일치하지 않으면 되돌아가기

특수블럭 옵션 추가하기

 

흐엥.. 할일이 밀려나고 있다..

그래도 뭔가 제대로 된 방향으로 가고 있는 것 같아서 혼자 그걸로 만족.

 

짧게 서너줄만 할랬는데 엄청 길게썼네... ㅎ

'Project (C++) > 1 Month Project' 카테고리의 다른 글

2주차 - 다섯째날  (0) 2019.11.22
2주차 - 넷째날  (0) 2019.11.21
2주차 - 둘째날  (0) 2019.11.19
2주차 - 첫째날  (0) 2019.11.18
1주차 - 여섯째날  (0) 2019.11.16
Posted by 파인애옹
,