- Life(하트) 기능 추가
- 스테이지 이동
- 리팩토링 : stage 객체 수정, 더 이상 stage 객체에서 player 상태 변경 하지 않음, player 또한 stage 객체의 블록을 직접 수정하지 않고 get, set 메소드를 사용
'develop-note > MarioGame' 카테고리의 다른 글
MarioGame 스크롤 버그 (0) | 2020.03.05 |
---|---|
MarioGame UML (0) | 2020.03.03 |
- Life(하트) 기능 추가
- 스테이지 이동
- 리팩토링 : stage 객체 수정, 더 이상 stage 객체에서 player 상태 변경 하지 않음, player 또한 stage 객체의 블록을 직접 수정하지 않고 get, set 메소드를 사용
MarioGame 스크롤 버그 (0) | 2020.03.05 |
---|---|
MarioGame UML (0) | 2020.03.03 |
위와 같이 while문 안에 if 문을 써서 조건을 만족하면 break 문을 사용하여 while 문을 탈출 시킬수 있다
그런데 조건문중에 switch 문이 존재하고, while문과 switch 문을 아래와 같이 사용하면
break 문이 있다 치더라도, while문을 빠져나오지 못한다, 이유는 switch 문 안에 break문의 용도는
다음 케이스 문을 거치지 않고, switch문을 중단 시키는 용도 뿐이지, while문을 빠져나오진 못한다
빠져나오게 하고 싶다면, switch 문을 가장 마지막에 두고, switch 문의 case 를 만족할때
while문의 조건을 두고 있는 bool 변수를 false 시키는 것이다, 그러나, while 문안에 if문, break문 처럼
원하는 부분에서 중단 시킬 수 없다
또는 return 문을 써서 switch 문도 while 문을 원하는 지점에서 바로 탈출 할 수 있기는 하지만 그와 동시에 전체 함수가 종료 된다.
C언어, Queue, pop() 구현하던 도중 shallow copy와 비슷한 문제 발생 (0) | 2020.03.18 |
---|---|
member initializer list 사용시 주의 (0) | 2020.03.17 |
EX02 HEAP CORRUPTION DETECTED (0) | 2020.03.07 |
EX01_읽기 엑세스 위반 (0) | 2020.03.07 |
동적 할당을 하는 프로그램을 만들던 도중, free() 함수를 실행할때 에러 발생
Google에 찾아보니, 할당한 영역을 벗어나서 접근하게 될경우 발생하는 에러 라고 함
/*Decoding */
FileStreamInit(&fileStream, fileName, "r"); //파일크기에 따른 g_CodeSize 초기화
if (g_CodeSize == 0)
{
printf("\nError, No data in codefile, zero codeSize\n");
exit(1);
}
g_Buffer = (char*)calloc(g_CodeSize, sizeof(char));
fread_s(g_Buffer, g_CodeSize, sizeof(char), g_CodeSize, fileStream);
decode(g_Buffer, g_CodeSize);
아래 decode 함수에서 str[i] != '\0' 이 원인 이었음
i 가 size 만큼만 i++ 해야 되는데, 범위를 넘어서 버린듯
void decode(char* str,size_t size)
{
size_t i = 0;
while( i < size )
{
str[i] -= 3;
i++;
}
}
C언어, Queue, pop() 구현하던 도중 shallow copy와 비슷한 문제 발생 (0) | 2020.03.18 |
---|---|
member initializer list 사용시 주의 (0) | 2020.03.17 |
주의_1 while 문 안에 switch를 사용할 때 (0) | 2020.03.07 |
EX01_읽기 엑세스 위반 (0) | 2020.03.07 |