Pastie now auto-senses if line-wrap is a bad or good idea. Feedback?
## mark a section (Learn more)
var word; var answer; var play; function reset_game(){ $.get("wordlist.txt", setup_game); } function setup_game(wordlist){ answer = ""; play = 0; word = wordlist.split(/\n/)[Math.floor(Math.random() * 100001) % 1175]; $('#hangman img').attr("src", "img/0.gif"); $("#answer").html(word.replace(/./g, "_ ")); $("#character_list").html(""); for(i = 97; i <= 122; i++) { s = String.fromCharCode(i); $("#character_list").append("<a href=\""+s+"\" onclick=\"guess('"+s+"');return false;\">"+s+"</a> "); } } function refresh_answer_list(){ answer_list = ""; for(i = 0; i < word.length; i++) { if(answer.match(word.charAt(i))) { answer_list += word.charAt(i) + " "; } else { answer_list += "_ "; } } $("#answer").html(answer_list); } function increment_hang_man(){ $('#hangman img').attr("src", "img/"+play+".gif"); } function check_winning() { if($("#answer").html().match(/_/) == null){ alert("You win!"); $("#character_list a").removeAttr("href").removeAttr('onclick'); } else if(play >= 8) { alert("Game over!"); $("#answer").html(word.replace(/(.)/g, "$1 ")); $("#character_list a").removeAttr("href").removeAttr('onclick'); } } function guess(chr){ if(word.match(chr) != null){ answer += chr; refresh_answer_list(); } else { play++; increment_hang_man(); } $("#character_list a[href$='"+chr+"']").removeAttr('onclick').removeAttr("href"); check_winning(); } $(document).ready(reset_game);
This paste will be private.
From the Design Piracy series on my blog: