2011-11-21 5 views
2

스크립트로 생성 된 단어 검색 퍼즐을 만들려고합니다. 단어는 가로, 세로 또는 대각선으로 배치해야합니다. 앞으로 또는 뒤로 읽을 수 있는지 여부를 설정하는 옵션이 필요할 수 있습니다. 테이블에 배치해야하는 단어 (사과, 바나나, 포도, 레몬, 배)가 있습니다. 이미 테이블을 만들었지 만 그리드에 단어를 배치하는 방법에 집착하고 있습니다.단어 검색 퍼즐에서 표 그리드에 단어를 배치 하시겠습니까?

몇 가지 설명과 함께 예제를 찾고 있습니다.

아래에있는 내 코드를 참조하십시오

var wordsList =[ 
"apple", 
"banana", 
"grape", 
"lemon", 
"pear" ]; 

var cells = 10; // Numbers of cells horizontally and vertically in table grid 
var cellSize = 15; // in pixels 
var cellSpace = 2; // cell spacing in pixels 

function createPuzzleTable(cells) { 

    var totalNumRows = ""; 
    var totalNumColumns = ""; 

    //creating rows 
    for (r=1;r<=cells;r++){ 
     //creating cells 
     var oneCell = "<td width='" + cellSize + "' height='"+ cellSize + "'><input name='charField' type='text' /></td>"; 
     totalNumRows += oneCell; 
    } 

    //creating columns 
    for (c=1;c<=cells;c++){ 
     totalNumColumns += "<tr>" + totalNumRows + "</tr>"; 
    }  
    var puzzleTableContent = "<div id='puzzleCont'><table id='puzzleTable' border='0' cellspacing='" + cellSpace +"' cellpadding='0'>"+ totalNumColumns +"</table></div>"; 

$("#wPuzzle").append(puzzleTableContent); 

} 

createPuzzleTable(cells); 

답변

1

첫째, 당신은 그리드의 항목을 위치에 쉬운 방법을 설정해야합니다. 클래스 이름 사용 :

<input name='charField' class="r_2 c_3" type='text' /> 

"r_"은 행과 "c_"열을 나타냅니다.

그런 다음 임의로 방향과 위치 (행, 열)를 선택하십시오. 단어가 잘 들어 맞고 사각형이 이미 가득 차 있지 않은지 확인하십시오. 그렇지 않으면 다시 선택하십시오.

그런 다음 r_ c_ 좌표계를 사용하여 격자에 문자를 놓습니다.

반복.

의사 랜덤 필러 데이터로 비어있는 셀을 채 웁니다.

http://code.google.com/p/jquery-wordsearch-game/this code에서보세요 :

+0

각 셀에는 고유 ID가 필요하므로 추가 할 수 있습니다. 그런 다음 배치 방향을 설정하고 각 단어의 글자가 해당 게재 위치에 적합한 지 평가하십시오. 예제를 제공해 줄 수 있습니까? 미리 감사드립니다. – reinhat

+0

간단한 산술입니다. 10 열 그리드의 8 번째 열이고 방향이 오른쪽 일 때 단어 길이가 5 자라면 ... –

+0

수학은 결코 내 장점이 아닙니다. 배치 방향이 대각선이면 어떻게 될까요? – reinhat

1

이미이 작업을 수행 JQuery와 위젯이있다. 전략 패턴을 사용하여 격자를 앞으로, 뒤로, 위, 아래 및 대각선 방향으로 배치합니다. 특히 선 547을보십시오.

배우는 것이 당신의 장점이기 때문에, 재미 있을지도 모르고 아마 그것을하는 더 좋은 방법을 생각해 낼 수도 있습니다.

+0

신난다 !! 나는 오랫동안 이와 같은 것을 찾고있었습니다. 감사. – TryHarder