|
| 1 | +<?php |
| 2 | +header("Content-Type: text/javascript; charset=utf-8"); |
| 3 | +#header("Cache-Control: max-age=31536000, public"); |
| 4 | +?> |
| 5 | +document.getElementById("guessword").innerHTML=""; |
| 6 | +function getWord(){var a=new Array("abate","aberrant","abscond","accolade","acerbic","acumen","adulation","adulterate","aesthetic","aggrandize","alacrity","alchemy","amalgamate","ameliorate","amenable","anachronism","anomaly","approbation","archaic","arduous","ascetic","assuage","astringent","audacious","austere","avarice","aver","axiom","bolster","bombast","bombastic","bucolic","burgeon","cacophony","canon","canonical","capricious","castigation","catalyst","caustic","censure","chary","chicanery", |
| 7 | +"cogent","complaisance","connoisseur","contentious","contrite","convention","convoluted","credulous","culpable","cynicism","dearth","decorum","demur","derision","desiccate","diatribe","didactic","dilettante","disabuse","discordant","discretion","disinterested","disparage","disparate","dissemble","divulge","dogmatic","ebullience","eccentric","eclectic","effrontery","elegy","eloquent","emollient","empirical","endemic","enervate","enigmatic","ennui","ephemeral","equivocate","erudite","esoteric","eulogy", |
| 8 | +"evanescent","exacerbate","exculpate","exigent","exonerate","extemporaneous","facetious","fallacy","fawn","fervent","filibuster","flout","fortuitous","fulminate","furtive","garrulous","germane","glib","grandiloquence","gregarious","hackneyed","halcyon","harangue","hedonism","hegemony","heretical","hubris","hyperbole","iconoclast","idolatrous","imminent","immutable","impassive","impecunious","imperturbable","impetuous","implacable","impunity","inchoate","incipient","indifferent","inert","infelicitous", |
| 9 | +"ingenuous","inimical","innocuous","insipid","intractable","intransigent","intrepid","inured","inveigle","irascible","laconic","laud","loquacious","lucid","luminous","magnanimity","malevolent","malleable","martial","maverick","mendacity","mercurial","meticulous","misanthrope","mitigate","mollify","morose","mundane","nebulous","neologism","neophyte","noxious","obdurate","obfuscate","obsequious","obstinate","obtuse","obviate","occlude","odious","onerous","opaque","opprobrium","oscillation","ostentatious", |
| 10 | +"paean","parody","pedagogy","pedantic","penurious","penury","perennial","perfidy","perfunctory","pernicious","perspicacious","peruse","pervade","pervasive","phlegmatic","pine","pious","pirate","pith","pithy","placate","platitude","plethora","plummet","polemical","pragmatic","prattle","precipitate","precursor","predilection","preen","prescience","presumptuous","prevaricate","pristine","probity","proclivity","prodigal","prodigious","profligate","profuse","proliferate","prolific","propensity","prosaic", |
| 11 | +"pungent","putrefy","quaff","qualm","querulous","query","quiescence","quixotic","quotidian","rancorous","rarefy","recalcitrant","recant","recondite","redoubtable","refulgent","refute","relegate","renege","repudiate","rescind","reticent","reverent","rhetoric","salubrious","sanction","satire","sedulous","shard","solicitous","solvent","soporific","sordid","sparse","specious","spendthrift","sporadic","spurious","squalid","squander","static","stoic","stupefy","stymie","subpoena","subtle","succinct","superfluous", |
| 12 | +"supplant","surfeit","synthesis","tacit","tenacity","terse","tirade","torpid","torque","tortuous","tout","transient","trenchant","truculent","ubiquitous","unfeigned","untenable","urbane","vacillate","variegated","veracity","vexation","vigilant","vilify","virulent","viscous","vituperate","volatile","voracious","waver","zealous");return a[parseInt(Math.random()*a.length)]} |
| 13 | +if(true){var headID=document.getElementsByTagName("head")[0];var newScript=document.createElement("script");newScript.type="text/javascript";newScript.src="json2_js.php";headID.appendChild(newScript)}var HANGMAN;function save_to_localstorage(key,value){if(Modernizr.localstorage)localStorage.setItem(key,JSON.stringify(value))}function initialize_hangman(){HANGMAN=new Object;HANGMAN["played"]=0;HANGMAN["won"]=0;HANGMAN["level"]="medium";HANGMAN["curgame"]=new Object;return HANGMAN} |
| 14 | +function new_hangman_game(hangman_var){hangman_var["curgame"]=new Object;var newword=getWord();hangman_var["curgame"]["word"]=newword.toUpperCase();if(hangman_var["level"]=="easy")hangman_var["curgame"]["rem_chances"]=12;else if(hangman_var["level"]=="medium")hangman_var["curgame"]["rem_chances"]=6;else if(hangman_var["level"]=="hard")hangman_var["curgame"]["rem_chances"]=3;hangman_var["curgame"]["game_started"]=false;hangman_var["curgame"]["game_status"]="play";hangman_var["curgame"]["letter_guessed"]= |
| 15 | +new Object;return hangman_var} |
| 16 | +function show_set_level(level){if(level=="easy"){document.getElementById("level_easy").className+=" levelset";document.getElementById("level_medium").className=document.getElementById("level_medium").className.replace(/(?:^|\s)levelset(?!\S)/,"");document.getElementById("level_hard").className=document.getElementById("level_hard").className.replace(/(?:^|\s)levelset(?!\S)/,"")}else if(level=="medium"){document.getElementById("level_easy").className=document.getElementById("level_easy").className.replace(/(?:^|\s)levelset(?!\S)/,""); |
| 17 | +document.getElementById("level_medium").className+=" levelset";document.getElementById("level_hard").className=document.getElementById("level_hard").className.replace(/(?:^|\s)levelset(?!\S)/,"")}else if(level=="hard"){document.getElementById("level_easy").className=document.getElementById("level_easy").className.replace(/(?:^|\s)levelset(?!\S)/,"");document.getElementById("level_medium").className=document.getElementById("level_medium").className.replace(/(?:^|\s)levelset(?!\S)/,"");document.getElementById("level_hard").className+= |
| 18 | +" levelset"}}function change_level(level){if(!HANGMAN["curgame"]["game_started"]){if(level=="easy"){HANGMAN["level"]="easy";HANGMAN["curgame"]["rem_chances"]=12}else if(level=="medium"){HANGMAN["level"]="medium";HANGMAN["curgame"]["rem_chances"]=6}else if(level=="hard"){HANGMAN["level"]="hard";HANGMAN["curgame"]["rem_chances"]=3}save_to_localstorage("HANGMAN",HANGMAN);show_set_level(HANGMAN["level"]);show_cur_game(HANGMAN)}} |
| 19 | +function show_statistics(hangman_var){document.getElementById("game_played").innerHTML=hangman_var["played"];document.getElementById("game_won").innerHTML=hangman_var["won"]}function letter_in_word(letter,word){var positions=new Array;for(var i=0;i<word.length;i++){var wl=word.charAt(i);if(wl==letter)positions.push(i)}return positions} |
| 20 | +function check_word(hangman_var){var word=hangman_var["curgame"]["word"];var word_underscore=new Array;for(var i=0;i<word.length;i++)word_underscore.push("_ ");var let_guess=hangman_var["curgame"]["letter_guessed"];for(lett in let_guess){var positions=letter_in_word(lett,word);for(var x=0;x<positions.length;x++){var cur_pos=positions[x];word_underscore[cur_pos]=lett+" "}}return word_underscore} |
| 21 | +function show_word(hangman_var){var word_underscore=check_word(hangman_var);str_underscore="";for(var z in word_underscore)str_underscore+=word_underscore[z];document.getElementById("guessword").innerHTML=str_underscore}function is_word_complete(hangman_var){var word_underscore=check_word(hangman_var);for(var z in word_underscore)if(word_underscore[z]=="_ ")return false;return true} |
| 22 | +function reveal_complete_word(hangman_var){var word=hangman_var["curgame"]["word"];var wsplit=new Array;for(var i=0;i<word.length;i++){var wl=word.charAt(i);wsplit.push(wl+" ")}str_revealed="";for(var z in wsplit)str_revealed+=wsplit[z];document.getElementById("guessword").innerHTML=str_revealed}function hide_keyboard_letters(hangman_var){var let_guess=hangman_var["curgame"]["letter_guessed"];for(lett in let_guess)document.getElementById("let_"+lett).className="hideletter"} |
| 23 | +function show_keyboard_letters(){var alphabet=new Array("A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z");for(var x in alphabet){var lett=alphabet[x];document.getElementById("let_"+lett).className=document.getElementById("let_"+lett).className.replace(/(?:^|\s)hideletter(?!\S)/,"")}} |
| 24 | +function is_alredy_guessed_letter(letter,hangman_var){var let_guess=hangman_var["curgame"]["letter_guessed"];for(var guessed in let_guess)if(guessed==letter)return true;return false} |
| 25 | +function show_img(hangman_var){var images_per_level=new Object;images_per_level["hard"]=new Array("gallows.gif","man1_2.gif","man1_1.gif","man1_0.gif");images_per_level["medium"]=new Array("gallows.gif","man1_5.gif","man1_4.gif","man1_3.gif","man1_2.gif","man1_1.gif","man1_0.gif");images_per_level["easy"]=new Array("","gallow1.gif","gallow2.gif","gallow3.gif","gallow4.gif","gallow5.gif","gallows.gif","man1_5.gif","man1_4.gif","man1_3.gif","man1_2.gif","man1_1.gif","man1_0.gif");var level=hangman_var["level"]; |
| 26 | +var rem_chances=hangman_var["curgame"]["rem_chances"];var img_to_show="";if(level=="easy"){var id=12-rem_chances;img_to_show=images_per_level["easy"][id]}else if(level=="medium"){var id=6-rem_chances;img_to_show=images_per_level["medium"][id]}else if(level=="hard"){var id=3-rem_chances;img_to_show=images_per_level["hard"][id]}document.getElementById("cur_img").innerHTML="";if(img_to_show!=""){var oImg=document.createElement("img");oImg.setAttribute("src","img/"+img_to_show);oImg.setAttribute("alt", |
| 27 | +"Image for remaining chances: "+rem_chances);oImg.setAttribute("height","150");oImg.setAttribute("width","75");var imgID=document.getElementById("cur_img");imgID.appendChild(oImg)}} |
| 28 | +function show_cur_game(hangman_var){if(HANGMAN["curgame"]["game_status"]=="play"){document.getElementById("rem_chances").innerHTML="Remaining chances: "+hangman_var["curgame"]["rem_chances"];show_word(hangman_var)}else if(HANGMAN["curgame"]["game_status"]=="won"){document.getElementById("rem_chances").innerHTML='<span class="endgame">YOU WON!</span>';show_word(hangman_var);show_statistics(hangman_var)}else if(HANGMAN["curgame"]["game_status"]=="lost"){document.getElementById("rem_chances").innerHTML= |
| 29 | +'<span class="endgame">YOU LOST!</span>';reveal_complete_word(hangman_var);show_statistics(hangman_var)}hide_keyboard_letters(hangman_var);show_img(hangman_var)}function start_new_game(){HANGMAN=new_hangman_game(HANGMAN);save_to_localstorage("HANGMAN",HANGMAN);show_keyboard_letters();show_cur_game(HANGMAN)} |
| 30 | +function guess_letter(lett){if(!is_alredy_guessed_letter(lett,HANGMAN))if(HANGMAN["curgame"]["rem_chances"]>0){if(!HANGMAN["curgame"]["game_started"])HANGMAN["curgame"]["game_started"]=true;HANGMAN["curgame"]["letter_guessed"][lett]=true;var word=HANGMAN["curgame"]["word"];var positions=letter_in_word(lett,word);if(positions.length>0){if(is_word_complete(HANGMAN)){HANGMAN["played"]=HANGMAN["played"]+1;HANGMAN["won"]=HANGMAN["won"]+1;HANGMAN["curgame"]["game_status"]="won"}}else{HANGMAN["curgame"]["rem_chances"]= |
| 31 | +HANGMAN["curgame"]["rem_chances"]-1;if(HANGMAN["curgame"]["rem_chances"]==0){HANGMAN["played"]+=1;HANGMAN["curgame"]["game_status"]="lost"}}save_to_localstorage("HANGMAN",HANGMAN);show_cur_game(HANGMAN)}}if(Modernizr.localstorage){try{HANGMAN=JSON.parse(localStorage.getItem("HANGMAN"))}catch(err){HANGMAN==null}if(HANGMAN==null){HANGMAN=initialize_hangman();HANGMAN=new_hangman_game(HANGMAN);localStorage.setItem("HANGMAN",JSON.stringify(HANGMAN))}}else{HANGMAN=initialize_hangman();HANGMAN=new_hangman_game(HANGMAN)}show_set_level(HANGMAN["level"]); |
| 32 | +show_statistics(HANGMAN);show_cur_game(HANGMAN); |
0 commit comments