2015-10-11 2 views
1

Я делаю палач игру как часть уступки меня, хотя я столкнулся с парой проблем:Пары вопросов в моих играх палача

Один вопроса заключается в том, что я не могу сделать когда я начинаю новую игру (она работала, но, наверное, я где-то прищурился).

Другое, что я не знаю, как создавать правильные буквы, где скрытые буквы отмечены как _.

Код довольно длинный, поэтому я разместил соответствующие части, но если вы хотите увидеть его в действии, я разместил его на jsfiddle.

код выглядит следующим образом:

HTML:

<section class="task"> 
    <h3> 
     Task 4 
    </h3> 
    <button id=hangmanbtn>Play!</button> 
    <div id="hiddenCanvas"></div> 
    <p id="lifePool"></p> 
    <div id="buttons"></div> 
    <div id="hold"></div> 
    <canvas id="hangman" height="500px" width="800px"></canvas> 
</section> 

код Javascript, который должен очистить холст.

hangmanbtn.onclick = function(){ 
    hangman(); 
}; 
function hangman() { 

    hangmanStyle(); 
    createbuttons(); 
    incompleteWord(); 

/* 
* RESET CANVAS ON NEW GAME 
*/ 
    var ctx = document.getElementById("hangman").getContext("2d"); 
    ctx.beginPath(); 
    ctx.clearRect(0, 0, hangman.width, hangman.height); 

/* 
* REMOVE CAVNAS OVERLAY & RESTORE BUTTONS 
*/ 
    hangmanbtn.style.display = "none"; 
    hiddenCanvas.style.display = "none"; 
    lifePool.innerHTML = "You have 6 lives"; 
    document.getElementById("buttons").className = ""; 

Javascript code Это самая большая проблема, не могу понять, как ее заменить. Я знаю, что здесь речь идет

myWord[i].innerHTML = guess; 

, но я не знаю, как ее решить.

function wordOnClick() { 

    var guess = this.innerHTML; 
    this.className = "active"; 
    this.onclick = null; 
    for (var i=0; i<saveWord.length; i++) { 
     if (saveWord[i] === guess) { 
      myWord[i].innerHTML = guess; 
      var bool = true; 
      winCounter++; 

     } 
    } 
    if (bool != true) { 
     counter --; 
     animateMan(); 

    } 
    if (counter === 0) { 
     document.getElementById("buttons").className = "active"; 

    } 
    if (winCounter === saveWord.length) { 
     lifePool.innerHTML = "Congratz, you've won!"; 
     hangmanbtn.style.display = "inherit"; 

    } 
} 

Просто сообщите мне, если вам нужно, чтобы я опубликовал любой другой блок кода.

Спасибо, ребята!

+0

Я хотел бы предложить это два вопроса, таким образом, вы можете исследовать и разместить их по отдельности - вы можете найти сочинял хороший, лаконичный вопрос для обоих поможет вам диагностировать проблема (это происходит со мной, написав вопрос о переполнении стека - это подлинная часть процесса отладки), но если нет, это будет проще для потенциальных ответчиков. –

ответ

0

Вы должны сбросить так:

/* 
* RESET CANVAS ON NEW GAME 
*/ 
    var canvas = document.getElementById("hangman"); 
    var ctx = canvas.getContext("2d"); 
    ctx.clearRect(0, 0, canvas.width, canvas.height); 
    ctx.beginPath(); 
+0

Я вижу, спасибо. Но почему мы используем beginPath впоследствии? –

+1

Это не имеет значения, важно то, что вы устанавливаете его на правильную ширину и высоту. –

Смежные вопросы