Skip to content

Commit 384fcfe

Browse files
committed
Minimized JESON and Hangman classes
1 parent 0e1214c commit 384fcfe

File tree

6 files changed

+52
-491
lines changed

6 files changed

+52
-491
lines changed

New/hangman.js renamed to New/dev/hangman.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,12 @@ function getWord() {
1313

1414

1515
//I check if there is JSON otherwise I load it
16-
if (typeof JSON == 'undefined')
16+
if (true)//(typeof JSON == 'undefined')
1717
{
1818
var headID = document.getElementsByTagName("head")[0];
1919
var newScript = document.createElement('script');
2020
newScript.type = 'text/javascript';
21-
newScript.src='json2.js';
21+
newScript.src='json2_js.php';
2222
headID.appendChild(newScript);
2323
}
2424

New/hangman_desktop.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<link rel="stylesheet" type="text/css" href="style.php"/>
1515
<link rel="stylesheet" type="text/css" href="style_desktop.php"/>
1616
<link rel="canonical" href="http://<?php echo $_SERVER['SERVER_NAME'].$path_parts['dirname'] ?>/hangman.php"/>
17-
<script type="text/javascript" src="loc_sess_storage.js"></script>
17+
<script type="text/javascript" src="loc_sess_storage_js.php"></script>
1818
</head>
1919
<body>
2020
<h1>Hangman</h1>
@@ -77,6 +77,6 @@
7777
</ul>
7878
</div>
7979
</div>
80-
<script type="text/javascript" src="hangman.js"></script>
80+
<script type="text/javascript" src="hangman_js.php"></script>
8181
</body>
8282
</html>

New/hangman_js.php

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
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

Comments
 (0)