api 기반 사다리 게임

1. sadari.zip
api 기반 사다리 게임
// 알고리즘 설명 : 굳이 알고리즘을 설명 하자면,...
// 우선, 2차원 배열을 만든다.
// 하나의 배열안에는 3가지 경우가 들어 갈수 있다. 'ㅣ' 또는 'ㅓ','ㅏ'
// 각각을 번호로 0, 1, 2 라고 하면, 판을 그릴때, 위의 3가지 형태의 모습만 띄게 된다.
// 하지만, Random으로 그냥 그리면, 연결된 선이 안 나온다.
// 2개의 배열을 비교해 보면, 총 9가지 경우의 수가 나올수 있다.
//0,00,10,21,01,1... 등등등...
//옆 종이에다가 그림을 그려 보아라, 'ㅣ'(0) 다음에 나올수 있는 제대로 된 그림을..
//0-0,0-1 가능 ,0-2 불가능 ,1-0 불가능 ,1-1 불가능 ,... 이런식으로 구별이 된다.
// 이것을 함수화 한 것이 newmap() 이다.
// 그리고, 처음과 마지막 부분을 다시 고쳐 주면, 멋진 사다리가 나올 것이다.
//그 다음 할 것이, 변화되는 부분을 따라가면서 bitmap 파일을 바꾸어 주는 것이다.
// 어떤 사람은 라인을 직접 그려서 하는 것을 봤으나, 재밌게 바꿀수 있게 그림으로 하는 것이 더 좋아 보여서
// 그림으로 선택하게 되었다. 만일, 라인을 직접 그려서 하려면, bitmap 부분만 손 대면 될 것이다.
// drawscreen() 함수에서 그리는 작업을 하므로, 그곳에서 변별해주고 map에서 표시해 주면 될 것이라고 예상해서,
// 그런식으로 프로그램을 구성했다.
// 따라서, 아까의 map 에서 5가지의 경우의 수가 더 들어 가게 되었다.
// 우선 0번- 3번 ,1-4,5,2-6,7 번으로 구성하였다.
// 3번은 지나갈때 색깔이 변화된 부분을 나타낸다. 나머지 4,5,6,7번도 마찬가지인데,
//4,5 번은 위에서 오느냐 , 옆에서 오느냐에 따라 선택이 나눌수 있다. OneSide 플래그..
// 또한 눈여겨 보아야 할 것은 ... SetPoint 함수 부분이다.
// 다음 위치의 값에 따라, 0- 아래로 Y++,1-X++ or Y++,2-X-- or Y++
//을해 주면, 관련된 값이 변하게 된다.
// 시작점 (x,y)-> next setpoint (x, y)-> drawscreen() 그리기... 끝인가? 아니면, 계속 next ...
// 이런식으로 해주면 된다.
// 알고리즘 설명 : 굳이 알고리즘을 설명 하자면,...
// 우선, 2차원 배열을 만든다.
// 하나의 배열안에는 3가지 경우가 들어 갈수 있다. 'ㅣ' 또는 'ㅓ','ㅏ'
// 각각을 번호로 0, 1, 2 라고 하면, 판을 그릴때, 위의 3가지 형태의 모습만 띄게 된다.
// 하지만, Random으로 그냥 그리면, 연결된 선이 안 나온다.
// 2개의 배열을 비교해 보면, 총 9가지 경우의 수가 나올수 있다.
//0,00,10,21,01,1... 등등등...
//옆 종이에다가 그림을 그려 보아라, 'ㅣ'(0) 다음에 나올수 있는 제대로 된 그림을..
//0-0,0-1 가능 ,0-2 불가능 ,1-0 불가능 ,1-1 불가능 ,... 이런식으로 구별이 된다.
// 이것을 함수화 한 것이 newmap() 이다.
// 그리고, 처음과 마지막 부분을 다시 고쳐 주면, 멋진 사다리가 나올 것이다.
//그 다음 할 것이, 변화되는 부분을 따라가면서 bitmap 파일을 바꾸어 주는 것이다.
// 어떤 사람은 라인을 직접 그려서 하는 것을 봤으나, 재밌게 바꿀수 있게 그림으로 하는 것이 더 좋아 보여서
// 그림으로 선택하게 되었다. 만일, 라인을 직접 그려서 하려면, bitmap 부분만 손 대면 될 것이다.
// drawscreen() 함수에서 그리는 작업을 하므로, 그곳에서 변별해주고 map에서 표시해 주면 될 것이라고 예상해서,
// 그런식으로 프로그램을 구성했다.
// 따라서, 아까의 map 에서 5가지의 경우의 수가 더 들어 가게 되었다.
// 우선 0번- 3번 ,1-4,5,2-6,7 번으로 구성하였다.
// 3번은 지나갈때 색깔이 변화된 부분을 나타낸다. 나머지 4,5,6,7번도 마찬가지인데,
//4,5 번은 위에서 오느냐 , 옆에서 오느냐에 따라 선택이 나눌수 있다. OneSide 플래그..
// 또한 눈여겨 보아야 할 것은 ... SetPoint 함수 부분이다.
// 다음 위치의 값에 따라, 0- 아래로 Y++,1-X++ or Y++,2-X-- or Y++
//을해 주면, 관련된 값이 변하게 된다.
// 시작점 (x,y)-> next setpoint (x, y)-> drawscreen() 그리기... 끝인가? 아니면, 계속 next ...
// 이런식으로 해주면 된다.