2010-03-07 9 views
0

"워드 디코더"게임을 구현하십시오. 이 게임은 플레이어에게 일련의 스크램블 된 단어 (최대 20 단어)를 제시하고 해독 시도를 시도합니다. 매번 새로운 단어가 표시되고 사용자가 스크램블되지 않은 단어를 쓰도록 텍스트 입력이 제공됩니다. 플레이어가 단어가 제대로 해독되었다고 생각하면 "답변 확인"버튼을 클릭합니다. 플레이어의 대답이 맞으면 점수가 1 씩 증가합니다. 그의 대답이 정확하지 않다면 그는 통보를 받고 다른 말을 듣게됩니다.자바 스크립트에 의한 워드 디코더?

나는 질문을 이해했다. 그러나 나는 그것을 어떻게 생성하는지, 심지어 그것을 시작하는 방법을 모른다! 도움이 필요하십니까?

+0

한 가지 명심해야 할 것은 많은 단어가 아나그램이며, 문자를 하나 이상의 올바른 단어를 만들기 위해 재 배열 할 수 있습니다. 어느 단어도 아나 그램이 아니거나 각 단어에 대한 올바른 답을 찾으십시오. – kennebec

답변

0

XHR을 통해 사전로드.
거기에 온라인으로 사용할 수있는 톤이 있습니다 [http://www.mieliestronk.com/wordlist.html 참고 사항 : 당신은 숙제 이후 학업 목적으로 이것을 할 예정이라면 몇 가지 맹세 단어가 포함되어 있습니다, 당신은 "깨끗한"목록을 찾아야한다] ... 단어를 스크램블링를 들어

: 문자 배열로 문자열을, 다음 ...

function shuffle(b) 
{ 
    var a = b.concat([]); //makes a copy of B, b won't be changed... 
    var final = []; 
    while(a.length != 0) 
    { 
     //0 -> a length-1 
     var targIndex = Math.round((a.length-1)*(Math.random())); 
     var value = a[targIndex] 
     a.remove(targIndex); 
     final.push(value); 
    } 
    return final; 
} 

때 배열 셔플 기능 [그들은 내가보고 정렬 내 구현을 위해 하나를 작성, 쓰기 간단합니다]를 찾을 수 사용자가 입력을 마쳤습니다. 단순히 입력을 답과 비교하십시오. [대소 문자를 구분하지 않습니다. 공백을 무시하십시오] 주석에 명시된 바와 같이, 아나그램이있을 수 있으므로, 반드시 확인하십시오 e ... 아마도 사전에 단어가 있는지 간단히 확인할 수 있습니다.

+0

알아 들었어! , 고마워요, 당신의 생각은 조금 이상한 질문 아이디어입니다 내 코드를 씹어 .. 정확하지는 않지만 적어도 그것으로 시작합니다. 당신은 매우 도움이 될 것입니다 방법을 수정하는 어떤 생각을 ,,이있는 경우 – Alaya

1

시작하려면 문제를 원하는 것으로 분해하십시오. 명사와 동사를 생각해보십시오. 이것은 단순히 새로운 용어로 문제를 다시 작성하는 것입니다. 당신이 필요합니다 :

    단어 : 그냥 문자열,하지만 당신이 필요합니다, 그래서 그것을 나열합니다.
  • 사전 : 단어의 모음 (테스트하는 동안, 당신이 많이 필요하지 않습니다)에서
  • 디스플레이를 선택 :이 될 HTML 요소를, 당신은 JS와 협력하고 있기 때문에
    • 워드 스크램블
    • 텍스트 입력
    • 는 대답
    • "오답"통지
    점수를 확인 버튼을 제출
  • 단어를 뒤섞어서 단어를 비교하는 방법
  • : 두 단어를 비교하여 다른 단어의 순열인지 어떻게 볼 수 있습니까? 올바른 작업을 수행하면 아나그램이 문제가되지 않습니다.
  • 이 점수
  • 새로운 스크램블 단어

"에"는 동사로 시작하는 항목을 제시

  • 를 오답의 사용자에게 통지 증가에 대한 답변을 확인합니다; 다른 것은 명사입니다. 명사가 대상이되고, 동사가 방법/기능이됩니다.

    위에은 (상향식 VS 그 하향식 유의 양자 택일 또는 제안하지 않다) bottom-up와 달리, 대부분 top-down 접근법이다. 어디에서 시작할지 모르는 다른 방법은 test driven development 또는 그 파생어 인 behavior driven development입니다. 이것들을 통해 코드에서 프로그램이 무엇을해야하는지 정의한 다음 시작하여 세부 사항을 작성하여 코드를 작성하십시오.

    즉 비교에 힌트 하나는 다른 순열이면 문제는 기본적 equivalence class - 두 문자열을 정의하는 등가이다. 문자열의 순열은 함께 취해 그 문자열에 대한 등가 클래스를 형성합니다. 문자열이 동일한 경우 두 개의 문자열이 동일한 동등 클래스에 있습니다. 링크 된 문서가 가리키는 것처럼 클래스의 단일 요소를 클래스 대표로 선택하여 등가 클래스를 잘 나타냅니다. 마지막으로 등가 클래스 정의를 돌릴 수 있습니다. 두 문자열은 동일한 등가 클래스에있는 경우 서로의 순열입니다.

  • +0

    : 나는 당신의 팁과 설명과 함께 갔다 .. 나는 그것을 감사 ... D의 고맙습니다 많이는 하나님이 숙제에 좋은 시작 당신에게 – Alaya

    0

    이것은 내가 너희에게서 얻는 것이다! 작업 3

    <script type="text/javascript"> 
    
         function check() 
         { 
    
    
          var correctArray = new Array ("cat", "car"); 
          correctArray[0]= 0; 
    
          var wrong = new Array("tac", "rac"); 
          var score = 0; 
    
          if(correctArray().index.length == wrong().index.length){ 
           alert("This is correct:" , correctArray()); 
    
          }else{ 
    
           alert(" please try again "); 
          } 
           return correctArray++, score++; 
         } 
    
        </script> 
    
    
    </head> 
    <body> 
    
    
        <form> 
         <h3> Words Decoder </h3> 
    
         The scrambled word is: <input type="text" name="showlabel" value="" disabled="disabled" onclick='check().getElementById("wrong")' /> <br/><br/> 
    
         Please enter the unscrambeld word: <input type="text" name="userInput" value="" /> 
    
         <input type="submit" value="Check" onclick="check()" /><br/><br/> 
         The Score is : <input type="text" name="score" value="" disabled="disabled" /><br/><br/> 
    
    
    
        </form> 
    
    
    </body> 
    

    그것을 위해 같이해야한다 :

    할당 1 .. 난 다른 코드를 생성 ,,하지만 메신저 적합한 솔루션을 알아 내려고 쓸 것 예 :

    "tac"이라는 단어가 표시됩니다. 사용자가 "cat"을 입력합니다. 대답은 정확하고 사용자 점수는 1입니다. "niol"이라는 단어가 표시됩니다. 사용자가 "oinl"을 입력합니다. 대답이 정확하지 않고 사용자에게 경고를 보내며 점수는 그대로 유지됩니다. 다음 단어가 게임에 표시됩니다. 마지막 단어 다음에 최종 점수가 플레이어에게 주어집니다.

    +0

    축복 ,하지만 새로운 문제가 생기면 새로운 질문을해야합니다. StackOverflow는 포럼이 아닌 Q & A 사이트입니다. 답변 게시물은 질문에 대한 답변이어야하며 설명 및 추가 정보는 원래 질문 (또는 답변)을 편집하여 작성해야합니다. 설명이나 질문이나 답변에 포함되지 않은 다른 메모는 의견 (이 내용과 같이)으로 작성되어야합니다. 50 명의 담당자가 있으며 항상 자신의 질문을 할 때 다른 사람의 질문에 대해 언급 할 수 있습니다. – outis

    +0

    SO FAQs (http://stackoverflow.com/faq)를 아직 읽지 않았다면 SO가 어떻게 구성되어 있는지 익숙해지기 만하면됩니다. 또한 효과적인 질문에 대한 도움말은 http://catb.org/~esr/faqs/smart-questions.html을 읽어야합니다. – outis

    +0

    확인. 도와 줘서 고마워. 나는 그것들을 읽을 것이다. – Alaya

    관련 문제