Crossword puzzle

St. Pat’s Crossword Puzzle

St. Pat’s Crossword Puzzle

UMR Magazine

This interactive crossword puzzle requires JavaScript and a reasonably recent web browser, such as Internet Explorer 5.5
or later, Netscape 7, Mozilla, Firefox, or Safari. If you have disabled web page scripting, please re-enable it and refresh
the page. If this web page is saved to your computer, you may need to click the yellow Information Bar at the top of
the page to allow the puzzle to load.

<!–
// EclipseCrossword (C) Copyright 2000-2007 Green Eclipse.
// www.eclipsecrossword.com
var BadChars = "`~!@^*()_={[}]\|:;\"',/?”;
var TableAcrossWord, TableDownWord;
var CurrentWord, PrevWordHorizontal, x, y, i, j;
var CrosswordFinished, Initialized;
// Check the user’s browser and then initialize the puzzle.
if (document.getElementById(“waitmessage”) != null)
{
document.getElementById(“waitmessage”).innerHTML = “Please wait while the crossword is loaded…”;
// Current game variables
CurrentWord = -1;
PrevWordHorizontal = false;
// Create the cell-to-word arrays.
TableAcrossWord = new Array(CrosswordWidth);
for (var x = 0; x < CrosswordWidth; x++) TableAcrossWord[x] = new Array(CrosswordHeight);
TableDownWord = new Array(CrosswordWidth);
for (var x = 0; x < CrosswordWidth; x++) TableDownWord[x] = new Array(CrosswordHeight);
for (var y = 0; y < CrosswordHeight; y++)
for (var x = 0; x < CrosswordWidth; x++)
{
TableAcrossWord[x][y] = -1;
TableDownWord[x][y] = -1;
}
// First, add the horizontal words to the puzzle.
for (var i = 0; i <= LastHorizontalWord; i++)
{
x = WordX[i];
y = WordY[i];
for (var j = 0; j < WordLength[i]; j++)
{
TableAcrossWord[x + j][y] = i;
}
}
// Second, add the vertical words to the puzzle.
for (var i = LastHorizontalWord + 1; i < Words; i++)
{
x = WordX[i];
y = WordY[i];
for (var j = 0; j < WordLength[i]; j++)
{
TableDownWord[x][y + j] = i;
}
}
// Now, insert the row HTML into the table.
for (var y = 0; y < CrosswordHeight; y++)
{
document.writeln("

“);
for (var x = 0; x = 0 || TableDownWord[x][y] >= 0)
document.write(“

“);
else
document.write(“

“);
}
document.writeln(“

“);
}
// Finally, show the crossword and hide the wait message.
Initialized = true;
document.getElementById(“waitmessage”).style.display = “none”;
document.getElementById(“crossword”).style.display = “block”;
}
// ———-
// Event handlers
// Raised when a key is pressed in the word entry box.
function WordEntryKeyPress(event)
{
if (CrosswordFinished) return;
// Treat an Enter keypress as an OK click.
if (CurrentWord >= 0 && event.keyCode == 13) OKClick();
}
// ———-
// Helper functions
// Called when we’re ready to start the crossword.
function BeginCrossword()
{
if (Initialized)
{
document.getElementById(“welcomemessage”).style.display = “”;
document.getElementById(“checkbutton”).style.display = “”;
}
}
// Returns true if the string passed in contains any characters prone to evil.
function ContainsBadChars(theirWord)
{
for (var i = 0; i = 0) return true;
return false;
}
// Pads a number out to three characters.
function PadNumber(number)
{
if (number < 10)
return "00" + number;
else if (number < 100)
return "0" + number;
else
return "" + number;
}
// Returns the table cell at a particular pair of coordinates.
function CellAt(x, y)
{
return document.getElementById("c" + PadNumber(x) + PadNumber(y));
}
// Deselects the current word, if there's a word selected. DOES not change the value of CurrentWord.
function DeselectCurrentWord()
{
if (CurrentWord < 0) return;
var x, y, i;
document.getElementById("answerbox").style.display = "none";
ChangeCurrentWordSelectedStyle(false);
CurrentWord = -1;
}
// Changes the style of the cells in the current word.
function ChangeWordStyle(WordNumber, NewStyle)
{
if (WordNumber< 0) return;
var x = WordX[WordNumber];
var y = WordY[WordNumber];
if (WordNumber<= LastHorizontalWord)
for (i = 0; i < WordLength[WordNumber]; i++)
CellAt(x + i, y).className = NewStyle;
else
for (i = 0; i < WordLength[WordNumber]; i++)
CellAt(x, y + i).className = NewStyle;
}
// Changes the style of the cells in the current word between the selected/unselected form.
function ChangeCurrentWordSelectedStyle(IsSelected)
{
if (CurrentWord < 0) return;
var x = WordX[CurrentWord];
var y = WordY[CurrentWord];
if (CurrentWord <= LastHorizontalWord)
for (i = 0; i < WordLength[CurrentWord]; i++)
CellAt(x + i, y).className = CellAt(x + i, y).className.replace(IsSelected ? "_unsel" : "_sel", IsSelected ? "_sel" : "_unsel");
else
for (i = 0; i = 0) OKClick();
DeselectCurrentWord();
// Determine the coordinates of the cell they clicked, and then the word that
// they clicked.
var target = (event.srcElement ? event.srcElement: event.target);
x = parseInt(target.id.substring(1, 4), 10);
y = parseInt(target.id.substring(4, 7), 10);
// If they clicked an intersection, choose the type of word that was NOT selected last time.
if (TableAcrossWord[x][y] >= 0 && TableDownWord[x][y] >= 0)
CurrentWord = PrevWordHorizontal ? TableDownWord[x][y] : TableAcrossWord[x][y];
else if (TableAcrossWord[x][y] >= 0)
CurrentWord = TableAcrossWord[x][y];
else if (TableDownWord[x][y] >= 0)
CurrentWord = TableDownWord[x][y];
PrevWordHorizontal = (CurrentWord <= LastHorizontalWord);
// Now, change the style of the cells in this word.
ChangeCurrentWordSelectedStyle(true);
// Then, prepare the answer box.
x = WordX[CurrentWord];
y = WordY[CurrentWord];
TheirWord = "";
var TheirWordLength = 0;
for (i = 0; i < WordLength[CurrentWord]; i++)
{
// Find the appropriate table cell.
if (CurrentWord 0 && TableCell.innerHTML != ” ” && TableCell.innerHTML.toLowerCase() != ” “)
{
TheirWord += TableCell.innerHTML.toUpperCase();
TheirWordLength++;
}
else
{
TheirWord += “•”;
}
}
document.getElementById(“wordlabel”).innerHTML = TheirWord;
document.getElementById(“wordinfo”).innerHTML = ((CurrentWord <= LastHorizontalWord) ? "Across, " : "Down, ") + WordLength[CurrentWord] + " letters.";
document.getElementById("wordclue").innerHTML = Clue[CurrentWord];
document.getElementById("worderror").style.display = "none";
document.getElementById("cheatbutton").style.display = (Word.length == 0) ? "none" : "";
if (TheirWordLength == WordLength[CurrentWord])
document.getElementById("wordentry").value = TheirWord;
else
document.getElementById("wordentry").value = "";
// Finally, show the answer box.
document.getElementById("answerbox").style.display = "block";
try
{
document.getElementById("wordentry").focus();
document.getElementById("wordentry").select();
}
catch (e)
{
}
}
// Called when the user clicks the OK link.
function OKClick()
{
var TheirWord, x, y, i, TableCell;
if (CrosswordFinished) return;
if (document.getElementById("okbutton").disabled) return;
// First, validate the entry.
TheirWord = document.getElementById("wordentry").value.toUpperCase();
if (TheirWord.length == 0)
{
DeselectCurrentWord();
return;
}
if (ContainsBadChars(TheirWord))
{
document.getElementById("worderror").innerHTML = "The word that you typed contains invalid characters. Please type only letters in the box above.";
document.getElementById("worderror").style.display = "block";
return;
}
if (TheirWord.length WordLength[CurrentWord])
{
document.getElementById(“worderror”).innerHTML = “You typed too many letters. This word has ” + WordLength[CurrentWord] + ” letters.”;
document.getElementById(“worderror”).style.display = “block”;
return;
}
// If we made it this far, they typed an acceptable word, so add these letters to the puzzle and hide the entry box.
x = WordX[CurrentWord];
y = WordY[CurrentWord];
for (i = 0; i < TheirWord.length; i++)
{
TableCell = CellAt(x + (CurrentWord LastHorizontalWord ? i : 0));
TableCell.innerHTML = TheirWord.substring(i, i + 1);
}
DeselectCurrentWord();
}
// Called when the “check puzzle” link is clicked.
function CheckClick()
{
var i, j, x, y, UserEntry, ErrorsFound = 0, EmptyFound = 0, TableCell;
if (CrosswordFinished) return;
DeselectCurrentWord();
for (y = 0; y < CrosswordHeight; y++)
for (x = 0; x = 0 || TableDownWord[x][y] >= 0)
{
TableCell = CellAt(x, y);
if (TableCell.className == “ecw-box ecw-boxerror_unsel”) TableCell.className = “ecw-box ecw-boxnormal_unsel”;
}
for (i = 0; i < Words; i++)
{
// Get the user's entry for this word.
UserEntry = "";
for (j = 0; j < WordLength[i]; j++)
{
if (i 0 && TableCell.innerHTML.toLowerCase() != ” “)
{
UserEntry += TableCell.innerHTML.toUpperCase();
}
else
{
UserEntry = “”;
EmptyFound++;
break;
}
}
// If this word doesn’t match, it’s an error.
if (HashWord(UserEntry) != AnswerHash[i] && UserEntry.length > 0)
{
ErrorsFound++;
ChangeWordStyle(i, “ecw-box ecw-boxerror_unsel”);
}
}
// If they can only check once, disable things prematurely.
if ( OnlyCheckOnce )
{
CrosswordFinished = true;
document.getElementById(“checkbutton”).style.display = “none”;
}
// If errors were found, just exit now.
if (ErrorsFound > 0 && EmptyFound > 0)
document.getElementById(“welcomemessage”).innerHTML = ErrorsFound + (ErrorsFound > 1 ? ” errors” : ” error”) + ” and ” + EmptyFound + (EmptyFound > 1 ? ” incomplete words were” : ” incomplete word was”) + ” found.”;
else if (ErrorsFound > 0)
document.getElementById(“welcomemessage”).innerHTML = ErrorsFound + (ErrorsFound > 1 ? ” errors were” : ” error was”) + ” found.”;
else if (EmptyFound > 0)
document.getElementById(“welcomemessage”).innerHTML = “No errors were found, but ” + EmptyFound + (EmptyFound > 1 ? ” incomplete words were” : ” incomplete word was”) + ” found.”;
if (ErrorsFound + EmptyFound > 0)
{
document.getElementById(“welcomemessage”).style.display = “”;
return;
}
// They finished the puzzle!
CrosswordFinished = true;
document.getElementById(“checkbutton”).style.display = “none”;
document.getElementById(“congratulations”).style.display = “block”;
document.getElementById(“welcomemessage”).style.display = “none”;
}
// Called when the “cheat” link is clicked.
function CheatClick()
{
if (CrosswordFinished) return;
var OldWord = CurrentWord;
document.getElementById(“wordentry”).value = Word[CurrentWord];
OKClick();
ChangeWordStyle(OldWord, “ecw-box ecw-boxcheated_unsel”);
}
// Returns a one-way hash for a word.
function HashWord(Word)
{
var x = (Word.charCodeAt(0) * 719) % 1138;
var Hash = 837;
var i;
for (i = 1; i

 

Welcome!

Click a word in the puzzle to get started.

 

 

Congratulations!

You have completed this crossword puzzle.

If you would like to be able to create interactive
crosswords
like this yourself, get EclipseCrossword
from Green Eclipse—it’s free!

Around the Puck

Generous partners complete ACML fundraising

Thanks to an investment from the University of Missouri System, major gifts from industry partners and alumni support, S&T will break ground on the Advanced Construction and Materials Laboratory (ACML) on Oct. 12, during Homecoming weekend.

[Read More...]

Alumni help with sesquicentennial planning

Seven alumni, including three Miner Alumni Association board members, have been named to Missouri S&T’s sesquicentennial advisory committee. The group is made up of graduates, students, faculty, staff and community members who are involved in planning the university’s upcoming 150th anniversary celebration.

[Read More...]

Using big data to reduce childbirth risks

According to the Centers for Disease Control and Prevention, complications during pregnancy or childbirth affect more than 50,000 women annually, and about 700 of them die every year. Steve Corns, associate professor of engineering management and systems engineering, is working with researchers from Phelps County Regional Medical Center through the Ozarks Biomedical Initiative to reduce […]

[Read More...]

Bogan solves Benton mural mystery

Missouri State Capitol muralist Thomas Hart Benton wrote in his memoir about being called into then-Gov. Guy Park’s office and told that a prominent St. Louis politician objected to Benton’s portrayal of black people, especially depictions of slavery.

[Read More...]

Breaking bias

According to Jessica Cundiff, assistant professor of psychological science at S&T, women who consider careers in the physical sciences, technology, engineering and math (STEM) fields are deterred by stereotypes that impose barriers on the recruitment, retention and advancement of women in STEM.

[Read More...]