프로그램의 방향이 잡혔다면, 내가 잡은 방향에 문제는 없는지 본격적인 작업에 앞서 테스트 해보자.
방향잡기에서 정리한 조건대로 프로그램이 온전히 실행되는지 알기위해,
임의로 "망,둥,이,,오,치,,발,전,기,,열,,자,,,기,,제,,전,구,,품,절" 데이터를 돌려보자.
우선 "망,둥,이,,오,치,,발,전,기,,열,,자,,,기,,제,,전,구,,품,절"로 몇칸의 낱말퍼즐을 만들 수 있는지 체크해야 한다.
string puzzleStr = "망,둥,이,,오,치,,발,전,기,,열,,자,,,기,,제,,전,구,,품,절";
함수 ArraySetting을 호출해 string 형태의 문제(puzzleStr )를 배열형태로 바꿔준다.
호출방법: ArraySetting(puzzleStr );
ArraySetting은?
string형식으로 받은 문제를 배열 형태로 바꿔주는 함수.
string으로 입력받은 문제을 ','단위로 잘라 배열변수(_tempData)에 넣어준다.
string[] _tempData = puzzleStr를 ','단위로 자름.
string puzzleStr을 배열형태로 만들어주는 함수 public string[] ArraySetting(string puzzleStr) { string[] tempData = puzzleStr.Split(','); return tempData; } |
string문제를 배열로 바꿨다면, 배열로 바뀐 문제(_question)를 가지고 번호를 생성하자.
방향잡기에서 만든 조건대로 이전,다음,상위,하위값을 조건으로 명시하고, 조건에 해당하는 배열의 위치에만 번호를 넣어준면 된다.
요렇게~~~~~~
if (OverValue == "" && LowerValue != "" || PreviewValue == "" && NextValue != "")
{
puzzle_number++;
pNum[i] = puzzle_number;
}
자~~ 이제 다음은 어떻게 OverValue, LowerValue, PreviewValue, NextValue를 찾아 내는지다.
배열[0]~배열[24]가 모두 이전,다음,상위,하위값을 가지지 않았기 때문에
다음과 같이 값을 가지고 있는 아이들만 추려 if문을 돌려줘야 한다.
//다음값은 요렇게~~
Ex) i = 14일 경우 / 5×5 = 25의 num은 5 / 14%5 = 2..4 / 나머지 = (num - 1) / 4 = 4 /이므로 false
Ex) i가 빨간 테두리안의 13일 경우 / 5×5 = 25의 num은 5 / 13%5 = 2..3/ 나머지 = (num - 1) / 3 = 4 /이므로 true
if ((i % num) != num - 1)
{
NextValue = StrChk(question[i + 1].Trim());
}
호출방법: ArrayNum(_question);
ArrayNum은?
string [] _question에 번호를 생성해주는 함수 #region for문 //이전 pNum[i] = 0; |
번호를 생성하는 함수 ArrayNum함수 내에서 사용되는 함수
MultiplyNum은? | StrChk은? |
테이블이 가로세로 몇 칸으로 구성됐는지 알기위해 필요한 값이다. <ex 25칸 5*5 num은 '5'> int num = multiplyNum(question.Length); question.Length = 문제의 길이 = 25 |
넘어온 값이 ""인지 아닌지 검사하는 함수다. ""라면 그대로 ""를 리턴 할 것 이고, ""이 아니라면 넘어온 값을 리턴해 줄 것이다. 여기서 StrChk 함수로 넘어오는 값은 모든칸의 전,후,상,하 의 값이다. |
int Length를 나눠 구성값을 만들어주는 함수 public int multiplyNum(int Length) { int num = 0; for (int i = 3; i < 9; i++) { int an = Length / i; if (i == an) { num = i; } } return num; } |
string question의 값을 체크해서 넘겨주는 함수 public string StrChk(string question) { string returnStr = ""; if (question != "") { returnStr = question; } return returnStr; } |
'ASP.NET_ 낱말퍼즐 > 화면구성' 카테고리의 다른 글
ASP.NET으로 '낱말잇기 퍼즐'만들기_ Default.aspx / PuzzleWrite.aspx / PuzzleView.aspx (0) | 2011.02.11 |
---|