Created
September 26, 2013 21:23
-
-
Save sanmadjack/6720753 to your computer and use it in GitHub Desktop.
A crossword puzzle solving assistant
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<html> | |
<head> | |
<script> | |
function process() { | |
var element = document.getElementById("input"); | |
var input = element.value; | |
var data = new Array(); | |
var line = 0; | |
var character = 0; | |
data[line] = new Array(); | |
for(var i = 0; i < input.length; i++) { | |
if(input[i]=="\n") { | |
line++; | |
character = 0; | |
data[line] = new Array(); | |
} else { | |
data[line][character] = input[i]; | |
character++; | |
} | |
} | |
return data; | |
} | |
function east() { | |
var data = process(); | |
var output = document.getElementById("output"); | |
output.innerHTML = ""; | |
for(var i = 0; i < data.length; i++) { | |
for(var j = 0; j < data[i].length ; j++) { | |
output.innerHTML +=data[i][j]; | |
} | |
output.innerHTML += "\n"; | |
} | |
} | |
function west() { | |
var data = process(); | |
var output = document.getElementById("output"); | |
output.innerHTML = ""; | |
for(var i = 0; i < data.length; i++) { | |
for(var j = data[i].length -1; j >=0 ; j--) { | |
output.innerHTML +=data[i][j]; | |
} | |
output.innerHTML += "\n"; | |
} | |
} | |
function south() { | |
var data = process(); | |
var output = document.getElementById("output"); | |
output.innerHTML = ""; | |
var longest_line = 0; | |
for(var i = 0; i < data.length; i++) { | |
if(data[i].length > longest_line) { | |
longest_line = data[i].length; | |
} | |
} | |
for(var i = 0; i < longest_line; i++) { | |
for(var j = 0; j < data.length ; j++) { | |
output.innerHTML +=data[j][i]; | |
} | |
output.innerHTML += "\n"; | |
} | |
} | |
function north() { | |
var data = process(); | |
var output = document.getElementById("output"); | |
output.innerHTML = ""; | |
var longest_line = 0; | |
for(var i = 0; i < data.length; i++) { | |
if(data[i].length > longest_line) { | |
longest_line = data[i].length; | |
} | |
} | |
for(var i = 0; i < longest_line; i++) { | |
for(var j = data.length - 1; j >= 0 ; j--) { | |
output.innerHTML +=data[j][i]; | |
} | |
output.innerHTML += "\n"; | |
} | |
} | |
function southeast() { | |
var data = process(); | |
var output = document.getElementById("output"); | |
output.innerHTML = ""; | |
var longest_line = 0; | |
for(var i = 0; i < data.length; i++) { | |
if(data[i].length > longest_line) { | |
longest_line = data[i].length; | |
} | |
} | |
var total_lines = longest_line + data.length - 1; | |
for(var i = longest_line - 1; i >= 0; i--) { | |
var x = i; | |
var y = 0; | |
var character = data[y][x]; | |
while(character!=undefined&&y<data.length) { | |
output.innerHTML +=character; | |
x++; | |
y++; | |
if(y<data.length) { | |
character = data[y][x]; | |
} else { | |
break; | |
} | |
} | |
output.innerHTML += "\n"; | |
} | |
if(data.length > 1) { | |
for(var i = 1 ; i < data.length; i++) { | |
var x = 0; | |
var y = i; | |
var character = data[y][x]; | |
while(character!=undefined&&y<data.length) { | |
output.innerHTML +=character; | |
x++; | |
y++; | |
if(y<data.length) { | |
character = data[y][x]; | |
}else { | |
break; | |
} | |
} | |
output.innerHTML += "\n"; | |
} | |
} | |
} | |
function southwest() { | |
var data = process(); | |
var output = document.getElementById("output"); | |
output.innerHTML = ""; | |
var longest_line = 0; | |
for(var i = 0; i < data.length; i++) { | |
if(data[i].length > longest_line) { | |
longest_line = data[i].length; | |
} | |
} | |
var total_lines = longest_line + data.length - 1; | |
for(var i = 0; i < longest_line; i++) { | |
var x = i; | |
var y = 0; | |
var character = data[y][x]; | |
while(character!=undefined&&y<data.length) { | |
output.innerHTML +=character; | |
x--; | |
y++; | |
if(y<data.length) { | |
character = data[y][x]; | |
} else { | |
break; | |
} | |
} | |
output.innerHTML += "\n"; | |
} | |
if(data.length > 1) { | |
for(var i = 1 ; i < data.length; i++) { | |
var x = data[i].length - 1; | |
var y = i; | |
var character = data[y][x]; | |
while(character!=undefined&&y<data.length) { | |
output.innerHTML +=character; | |
x--; | |
y++; | |
if(y<data.length) { | |
character = data[y][x]; | |
}else { | |
break; | |
} | |
} | |
output.innerHTML += "\n"; | |
} | |
} | |
} | |
function northeast() { | |
var data = process(); | |
var output = document.getElementById("output"); | |
output.innerHTML = ""; | |
var longest_line = 0; | |
for(var i = 0; i < data.length; i++) { | |
if(data[i].length > longest_line) { | |
longest_line = data[i].length; | |
} | |
} | |
var total_lines = longest_line + data.length - 1; | |
for(var i = 0 ; i < data.length; i++) { | |
var x = 0; | |
var y = i; | |
var character = data[y][x]; | |
while(character!=undefined&&y<data.length) { | |
output.innerHTML +=character; | |
x++; | |
y--; | |
if(y>=0) { | |
character = data[y][x]; | |
}else { | |
break; | |
} | |
} | |
output.innerHTML += "\n"; | |
} | |
if(longest_line > 1) { | |
for(var i = 1; i < longest_line; i++) { | |
var x = i; | |
var y = data.length - 1; | |
var character = data[y][x]; | |
while(character!=undefined&&y<data.length) { | |
output.innerHTML +=character; | |
x++; | |
y--; | |
if(y>=0) { | |
character = data[y][x]; | |
} else { | |
break; | |
} | |
} | |
output.innerHTML += "\n"; | |
} | |
} | |
} | |
function northwest() { | |
var data = process(); | |
var output = document.getElementById("output"); | |
output.innerHTML = ""; | |
var longest_line = 0; | |
for(var i = 0; i < data.length; i++) { | |
if(data[i].length > longest_line) { | |
longest_line = data[i].length; | |
} | |
} | |
var total_lines = longest_line + data.length - 1; | |
for(var i = 0; i < longest_line; i++) { | |
var x = i; | |
var y = data.length -1 ; | |
var character = data[y][x]; | |
while(character!=undefined&&y<data.length) { | |
output.innerHTML +=character; | |
x--; | |
y--; | |
if(y>=0) { | |
character = data[y][x]; | |
} else { | |
break; | |
} | |
} | |
output.innerHTML += "\n"; | |
} | |
if(data.length > 2) { | |
for(var i = data.length - 2 ; i >= 0; i--) { | |
var x = data[i].length - 1; | |
var y = i; | |
var character = data[y][x]; | |
while(character!=undefined&&y<data.length) { | |
output.innerHTML +=character; | |
x--; | |
y--; | |
if(y>=0) { | |
character = data[y][x]; | |
}else { | |
break; | |
} | |
} | |
output.innerHTML += "\n"; | |
} | |
} | |
} | |
</script> | |
</head> | |
<body> | |
<textarea id="input"> | |
</textarea><br/> | |
<table border=1> | |
<tr><th colspan=3>Change Text Direction To</th></tr> | |
<tr><td> | |
<input type="button" onclick="northwest();" value="NorthWest"/> | |
</td><td> | |
<input type="button" onclick="north();" value="North"/> | |
</td><td align=right> | |
<input type="button" onclick="northeast();" value="NorthEast"/> | |
</td></tr><tr><td> | |
<input type="button" onclick="west();" value="West"/> | |
</td><td> | |
</td><td align=right> | |
<input type="button" onclick="east();" value="East"/> | |
</td></tr><tr><td> | |
<input type="button" onclick="southwest();" value="SouthWest"/><br/> | |
</td><td> | |
<input type="button" onclick="south();" value="South"/> | |
</td><td align=right> | |
<input type="button" onclick="southeast();" value="SouthEast"/> | |
</td></tr> | |
</table> | |
<br/> | |
<pre id="output" style="line-height:125%"></pre> | |
<br/> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment