Frame 1
_quality = "LOW";
Stage.scaleMode = "noScale";
progressPercent = 1;
Frame 2
if (_root.getBytesLoaded() == _root.getBytesTotal()) {
gotoAndPlay (37);
}
Frame 3
var newProgressPercent = Math.floor((128 * _root.getBytesLoaded()) / _root.getBytesTotal());
var i = 0;
while (i < 4) {
if (progressPercent < newProgressPercent) {
progressPercent++;
}
i++;
}
progressBar._width = progressPercent;
Frame 4
if (progressPercent >= 128) {
gotoAndPlay (30);
} else {
gotoAndPlay (3);
}
Frame 38
function rectsIsect(aLeft, aTop, aRight, aBottom, bLeft, bTop, bRight, bBottom) {
return((((aLeft < bRight) && (aRight > bLeft)) && (aTop < bBottom)) && (aBottom > bTop));
}
function randInt(n) {
var x = -1;
if (n <= 0) {
return(0);
}
while ((x < 0) || (x >= n)) {
x = Math.floor(Math.random() * n);
}
return(x);
}
function randIntExcept(n, m) {
var x = -1;
if (n <= 0) {
return(0);
}
while (((x < 0) || (x >= n)) || (x == m)) {
x = Math.floor(Math.random() * n);
}
return(x);
}
function playSound(soundId) {
if (!soundOn) {
return(undefined);
}
var snd = new Sound(this);
snd.attachSound(soundId);
snd.soundId = soundId;
snd.start();
}
function toggleSound() {
soundOn = !soundOn;
soundToggler.gotoAndStop((soundOn ? 1 : 2));
}
function encodePassword(level, lives, souls) {
var pchars = [];
pchars[3] = level;
pchars[5] = ((lives >= 0) ? (lives) : 0);
pchars[7] = souls % 7;
pchars[9] = Math.floor(souls / 7);
pchars[8] = randInt(24);
pchars[4] = randInt(24);
pchars[2] = randInt(24);
rotPCharBy(pchars, 3, pchars[8]);
rotPCharBy(pchars, 5, pchars[4]);
rotPCharBy(pchars, 7, pchars[2]);
rotPCharBy(pchars, 9, pchars[4]);
pchars[0] = (((((pchars[3] + pchars[5]) + pchars[7]) + pchars[8]) + pchars[4]) + pchars[2]) % 17;
pchars[1] = randInt(24);
rotPCharBy(pchars, 0, pchars[1]);
rotPCharBy(pchars, 2, pchars[1]);
rotPCharBy(pchars, 3, pchars[1] + 3);
rotPCharBy(pchars, 4, pchars[1]);
rotPCharBy(pchars, 5, pchars[1]);
rotPCharBy(pchars, 7, pchars[1] + 4);
rotPCharBy(pchars, 8, pchars[1]);
rotPCharBy(pchars, 9, pchars[1]);
pchars[6] = ((((((((pchars[0] + pchars[1]) + pchars[2]) + pchars[3]) + pchars[4]) + pchars[5]) + pchars[7]) + pchars[8]) + pchars[9]) % 24;
var password = "";
var i = 0;
while (i < pchars.length) {
if ((pchars[i] < 0) || (pchars[i] >= passCharsRange.length)) {
return("(error)");
}
password = password + passCharsRange.charAt(pchars[i]);
i++;
}
return(password);
}
function decodePassword(password) {
var pchars = [];
if (password.length != 10) {
return(null);
}
var i = 0;
while (i < password.length) {
var pchar = passCharsRange.indexOf(password.charAt(i));
if (pchar == -1) {
return(null);
}
pchars[i] = pchar;
i++;
}
if (pchars[6] != (((((((((pchars[0] + pchars[1]) + pchars[2]) + pchars[3]) + pchars[4]) + pchars[5]) + pchars[7]) + pchars[8]) + pchars[9]) % 24)) {
return(null);
}
rotPCharBy(pchars, 0, 24 - pchars[1]);
rotPCharBy(pchars, 2, 24 - pchars[1]);
rotPCharBy(pchars, 3, 45 - pchars[1]);
rotPCharBy(pchars, 4, 24 - pchars[1]);
rotPCharBy(pchars, 5, 24 - pchars[1]);
rotPCharBy(pchars, 7, 44 - pchars[1]);
rotPCharBy(pchars, 8, 24 - pchars[1]);
rotPCharBy(pchars, 9, 24 - pchars[1]);
if (pchars[0] != ((((((pchars[3] + pchars[5]) + pchars[7]) + pchars[8]) + pchars[4]) + pchars[2]) % 17)) {
return(null);
}
rotPCharBy(pchars, 3, 24 - pchars[8]);
rotPCharBy(pchars, 5, 24 - pchars[4]);
rotPCharBy(pchars, 7, 24 - pchars[2]);
rotPCharBy(pchars, 9, 24 - pchars[4]);
if ((((((((pchars[3] < 1) || (pchars[3] > lastLevel)) || (pchars[5] < 0)) || (pchars[5] > 9)) || (pchars[7] < 0)) || (pchars[7] > 6)) || (pchars[9] < 0)) || (pchars[9] > 3)) {
return(null);
}
var result = new Object();
result.level = pchars[3];
result.lives = pchars[5];
result.souls = pchars[7] + (7 * pchars[9]);
if (result.souls > 24) {
return(null);
}
return(result);
}
function rotPCharBy(pchars, index, amount) {
pchars[index] = (pchars[index] + amount) % 24;
}
function testPasswords() {
trace("Passwords Test:");
var n = 0;
while (n < 90000) {
var pw = "";
var i = 0;
while (i < 10) {
pw = pw + passCharsRange.charAt(randInt(24), "rand chars");
i++;
}
verifyBadPassword(pw);
n++;
}
}
function verifyPassword(level, lives, souls) {
var pw = encodePassword(level, lives, souls);
var result = decodePassword(pw);
if (result == null) {
trace(((((((("PW failed on " + level) + " ") + lives) + " ") + souls) + " (") + pw) + "): got null");
} else if (((result.level != level) || (result.lives != lives)) || (result.souls != souls)) {
trace((((((((((((("PW failed on " + level) + " ") + lives) + " ") + souls) + " (") + pw) + "): got ") + result.level) + " ") + result.lives) + " ") + result.souls);
}
}
function verifyBadPassword(pw, type) {
var result = decodePassword(pw);
if (result != null) {
trace((("PW succeeded incorrectly on " + type) + ": ") + pw);
trace((((("lives = " + result.lives) + ", level = ") + result.level) + ", souls = ") + result.souls);
}
}
function describePChars(pchars) {
var toTrace = "pchars:";
var i = 0;
while (i < pchars.length) {
toTrace = toTrace + (" " + pchars[i]);
i++;
}
return(toTrace);
}
function newClip(parent, id, makeMask) {
var clip;
if ((retirees[id] != undefined) && (retirees[id].length > 0)) {
clip = retirees[id].pop();
clip._visible = true;
if (clip.clipMask) {
clip.clipMask._visible = true;
}
} else {
var clipMask;
if (makeMask) {
clipMask = parent.attachMovie("Mask", "linkedMask" + nextUniqueClipId, nextUniqueClipId++);
}
var uniqueClipId = (nextUniqueClipId++);
clip = parent.attachMovie(id, "linkedClip" + uniqueClipId, uniqueClipId);
clip.uniqueClipId = uniqueClipId;
clip.movieId = id;
if (makeMask) {
clip.setMask(clipMask);
clip.clipMask = clipMask;
}
clip.stop();
}
clip.alive = true;
allClips[clip.uniqueClipId] = clip;
return(clip);
}
function clearClip(clip, kill) {
if (clip == null) {
trace("Called clearClip on null clip");
} else if ((allClips[clip.uniqueClipId] == null) || (allClips[clip.uniqueClipId] == undefined)) {
trace(("Called clearClip on inactive clip \"" + uniqueClipId) + "\"");
}
allClips[clip.uniqueClipId] = null;
delete allClips[clip.uniqueClipId];
clip._visible = false;
clip.alive = false;
if (kill) {
if (clip.clipMask) {
clip.clipMask.removeMovieClip();
}
clip.removeMovieClip();
} else {
if (retirees[clip.movieId] == undefined) {
retirees[clip.movieId] = new Array();
}
retirees[clip.movieId].push(clip);
if (clip.clipMask) {
clip.clipMask._visible = false;
}
}
}
function clearAllClips() {
for (var uniqueClipId in allClips) {
clearClip(allClips[uniqueClipId], true);
}
for (var movieId in retirees) {
var list = retirees[movieId];
var i = 0;
while (i < list.length) {
var retiree = list[i];
retiree.removeMovieClip();
if (retiree.clipMask) {
retiree.clipMask.removeMovieClip();
}
i++;
}
}
retirees = new Object();
nextUniqueClipId = 1;
}
function makeTileDef(symbol, index, solid, nature, monster, monsterPower) {
tileDef = new Object();
tileDef.symbol = symbol.charCodeAt(0);
tileDef.index = index;
tileDef.solid = solid;
tileDef.msolid = ((nature == "msolid") ? true : (solid));
tileDef.nature = nature;
tileDef.monster = monster;
tileDef.monsterPower = monsterPower;
tileDefs[tileDef.symbol] = tileDef;
}
function pixelToSquare(pixel) {
return(Math.floor(pixel / 40));
}
function squareToPixel(square) {
return(square * 40);
}
function tileAt(pixelX, pixelY) {
return(tileAtSquare(Math.floor(pixelY / 40), Math.floor(pixelX / 40)));
}
function tileAtSquare(row, col) {
if ((((row < 0) || (row >= 100)) || (col < 0)) || (col >= 100)) {
return(stoneTileDef);
}
return(map[(row * 100) + col]);
}
function setTile(row, col, newTileChar) {
if ((((row >= 0) && (row < 100)) && (col >= 0)) && (col < 100)) {
map[(row * 100) + col] = tileDefs[newTileChar];
}
}
function setupTileView(levelNum) {
tileView = new Object();
tileView.board = newClip(this, "Board", true);
tileView.board._x = 30;
tileView.board._y = 30;
tileView.mask = tileView.board.clipMask;
tileView.mask._x = 30;
tileView.mask._y = 30;
tileView.mask._width = 360;
tileView.mask._height = 360;
tileView.tiles = new Array(10);
var tileImgName = imageByLevel("Tiles 1", "Tiles 2", "Tiles 3");
var row = 0;
while (row < 10) {
tileView.tiles[row] = new Array(10);
var col = 0;
while (col < 10) {
var tile = ((tileView.tiles[row][col] = new Object()));
tile.img = newClip(tileView.board, tileImgName, true);
tile.mask = tile.img.clipMask;
tile.img._x = col * 40;
tile.img._y = row * 40;
tile.mask._x = col * 40;
tile.mask._y = row * 40;
tile.mask._width = 40;
tile.mask._height = 40;
col++;
}
row++;
}
}
function adjustCamera() {
var idealCameraX = (bill.x - 160);
var idealCameraY = (bill.y - 160);
var cameraAperture = 50;
if (level.cameraX < (idealCameraX - cameraAperture)) {
level.cameraX = idealCameraX - cameraAperture;
}
if (level.cameraX > (idealCameraX + cameraAperture)) {
level.cameraX = idealCameraX + cameraAperture;
}
if (level.cameraY < (idealCameraY - cameraAperture)) {
level.cameraY = idealCameraY - cameraAperture;
}
if (level.cameraY > (idealCameraY + cameraAperture)) {
level.cameraY = idealCameraY + cameraAperture;
}
if (level.cameraX < 0) {
level.cameraX = 0;
}
if (level.cameraY < 0) {
level.cameraY = 0;
}
if (level.cameraX > 3640) {
level.cameraX = 3640;
}
if (level.cameraY > 3640) {
level.cameraY = 3640;
}
if (level.earthquake) {
if (level.shake) {
level.shake = false;
level.cameraX = level.cameraX - level.shakeX;
level.cameraY = level.cameraY - level.shakeY;
} else {
level.shake = true;
level.shakeX = randInt(17) - 8;
level.shakeY = randInt(17) - 8;
level.cameraX = level.cameraX + level.shakeX;
level.cameraY = level.cameraY + level.shakeY;
}
if (level.cameraX < 0) {
level.cameraX = 0;
}
if (level.cameraY < 0) {
level.cameraY = 0;
}
if (level.cameraX > 3640) {
level.cameraX = 3640;
}
if (level.cameraY > 3640) {
level.cameraY = 3640;
}
}
}
function updateTileView() {
if (fadeIn < 180) {
fadeIn = fadeIn + 10;
tileView.mask._x = 210 - fadeIn;
tileView.mask._y = 210 - fadeIn;
tileView.mask._width = 2 * fadeIn;
tileView.mask._height = 2 * fadeIn;
}
tileView.firstRow = Math.floor(level.cameraY / 40);
tileView.firstCol = Math.floor(level.cameraX / 40);
tileView.board._x = 30 - (level.cameraX % 40);
tileView.board._y = 30 - (level.cameraY % 40);
var row = 0;
while (row < 10) {
var col = 0;
while (col < 10) {
var tile = tileView.tiles[row][col];
var tr = (tileView.firstRow + row);
var tc = (tileView.firstCol + col);
var tileIndex = map[(tr * 100) + tc].index;
if (tileIndex == -1) {
tileIndex = ((((tileView.firstRow + row) + tileView.firstCol) + col) % 3) + 5;
} else if (tileIndex == -2) {
tileIndex = ((((tileView.firstRow + row) + tileView.firstCol) + col) % 4) + 1;
} else if (tileIndex == undefined) {
tileIndex = 8;
}
tile.img._x = 40 * (col - (tileIndex % 8));
tile.img._y = 40 * (row - Math.floor(tileIndex / 8));
col++;
}
row++;
}
}
function newSprite(id, frameFn, width, height) {
var sprite = new Object();
sprite.img = newClip(tileView.board, id, true);
sprite.mask = sprite.img.clipMask;
sprite.x = 0;
sprite.y = 0;
sprite.width = (sprite.mask._width = width);
sprite.height = (sprite.mask._height = height);
sprite.frame = 0;
sprite.frameFn = frameFn;
sprite.faceLeft = false;
return(sprite);
}
function adjustSprite(sprite) {
var adjX = (sprite.x - (40 * tileView.firstCol));
var adjY = (sprite.y - (40 * tileView.firstRow));
if (((((adjX < (-sprite.width)) || (adjY < (-sprite.height))) || (adjX >= 400)) || (adjY >= 400)) || (sprite.frame < 0)) {
sprite.img._visible = false;
sprite.mask._visible = false;
return(undefined);
}
sprite.img._visible = true;
sprite.mask._visible = true;
sprite.mask._x = adjX;
sprite.mask._y = adjY;
calcSpriteFrame(sprite);
if (sprite.height == 80) {
adjY = adjY - 40;
}
sprite.img._y = adjY - (sprite.frameY * sprite.height);
if (sprite.faceLeft) {
sprite.img._xscale = -100;
sprite.img._x = adjX + ((sprite.frameX + 1) * sprite.width);
} else {
sprite.img._xscale = 100;
sprite.img._x = adjX - (sprite.frameX * sprite.width);
}
}
function calcSpriteFrame(sprite) {
if (sprite.frameFn == "Bill") {
sprite.frameX = sprite.frame % 3;
sprite.frameY = Math.floor(sprite.frame / 3);
if (bill.frozen) {
sprite.img._visible = false;
}
} else if (sprite.frameFn == "Dead Bill") {
sprite.frameX = sprite.frame % 9;
sprite.frameY = 2 * Math.floor(sprite.frame / 9);
} else if (sprite.frameFn == "Soul") {
sprite.frameX = 12 + Math.floor(sprite.frame / 8);
sprite.frameY = sprite.frame % 8;
} else if (sprite.frameFn == "Crumbler") {
sprite.frameX = sprite.frame % 6;
sprite.frameY = Math.floor(sprite.frame / 6);
} else if (sprite.frameFn == "Monster") {
sprite.frameX = sprite.frame % 9;
sprite.frameY = Math.floor(sprite.frame / 9);
} else if (sprite.frameFn == "Satan") {
sprite.frameX = 0;
sprite.frameY = 0;
sprite.mask._y = sprite.mask._y - 200;
sprite.mask._height = 500;
} else {
trace((("Unknown spriteFn \"" + sprite.frameFn) + "\" in ") + sprite);
}
}
function switchSprite(sprite, newImage, newFrameFn) {
clearClip(sprite.img);
sprite.img = newClip(tileView.board, newImage, true);
sprite.mask = sprite.img.clipMask;
sprite.frameFn = newFrameFn;
}
function removeSprite(sprite) {
clearClip(sprite.img);
}
function setupConsole() {
console = new Object();
console.lastCircle = null;
console.lastLives = 0;
console.lastSouls = 0;
console.lastHunger = 0;
console.lastVisible = false;
console.circlePanel = newClip(this, "Circle Panel", false);
console.circlePanel._x = circlePanelX;
console.circlePanel._y = circlePanelY;
console.circlePanel._visible = false;
console.livesPanel = newClip(this, "Lives Panel", false);
console.livesPanel._x = livesPanelX;
console.livesPanel._y = livesPanelY;
console.livesPanel._visible = false;
console.soulsPanel = newClip(this, "Souls Panel", false);
console.soulsPanel._x = soulsPanelX;
console.soulsPanel._y = soulsPanelY;
console.soulsPanel._visible = false;
console.hungerLabel = newClip(this, "Hunger Bar", false);
console.hungerLabel._x = hungerLabelX;
console.hungerLabel._y = hungerLabelY;
console.hungerLabel._visible = false;
console.hungerBarWhite = newClip(this, "White Rect", false);
console.hungerBarBlack = newClip(this, "Black Rect", false);
console.hungerBarBlue = newClip(this, "Blue Rect", false);
console.hungerBarRed = newClip(this, "Red Rect", false);
console.hungerBarWhite._x = hungerBarX;
console.hungerBarWhite._y = hungerBarY;
console.hungerBarWhite._width = 130;
console.hungerBarWhite._height = 14;
console.hungerBarWhite._visible = false;
console.hungerBarBlack._x = hungerBarX + 1;
console.hungerBarBlack._y = hungerBarY + 1;
console.hungerBarBlack._width = 128;
console.hungerBarBlack._height = 12;
console.hungerBarBlack._visible = false;
console.hungerBarBlue._x = hungerBarX + 1;
console.hungerBarBlue._y = hungerBarY + 1;
console.hungerBarBlue._width = 0;
console.hungerBarBlue._height = 12;
console.hungerBarBlue._visible = false;
console.hungerBarRed._x = hungerBarX + 1;
console.hungerBarRed._y = hungerBarY + 1;
console.hungerBarRed._width = 0;
console.hungerBarRed._height = 12;
console.hungerBarRed._visible = false;
refreshConsole();
}
function refreshConsole() {
if ((console.lastCircle != level.num) || (console.lastVisible == false)) {
console.circlePanel.gotoAndStop(level.num);
console.lastCircle = level.num;
}
if ((console.lastLives != lives) || (console.lastVisible == false)) {
console.livesPanel.gotoAndStop(((lives >= 0) ? (lives + 1) : 1));
console.lastLives = lives;
}
if ((console.lastSouls != souls) || (console.lastVisible == false)) {
console.soulsPanel.gotoAndStop(souls + 1);
console.lastSouls = souls;
}
if ((console.lastHunger != hunger) || (console.lastVisible == false)) {
if (hunger > 32) {
console.hungerBarRed._visible = false;
console.hungerBarBlue._visible = true;
console.hungerBarBlue._width = hunger;
} else if (hunger > 0) {
console.hungerBarBlue._visible = false;
console.hungerBarRed._visible = true;
console.hungerBarRed._width = hunger;
} else {
console.hungerBarRed._visible = false;
console.hungerBarBlue._visible = false;
}
console.lastHunger = hunger;
}
if (console.lastVisible == false) {
console.circlePanel._visible = true;
console.livesPanel._visible = true;
console.soulsPanel._visible = true;
console.hungerLabel._visible = true;
console.hungerBarWhite._visible = true;
console.hungerBarBlack._visible = true;
console.lastVisible = true;
}
}
function hideConsole() {
if (console.lastVisible) {
console.lastVisible = false;
console.circlePanel._visible = false;
console.livesPanel._visible = false;
console.soulsPanel._visible = false;
console.hungerLabel._visible = false;
console.hungerBarWhite._visible = false;
console.hungerBarBlack._visible = false;
console.hungerBarRed._visible = false;
console.hungerBarBlue._visible = false;
}
}
function imageByLevel(img1, img2, img3) {
if (((level.num >= 1) && (level.num <= 6)) || (level.num == 18)) {
return(img1);
}
if ((level.num >= 7) && (level.num <= 12)) {
return(img2);
}
return(img3);
}
function calcStartSquare(levelNum) {
startRow = levelBeginnings[levelNum - 1][0];
startCol = levelBeginnings[levelNum - 1][1];
}
function makeLevel(levelNum) {
var src = getLevel(levelNum);
var level = new Array(10000);
var row = 0;
while (row < 100) {
var col = 0;
while (col < 100) {
level[(row * 100) + col] = tileDefs[src[row].charCodeAt(col)];
col++;
}
row++;
}
return(level);
}
function getLevel(levelNum) {
if (levelNum == 1) {
return(["3333333330333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333", "333333333033333333333333333333333333333333333333333333300z03333333k000l3333333333333k000333333333333", "33333333303333333333333333333333333333333333333333333330330D00330h0000000l333333333k00@0000333333333", "33333333303333333333333333333000003333333333333333333330333330300i00000000l3333333300033330000003333", "33333333303333333333333333300000000033333333333333333330033330000j00000000001111111003333333333z0333", "333333333033333333333333000000000000033333300000003333330333000003000000#033333333333333333333330333", "333333333033333333333300000000000000000000z03333303333330330abc0000000z03333333333333333333333330333", "33333333303333333333300000000000000000000333333330333330033!333!!!!!!333333333333333gggg#33333330333", "3333333330333333333330000003000000030z0333333333303333303333333333333333333333333333g333333333300033", "33333333k0l33333333300000003000000033333333333330003333033333333333333333333333gggggg3333333330000h3", "3333333k000l33333330000000030zzz00033333333333300000333z033333333333333330000000333333333333300abci3", "333333k00000l3333000000033333333333333333333330000000333033333333333330000000000033333333333000333j3", "3333330mdefm0333000000z033333333333333333333330mabcm033303333333333300000000000z33333333333303333333", "33333303333300000000003333333333333333333333330333330330033333333330000000000P0333300033003303333333", "3333330h333h0033330003333333333333333333333333031113033033333333334000000000003330000003000003A33333", "3333333j000j3333333333333333333333333333333333003330033033333333334003000000033300000003!00000033333", "333333333333333333333333333333333333333333333330222033300D033333304040000000z330001100!!20z000033333", "3333333333333333333333333333333333333333333333333033333333033333304040000000330000000!33322200003333", "333333333333333333333333333333333333333333333333303333333303333330000000000030000100!330000222003333", "33333333333333333333333333333333333333333333330000000333330003333!00000000013000000!3000000033003333", "33333333333333333333333333333333333333333333000000000z23333303333300000000000000z0!300000E0330033333", "33333333333333333333%%$$$$$333333333333333300000000002003333033333!000A00000000010300003333300033333", "333333333333333333%%%$$$$$03333333333333330000000000200000D003333330000001100000003#0333000000333333", "33333333333333333%%%$$$$$0033333333333333300002200020000033333333330!0000000001100333300000D03333333", "3333333333333333%%%%%$$$330333333333333330000000000000000033333333303!!0000z00000!330000D00333333333", "333333333333333%%%%%%33333033333333333333002200000000z0z003333333330333!!!01100!!333zzz0333333333333", "333333333333333%%%%3333333033333333333333000000z00003333303333333330333333!!!!!333333333333333333333", "33333333333333%%%%3333333303333333333333300000110000000000333333333033333333333333333333333333333333", "33333333333333%%%33333333303333333333333320000000000000000333333330033333333333333333333333333333333", "33333333333333%%333333333303333333333333322220000000000000333333000033333333333333333333333333333333", "33333333333333%%333333333303333333333333330000000000000003333300000033333333333333333333333333333333", "3333333333333%%33333333333033333333333333300001000001000z33330000abc33333333333333333333333333333333", "3333333333333%%3333333333303333300033333333001100000110033333000033333333333333333333333333333333333", "3333333333333%%3333333333303333000003333333311100000111333330033333333333333333333333333333333333333", "3333333333333%333333333333033330000003333333333z0z0z333333330333333333333333333333333333333333333333", "3333333333333%33333333333303330000000333333333333333333333330333333333333333333333333333333333333333", "3333333333333033333333333303300330300033333333333333333333330333333333330303003003333333333333333333", "3333333333333033333333333303003330330033333333333333333333300333333333330303030303333333333333333333", "333333333333k0l333333333330003333z030033333333333333333333000333333333330303030303333333333333333333", "3333333333k00000l33333333300333333030033333333333333333000000G33333333030303030303333333333333333333", "333333333330abc0333333333303333333033033333333333333330003333333333333000303030303333333333333333333", "3333333333303330333333333303333333z03003333333333330000G33333333333333333333333333333333333333333333", "333333333300h0h003333333330333333330300333333330000G333333333333333333000000000003333333333333333333", "333333333333j0j3333333333303333333303303333333303333333333333333333333333333333333333333333333333333", "33333333333330333333333333033333333z0300333333000333333333333333333333330000000333333333333333333333", "33333333333330333333333333N3333333330300333330zzz033333333333333333333333333333333333333333333333333", "3333333333303030333333333303333333330330333330333033333333333333333333333333333333333333333333333333", "333333333333303333333333333333333333z030333330000033333333333333333333333333333333333333333333333333", "3333333333333033333333333333333333333030333333000333333333333333333333333333333333333333333333333333", "3333333333303030333333333333333333333030033333303333333333333333333333333333333333333333333333333333", "3333333333333033333333333333333333330z30003333303333333333333333333333333333333333333333333333333333", "33333333333330333333333333333333333303330000B3303333333333333333333333333333333333333333333333333333", "33333333333330333333333333333333333303333333333033333333333333333333333333333333330z030z030z03333333", "3333333333300000033333333333333333330000G00000003333333333333333333333333333J33330030303030303333333", "3333333330000000000333333333333333333333333333303333333333333333333333333333333300030303030303333333", "3333333330000000000003333333333333333333333333303333333333333333333333333000000000030003000303333333", "3333333300000200000000333333333333333333333333G0G333333333333333333333330000000000333333333303333333", "333333330000000000D000003333333333333333333333333333333333333333333333330300000000333333333303333333", "33333333!00D0000011100000333000333333333333333333333333333333333333333300330000003333333333303333333", "333333333011100000000D000330zzz033333333333333333333333333333333333333303333300033333333333303333333", "333333333!00000000002220003033303333333333333333333333333333333333333330333333333333333333(303(33333", "3333333333!!002220000000003F333003333333333333333333333333333333333333003333333333333333333303333333", "333333333333!!00000D00000002333300333333333333333333333333333333333333033333333333333333333303333333", "33333333333333!!001110002222333330000333333333333333333333333333333333033333333333333333333303333333", "3333333333333333!!!0000!3333333333300000003333333333333333333333333330z3333333333333333333(303(33333", "3333333333333333333!!!!333333333333333330000&&&&3333333333333333333330333333333333333333333303333333", "3333333333333333333333333333333333333333333333&&&&&&&&&&33333333333330333333333333333333333303333333", "3333333333333333333333333333333333333333333333333333333&&&33333333330z333333333333333333333303333333", "33333333333333333333333333333333333333333333333333333333&0000333333303333333333333333333333303333333", "3333333333333333333333333333333333333333333333333333333330000003333303333333333333333333333303333333", "3333333333333333333333333333333333333333333333333333J3333300000000000333333333333333333333(303(33333", "3333333333333333333333333333333333333333333333333333333333300000003333333333333333333333333303333333", "3333333333333333333333333333333333333333333333333333333333330000003333333333333333333333333303333333", "333333333333333333333333333333333333333333333333333333333333000abc3133333333333333333333333303333333", "3333333333333333333333333333333333333333222203300030003333330003333133333333333333333333333303333333", "3333333333333333333333333333333333333330033300303030303333333003111133333333333333333333333303333333", "333333333333333333333333333333333333330@3333300G3000303333333333111333333333333333333333330000333333", "33333333333333333333333333333333333330033333333333333z0033333331113333333333333333333333300000033333", "3333333333333333333333333333333333333033333333333333333033333333333333333333333333333333300000003333", "3333333333333333333333333303303303333033333333333333333z03333333333333333333333333333333000000003333", "33333333333333333333333333333333333300033333333333333333003333333333333333333333333000000000000z3333", "333333333333333333333333333333333330abc03333333333333333z(3333333333333333333300000000000000((333333", "333333333333333333333330D00000000000333033333333333333333(3333333333333333300000z0z00333(((((((33333", "333333333333333333330000333333333330jhj033333333333333333(333333333333333300000033333333(((((((33333", "33333333333333330B0003333333333333333j3333333333333333333(333333333333333303333333333333(((((((33333", "3333333333J0000003333333333333333333333333333333333333333(3333333333333333033333333333333(((((333333", "3333300000033g3333333333333333333333333333333333333333333(333333333333333000333333333333333333333333", "0000003333333g3333333333333333333333333333333333333333333(333333333333333000333333333333333333333333", "3333333333333g333333333k00000000000000000000l333333333333($33333333333330abc033333333333333333333333", "3333333333333g333333k00000000000000000000000000l333333333($33333333333330333033333333333333333333333", "3333333333333g3333k000000000000000000000000000000l3333333($$3333333333300l3k033333333333333333333333", "3333333333333g333k000000000000000000000000000000000l333333$$$h000h0000000333333333333333333333333333", "3333333333333g33k000000000000000000000000000000000000l3333330i000i0000333333333333333333333333333333", "3333333333333g33000000000000000000005000000000000000000l33300jGGGj0003333333333333333333333333333333", "3333333333333g3k0000000005550000000555000000000000000000033!0333330033333333333333333333333333333333", "3333333333333g3000000000555500000000000000000404000000000033!033300033333333333333333333333333333333", "33333333333330000000zm000550000555000000550004040000000000333!0000!!33333333333333333333333333333333", "3333333333330000zz0333z000000055500000000000440440000000000333!!!!3333333333333333333333333333333333", "333333333333abc333333333000000000000000000!4440444!0000000033333333333333333333333333333333333333333", "33333333333333333333333!!!!!!!!!!!!!!!!!!!4444*4444!!!!!!!!!3333333333333333333333333333333333333333"]);
}
if (levelNum == 3) {
return(["3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333333333000003333333333333333333333333330000033333333", "3333333333333333333333333333333333333333333333333333330000000333333333333333333333333000000000333333", "3333333000003333333333333333333333333333333333333331110000000533333333333333333333300000000000033333", "33333300000000333333333333333333333333333333333330001110abc055503333333333333333330000DD000000033333", "3333330000000003333333333333333333333333333333300000011133355500000333333333333300000033330000003333", "333333000000000333333333333333333333333333333320000000133333500000000033300h000h00003333333000003333", "333333000def000033333333333333333333333333330220000z0033333330z000000!!!!!0i0@0i000333333333z0000333", "333333000333000000333333333333333333333333300220z033333333333333z0000111110i000i00333333333330000033", "333333300h0h0000000000333333333333333333330002233333333333333333330z3111113j000j33333333333330000033", "333333300i0i0000zz0000003333333333333333330003333333333333333333333331111133333333333333333333z00033", "333333330j0j0333330000000003333333333333300033333333333333333333333333333333333333333333333333300003", "30333333333333333333300D0000003333333333000333333333333333333333333333333333333333333333333333300003", "303333333333333333333333000000003333333000z333333333333333333333333333333333333333333333333333330003", "3A333333333333333333333333300D00000333000z3333333333333333333333333333333333333333333333333333330003", "3033333333333333333333333333330000000000033333333333333333333333333333333333333333333333333333330003", "30333333333333333333333333333333300D0000033333333333333333333333333333300003330000000333333333000003", "303333333333333333333333333333333333GGGG33333333333333333333003333333000000000000000000333333A700003", "3000333333333333333333333333333333333333333333333333333333300003330B000000000000abc00000000000000003", "3g3033333333333333333333333333333333333333333333333333333330000000000000000000z03330z000000000000033", "3g3033333333333333333333333333333333333333333333333333333333000000003gggg300003333333000000000000033", "3g3003333333333333333302000333333333333333333333333333333333330000033gggg333333333333333000000000333", "3g33A3333333333333330002020033333333333333333333333333333333333333333gggg333333333333333333000033333", "3g330333333333333335020202000033333333333333333J3333333333J3333333333gggg333333333333333333333333333", "3g3300333333333333550202020000033333J33333333333333333333333333333333gggg333333333333333333333333333", "3g33303333333333355502000333000033333333333333333300000033333333333333gg3333333333333333333333333333", "3g333003333333335555023333333000033333330z0333333003333003333333333333gg3333333333333000033333333333", "3g3333003333330005550333333333z000033330030033330033333300033333333333gg3333333333300033G03333333333", "3g333330000000000055033333333333000000003330033003333333330003333333307700333333330A33333G0033333333", "3g3333300000000000553333333333333000z003333300003333333333330333333300000003333330033333333H03333333", "3g33333300000abc0053333333333333333333333333333333333333333300333330000000033333003333333333H0033333", "3g3333333z000333005333330^^^33333333333333333333333333333333303333000000000333330333333333333H003333", "3g33333333000h0h00333330033^^33333333333333333333333333333333033330000000z33333003333333333333000333", "3g33333333330jzj033333303333^^3333333333333333333333333333330z33300000000333330033330000033333H00333", "3g333333333333333333330033333^^333333333333333333333333333300333000000z33333000333300abc003333300033", "3g3333333333333333333303333333^^3333333333333333333333333000333B000033333000D33333000333000333300033", "3g333333333333333333330333J333^&&3333333333333333333333k000033300000333300333333330033333003333z0003", "3g33333333333333333333003333333&&&3333333333333333333k0000003330000333330333333333033333330333330003", "3g333333333333333333333033333333&&&33333333333333333k00000033300000333330033333330033333300333330003", "3g3333333333333333333330333333333&&&333333333333333300abc0033300000333333zz0033330333333000333330003", "3g33333333333333333333300333333333&&&33333333333333k0033300333000003333333330!!!00333330003333300033", "3g33333333333333333333330003333333&&&&33333333333330000h00333300000033333333333333333300003333300033", "3g333333333333333333333333000033333&&&333333333333(0000i00333330000003333333333333333000033333000033", "3g333333333333333333333333333003333&&&&33333333333(0000j03333330000000333333333333300A00333330000333", "3g3333333333333333330003333333z03333&&&3333333333(((000333333333000000003333333330000003333300003333", "3g33333333333333333000003333333033333&&&333333333(((33333333333330z000000033330000000033333300003333", "3g333333333333333000abc00333333033333&&033333333(((33333333333333330z0000000000000003333333000033333", "3g33333333333330000033300333330z333333000333333(((33333333333333333330000000000000333333330000z33333", "3g33333333300000000333330033330333333300003333((3333333333%%%33333333300000000z033333333330000333333", "3g3333330h0000000D33333300033003333333m0003333(3333333333%%%%%3333333333300D003333333333330000333333", "3g3333000i000000333333333z00000333333330000333(333333333%%%%%%%3333333333333333333333333300000333333", "3g3000000i0000z33330003333000D333333333m000333z03333333%$$33%%%%333333333333333333333333300000033333", "3g0000000i0000333300000003333333333333330000333z00333$$$$3333%%%%33333333333333333333333300000033333", "300000000i00D3333000000000000000033333330000333300D0$$$$333333$%%%3333333333333333333333000000003333", "300000000i033333300000000000000000033333m0000333333333333333333$$%$3333$$$0333333333330J000000000333", "3000#0000j333333000000000000000000003333300003333333333333333333$$$$33$$3303333330000000000000000033", "300000000333333000000000000000000000333330000033333333333333333333$$$$$333033333000000000000abc00033", "330000$$333333000000000000000000000003333000B03333333333333333333333333330D3333000000000000333330033", "333!!!3333333000000000000000000000000333330000333333333333333333333333333033333000000000000l333k0033", "33333333333300000000000000000000000003333300000333333333333333333333333^^z333300000333000000l3k00033", "333333333300000000000000S0000000000003333300000333333333333333333333^^^^333333000333333300000h000333", "333333330000000000000000330000000000003333000B033333333333333333333^^33333333000333333333330DiD03333", "33333330000000000000GGG3113000000000003333000000333333333333333333^^3333333330033333333333333j333333", "3333330000000000000z33311130000000000033333000000333333333333333330333333333300333333333333333333333", "3333000000000000000311113113000000000003333000000333333333333333330333333333000333333333333333333333", "333000000B00000000031333131301000J0000033330000B03333333333333333310333333300z3333333333333333333333", "3330000000000abc00z313111313000000000003333000000333333333333333333033333330033333333333333333333333", "3330000000000333003113131313000000000000333300000033333333333333333000333300333333333333333333333333", "33000000000031113z3131331311300100000000333300000003333333333333333330033003333333333333333333333333", "33000000000031311311313131313000000000003333000000033333333333333333330D0033333333333000003333333333", "330000000000313311131311313130000000000033330000B0033333333333333333333333333333330000333B0003333333", "300000000000313133313131313130100000000003330000000033333333333333333333333333330A0033333333H0333333", "300000B0000311311113133131313000000J000003330000000033333333333333333333333333300033333333333G003333", "30000000000313133331333131313000000000000333300000003333333333333333333333333300033333300033333H0333", "000000000031131311133131313113000000000003333000000003333333333333333333333330003333330abc033333H033", "0000000000313131333311331313130000000000003330000000033333333333333333333333000333330003330003333033", "0000000000313131311133131313130000000000003330000000033333333333333333333330003333300333333000333033", "00000B0000313131313313131313113000005000003330000000003333333333333333333000z333300z3333333303333H03", "000000000311313131311313313131133000000000333000000000033333333333333330000z333300333333333003333303", "00000000031313133131313133131311130000000033300000000000033333333333000000z3330003333333333033333303", "0000000003131313131313133131311330005200000333000000000000033333300000000033300333333333333033333303", "00000000311313131313131313131130h00055000003330000000000000000000000000033330A3333333333330z333330z3", "00000000313131331313131313131300i00550000003333G000000abc00000000000D0333330033333333333330333333033", "000B0000313131313133131313131300i000000000003333GG0000333000000z0z3333333000333333333333330333333033", "000000003131313131331313131313z0i00000000000033333GG00l3k0000003g333333300333(00D0003333300333330033", "0000000031313131313313131313113zjM00000000000033333300zhz033g3g3g33333300333((33333z0330003333300333", "000000031131313131331313313131133000000000000003333333333333g3g333333300333((3333333z000333333303333", "000000031313133131313131331313111300000000000000333333333333g33333333303333(333333333G03333333003333", "000000031313131313131313133131331300000000000000003333333333333333333003333((333333333333333300033J3", "00000031131313131313313131331313113000000000000000000333333333333330A033333(((3333333333333300033333", "0000003131313313131313131313313131300000000000000000000000033300000003333333(((((3333333300000033333", "70000311313131313131313131313131313z0000000000000000000000000000000003333333((((00000000000000333333", "04000313131331313131313131313131311300000000000000000000000000000000333333333((00000000000000z333333", "04000313131313131313313131313313131300000000000000000000000000000000333333333(00000abc00000003333333", "0440311313131313131313131313131313113000abc000000000000000000000000033333333330000033300000033333333", "044131313133131313131313131313313131300033300000000000000000abc00030333333333330003k0l3000z333333333", "04441131313313131313113131313131313113D0hih000000000000000003330303033333333333330h0D0h0333333333333", "0444111313133131313131313131313313131133jij000000000000005P0333z3z3z33333333333333333333333333333333", "*444441131313131313131131313131331313111333!!!!!!!!!!!!!!!!!!333333333333333333333333333333333333333"]);
}
if (levelNum == 5) {
return(["3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333", "3333333333333k0000033300000000000000000000000h00000000000l333k0000000000000003333330000000000jl33333", "333iiih333k0000000003000000300000000000000000j000000000000l3k000000000000000000333#0000000000100l333", "33hjjjhh3k0000000000300000030000000000E0000333300z000000000300000G0G0G000000000033300000000001000l33", "33idefhi000003330000300000030000033333300003000333300000000200000333330000@0000003330000000001000033", "33ihPhji00000000000000000000000000000000000000000000000000000000000000000000000000000GG00000000000l3", "33jihijjz0000000000333000000000000000000000000000000000000000000000000000000000033333330000000000003", "333iiij33!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!00003", "33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333!0003", "333333333333333333333333333333333333333333333333333333333333333333333333333333000033333333333333!003", "3333333333333333333333333333333333333333333333333333333333333333333333333333300000033333333333333003", "3333333333333333333333333333333333333333333333333333333333333333330000000000000000000000000033333003", "3333333111111111111111111111111111111111111111111111111111111111300000000000000000000000000000333003", "33333111111111000z001111111111111111101111111111111133331111111300000000EE00000000000000000000033003", "3300000111100001111E0111111100111111001111111111111300003311111300000333333300000003330zz00000030003", "30abc000000011111111011111111011111101111111111111300000003111300000311111113z0000031333300000030003", "30333zzz111111111111011111111000111001111333311113000000000311300003111111111300!!!31111330000000003", "30333551111111111110z111011111101100111130000311330000A000031130003111111111113333311111133000000003", "3033155111111111000011110111111000011113000000330700000000311300003111111113311111113331113000000003", "3031100111111110E011111100111100111111300000000707000000003113000311333333300333333300031133S000abc3", "303100001111110z11111111100111011111130000A000033300000003113000031300000000000002200000311333333333", "30310000111110z111110111110010z1111130000000000311300z0070333000033003333G00000002200000311111113333", "30310z00011110111111001111100011111370000000003111133333000000000000311113H00000022H00z0031111111113", "30310110E000001111111000111001111113033000z0031111111113000000000003111111330zz033330033031111333111", "3031001111100111111111000100111111300313033331133331113003330000000331111111333311130313031113000311", "303100111111E011100100010z01111111303113703113300003313031130000000003111111111111300313003330000031", "3031101111111011110001110111100113003111300330000000030I3111300z0033003111113333113031113D0000000003", "30311z0111111011111111110011001130000333370300000000007311111333331130033113000033003111133000000003", "3031110011110E01111111111000011300000000007700000A000003111111111111130D03300000000311111113HH000003", "30311110001001001111111111001113000000000033000000000000311111111111113300000000000311133311330z0003", "30311111100z111z01110111110z11130000000003113300z000000031111111111111113333z0000H031130003111333303", "303110z0E0111111001000111001111300000A000031113330000000311111111111111111113000z3311300000311111303", "3031001111111111100010010011111300000000003111111333300031111111111111111111130331111300000031133003", "30310111111111110E1111000111113073000000031111111111130031111333311111111111130311111300000003300031", "30310011111111100111111z011111303130z000z3111133331113000333300003311111113330031113300abc0000003311", "303110011111111z01111111001111303113300031113300003113077000000A000311111300003113300003330003300031", "30311101111111110011111110011370311113003113000000031130070000070000311130000003300D333113zz31133003", "30311100110z00111000E01111113003331113000313000000003330z07000000000031130000z0000331111113311111303", "303111111101100100011001111130000033113070300000000000703300000000000033300F330003111111111111133303", "30311111100111000z111100111300000000311300700000A0000003113000abc00000070003113000311111333311300D03", "3031111100111110011100E00113000000000330000700000000033111300033300000700z00311330033113000033003331", "3031111001111111001001110013000000A00007abc700000000311111373311133000033330031113000330000000031111", "3031110011110E0E000011111013000000000000333000000003113333003111111300311113003111330D00000000001111", "3031110z111001z100011111101300000000033311300z003073130000031133331133111111300311113330000000001111", "3031110111001111110111110z130000000z311111133333130030000003130000311111111113031111113G00000G301111", "303111011101111111001110011130z000031111111111113300000000333000000311133311130031111113300z33101111", "30311100E0011111111000E0111113300003133331111113000000J000000000000031300031113031331111303311111111", "3031110011011111111001111111111300313000031111300000000000z00000000033000003113033003311303113333111", "303110011100111100z011111100z0113733000000311300000000000330000J000000000000313000000033003130000311", "30310z1111100100011111110D0110113000000000311300000000z031130000000033HH00003113000000000311300J0031", "303101111110000111111100011110011300000J00033300000000331113000000031133HHH003330000J000311300000031", "303101111110E011111000z11111110111300000000000000000331111113000z0311111333z000000000000313000000031", "3031001000001111110000111111110111130000000030000z031111111113003311111111130003300000000330000z0031", "303110E010z0111000000011111110z1111130z000033003333111111111130031113333311300311300z033000000330003", "303111111111100z11111011111110110D011330003130031111111113333003111300000330031111333311300z03113003", "3031111111100011111110111111000001z01130331113031111111130007031113000000007031111111111133331111303", "3031111110D01111100D000111100100111001303111337311111113B000331113000B000000333111111111111111113303", "3031111100111111001111011100111001110130033300003111333000003111300000000000700331111133311111130003", "30311110011111100111111z00011111011001130700B0000333007000000311300000000000330003113300033111300331", "3031110z111111001111111100111111000D0011330000000007033000000311300000000003113300330000000311303111", "303110011111110111111110011111111001100113000000000331300000031113000000z03111130007000B000033003111", "303110011110D00001111110111111100z11110013000000003111130000z311113300033311111130700007000000731111", "303111001100111100z00100011110D00111111013z00000z07311113z003111111137311111111113300000000000731111", "30311100000111111111000100110011001111101130000033003111130703333333303111111111113000000z0333003111", "30311110D011111111110011100z01111011111z0113000311300311113000000000003113333311113733abc33111300311", "3031111010011111111001111111011110011111011130031113033311300000000003113000003133003133311111130031", "3031111011001111110011111110011111001111001113731130000031130000000031130000000300031111111111113031", "30311100111z011111011111110011111110111110011300330000000333000abc000330000A000073311111113333113031", "3031100111110111100D011111011111110z011110011130000000K000000003330000700000000033111111130000330031", "303110111110001100110011100111111001011111011113000000000000000l3k00007000000A00703111113000A0030311", "30311011111010000111100100111111001100111101111300000000000033z0j0z333330000000030031113000000007311", "30311001110011001111110001111100011110D000011130000000000300313333311111330z000313z0313000A000003111", "30311100100111z011111110z00010D011111111001113003300z00031303111111111111133033111303300000000031111", "30311110z01111101111111111101010011001111001130311333333113003311133311111137311113000700000z0311111", "30311100111110000111111111000011z000001100111303111111111113700333000311113003111113003300z033111111", "303111011111000001111111100101111000100z011113003113333331113000000000311130333333313z03333311111111", "303110011110011000z011110011z01100011101111111333330000003311300000A00033300330B00033300311111111111", "3031100111001100111001100111101001D011001111113300000000000337000000000703033000A0000330311111111333", "30311100100D1101111100101111100z111011101111113000000000000000733000A0030003000000000030311111133000", "3031111000111101111110D0111111011110010D0011137S000000000B00003113z00z313007000000000007311111300000", "30311110z1111001111111101111100111110001101330z33300000000000073113003111333300000000003111113000000", "3031111011111000z00000z011110011111100111z0abc311300000000003300311331111111130000000z31111130000000", "3031110011111001110011100100z111110z001111033311113000000003113003111111111111330z00z311111300000040", "3031100111110011111011110001111110011D0011z0111111130zzz03311113003311333311111133303111113000000440", "3031110001100111111011110011111100111110111001111111333331111111300033000033331111373111130000004440", "30311111001011111100111110011110D01111100111z0111111111111111111133000000000003113003111300000044440", "30311111z000111111D0111100D0000z1011110D001110z00111111111110000113000000003300330031113000000444440", "3031111110D01111111000z00111001110011001100110111001111111110110113000000003130000311130000004444440", "303111111010011110000011111110111100001111D00z1111z0110z0100z11011130z000z03113333111300000044414440", "303111110011001100111001111110111110z0111110011111100D0100011110011133abc331111111113000000444111440", "30311111011110z0011111001111001111111001110001111110011111111111011111333111111111130000004441111440", "30311110001111110111111000100011111110D0110100111100111111111100001111111111111113300000044411111440", "303110z0101111110D001111100D1z0111100010z001100z0001111111111001100111111111113330000000444111111440", "30310011100111000100010z00111100D0001111111111111111111111100011110000111113330000000004441111111440", "303111111100D001111100011111111111111111111111111111111111001111111111111130000000000044411111111440", "30311111111111111111111111111111111111111111111111111111111111111111111113003z0000000444111111111440", "300333333333333333333333333333333333333333333333333333333333333333333333330033z000004441111111111440", "30000000000000A0000000000000000000C000000000000000000000000K0000000000000000333000044411111111114440", "30000R5000000000000000000000000000000000000000000000000000000000000000000000000000444111111111114440", "333!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!444411111111114444*"]);
}
if (levelNum == 7) {
return(["3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333000003", "33333300000000000000000000000000000000000000000000000000000000000000000000000000#330000000h0033def33", "3333000000000000000000000000000000000000000000000000000000000000000000000333abc33300000000i000330333", "333000000000000000000000000000000000B000000000000K00000000000K000000000z33333(333000000000i000000003", "3330000GG00000000000000000000000000000000000000000000000000000000000000333333(330000003300j000000003", "3300003333000z00000000000000z0000000000000000z000000000z0000000000z0033333333(330000000l3330000000D3", "330z33333333333333300000DE333333300000003333333300003333330000000333333333333(3300000000003300000033", "33033333333333333333333333333333333333333333333333333333333333333333333333333(333300000000133z0z3333", "33033333333333333333333333333333333333333333333333333333333333333333333333333(33333H0000001133333333", "33033333k0h033333333333333333333333333333333333333333333333333333333333333333(3333333000001111033333", "330333k000i0000h00333333333333333333333333333333333333333333k0l33333333333333(333333330D011150000033", "33033h0000i0000i00000h00000h033333333333333333333333330h000h000h3333333333333(3300000333111100000033", "3abc3i0000i0000i00000i00000i00000h000333333333300h000h0i000i000i0333333333333(3000000003331100000003", "33033i0000i0000i00000i00000i00000i00000h0000h0000i000i0i000jabcj0300003333333(30abc00000003300000003", "3303ki0000i0000i00000i00000i00000i00000i0000i0000i000jzj003330333008800333330(3330330000000300000003", "33030i0000i0000j00000jG0000i00000i00000i0000i000Dj000333000080800088880333330(3000033000000000000003", "33030i0000i000333000333000Gj00000i00000i000zjz00333000000000808088800003333003300000330z000000000003", "33000i000Dj000000000000000333000Dj00000jG003330000000000000080808000G8333300033000000333000000000033", "33330i0003330000000000000000000033300033300000000000000000008000808883333h003333zz00z23330000000z333", "3330zjz000000000000000000000000000000000000000000000000000000888800833330iz333333300222233GGGGG33303", "3300333000000000000000000000000000000000000000000000000000000000880833000i3333333332222A03333333h003", "3300000000000000000000000000000000000000000000000000000000000000080330000j3330000033320000000000i003", "33!0000000000000000000000000000000000000000000000000000000000000!8030000233300000000330000000000i003", "333!!000000000000000000000000000000000000000000000000000000000!!38030000033h00000000033000000000i003", "33333!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!3330z30200030i00000000033300000000i003", "333333333333333333333333333333333333333333333333333333333333333330130000030j001000300l3330m000m0i003", "33333hC0000000IIIII0000000000HHHHH000G0G00G00G0G0000h00h033333333z030000030300000000003333300033j003", "333h0j777777777777777777777777777777777777777777772Rj00i000333330103200003030000000000l33000000l3003", "330j33!000000000000000000000000000000000000000000003333j00003330z0030002030300000200000300000000l303", "3373333!!000000000000000000000000000000000000000000003330abc333010530000030300000000abc3000000000303", "3abc33333!!!!!!!!!!000000000000000000000000000000000003333033330000300000303000000003(33000000000303", "3303333333333333333!!!!00000000000000000000000000000000333003335050330002303000000000(03300000000303", "330h0000000000000033333!!!!000000000000000000000000000003300333000003000030300000000((003!!!!!!!!303", "330i00000000000000000033333!000000000000000000000000000033000330105032000303(3(((((((000333333333003", "330i000000000000000000000333!0000000000000000000000000000300030000B030000303(3((((((0000h33003111z03", "33zj0000000000000000000000033!0000000000000000000000000003000301050130002303(30000000000i030005111z3", "333300055555000000H00000000033!0000000000000000000000000000003!00000300003030h0000000000i03000031113", "333k000000055555555000000000033!00000000000(000(00000000000003305050330000030i0000000000i00300003113", "33k00000000000000055500000000033!000000000000000000000000000003!0000330000z30i0000000000i00030003113", "3k00000000000000000055500000000330000000000000000000000000000033!!!003000z333j0000000000i00003000313", "300000000000000000000055500000003!000000000(000(0000000000000!333330033G0333330000000000i00003300313", "30000000000000000000000055000000330000000000(((0000000000000!333333300333333333000002528i00000300033", "3!00000000000000000!!!000550000033!000000000000000000000000!3333003330003333335525250000iz00003000h3", "33!0000000000000000333!0005500000330000000000000000000000003330(((0l33300333300000000000i800003300j3", "3#30000000000000000(033!00055000003!00000000000000000000000330(((((0h0330033300000000000i80000030033", "3#((((((((((((((((((0033!0005500003300000000000000000000000300(((((0i0033003300000000000i80000030003", "3@3000000000000000!!3033300005500003000000000000000000000000zz000000i0003303300000000abcj88z0003abc3", "330000000000000000333(333000005z000300000000000000000000000033!00000j000j303300080033303388800033033", "300000000000000000l33033k00000550003!00000000000000000000000033!00003abc33033000000008008000000030l3", "3000000000000000000l3(3k00000005z00330000000000000000003330000330000l303k303300z000008808(0000003003", "30000000000000000000303000000005500030000000000000000000!(N00003!000000008033001000000808(8880003003", "300000000000000000003(30000000035z003000000000000L000000330000033000000008033000000000808(0000003003", "300000000000000000003030000000003500300000000000000000003(0000003000001008033000001000808(0000002003", "300000000000000000003(300000000035003000000000000000000!300000003!00000008033000000000808(0000003003", "300000000000000000003030000000000300330000000000005555533(0000003300000008033000000000808(000z003003", "300000000000000000003(30000000000300330000000005555000!300000000030005000803300000020080830008002003", "3000000000000000000030300000000003000300000005550000003300000000030000000803300000000080800000003z03", "300000000000000000003(3000000000!3000330000055000000003000z3000003000000080330z000000080800000z02003", "3000000000000000000030300000000030000033055550000L000030003k0000!300500008033030003000808G0000803003", "300000000000000000003(300000000!3000000355000000L005553000000000330000000803300000000080088000002003", "30000000!!!!!!000000303000000!!3000000033000000555550030000000003300005008033000000000080z000G002003", "30000!!!333333!!!!!!3(3000!!!33000000000300000550000003000000000300000000803300150000000888888882003", "300!!333000000333333303!!!333330000000B0330005500000003!0000000030(000G008033000000z0000000000002003", "30!33k000000000000033(33333333330000000003335500000000330000000!30(55555080330!000110000000000002003", "3!3k0000000000000000gg3330000333300000000553330000000553!000000330(000000803303!!!0000000000000010z3", "33k0000000D0D0000000g330000000003300000055553330000555033000000300(000000803300333!00550000000002003", "330000z03333300000003300000000000333000555500333055500053!0000030000000008033000003!00000000abc01003", "3k000z3330003333000330000000000000033333350003333500055533!000!300000000080330000003!!!0110030301003", "3abcz3300000033000z300000000D000000000000000030h33055550033!!!33000001000803300&0000333!!00000001003", "330333000A000300003300000003330000000000000030@i03335500553333330010000008033002000000333!!!0z002003", "30003000005533(00030000000333330000000000003000i0h03300550333330000000010803300080000000333303002003", "3000200005553(((03300000z3300033HH0000000330000i0i0033550003333000000000080330z008000000888000082003", "3000200055553((((300000z330000033330D0033000000j0j00033000033330000000000803302008000000080000082003", "30002005555530(((30000033000000033333333000000222200003305533330001000100803300000800008080800881z03", "300025555555300((3z000030000000000000000000000000000000355003330000000000803300000800008080800801003", "3000233335553000(3300000000000000000000000000zz00000000330003300000000000803300200088008000808001003", "3000330035553000003000000000000000000000000033333000000030#03300010000000803300000000888888880001003", "300330(03555330@@03000000003333000000000033330003300000030003300000000000803300000000000000000001003", "3!330((03550l30@@0330000333333333GGGGG3333000000033z000033003300000010000803302000000000000000002003", "3330(((0330@0300000330033K330000333333300000000000330000l300330000000000080330000z000000000000001003", "330((((0030003300000333333300000h0h00000000z0z000003300003300300005000500803300002000000000000002003", "30((!((003300l300000000000000000i0i000000003330000003abc333003!000000000080330000000300z000000001003", "30(090(00h3000330000000000000000i0i000000H33@3300A0033033303#33!0005(50008033000000000030003000020z3", "30003!(00i3000l33z00000000000000i0i000H3333000330000000h33030033!0050500!803300000000000000000001003", "300039000i33000l3300003333333330j0j033330000(0030000000i330030033!00(00!38033000000000000000z0002003", "300033000j033000l333333000000033333330000000(0003000000i3300030333!!0!!30803300000000000000030001003", "30003300030330000000000000000000000000000000(0003000000j300000003333(33008033000000000002003k0002003", "3000l33000013300000000000000000000000000000000000300000330000000000000000803300000000300000000001003", "300003k000z11333GG000000000000000000000000D0000003300003000000000000(0000803300000300000000000002003", "300003000z11000333GGG00000000000000000z03333000000333333000000000000(0000803300300000000000000001003", "00000300011000000333300000000Fm000m00033300333G00000333000000000abc000008803300000000000z00000002003", "0z00030000000000000033333333333!!!33333000000333G0abc3300000000a3(3c00088003300000000000200010001003", "04000330000000000000000000000033333000000000000333303330000000a33(33c0880083302000000000000000002003", "04000l30000000000000000000000000000000000550000000303330000000333(333880088330000z000000000000z01883", "04z0003300000080G000000000000000000000005000000000303330000000008(88880088!33!0002000003000001102!!3", "044000l300000808880G000005555000000005550005000000003330000000008(880008803333000000000000000lk01333", "044z000330000800008888000000000000550000000055000000330000000000800008880!3333!00000000000000000!333", "0444z00l33008000000008888000005555000000000000000zz33300000000008888880!!333333!!0300030000000!!3333", "044344!!!333!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!33333!!!!!!!!!!!!!!!!!!3333333333!!!!!!!!!!!!!333333", "*434333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333"]);
}
if (levelNum == 9) {
return(["3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333", "333330000000000000000000000000000000000000000000000333333333k00000000003333000000000000000000F033333", "3330000000000000000000000000000000000000000000000000h033333k0000abc000003300000zz3338888888888000333", "3300000000000000000000000000000000000000000000033300i003333000z0333D00000000000330000000000000880033", "330000000000000000000000000000000000300000000000l333j00033k0(0330003300000000T3000000000000000008033", "3000003000300000000000000000000000000000000000000l3330003303(300000003000022230000000000000000000003", "300z300000000000000000000000000@@000J0033000000000l33def3300(000000000333303300000000000000000000003", "30z3000000000300000000000000000000000000000zz000000333333300(000000000000000000000000000000000000003", "303000000000000000000000000000333300000000033300000l33333k00(000000000000000000000000000000000000003", "3030000000B000000000000000z0000000000000000000000000l333k000(000000000000000000!!0000000000000000003", "303!00000000003000000000033300000000000000000000000000000000(000000000000000!!!3300000000000m000abc3", "30330000000000000000000000000000000000000000000000000!!00000(00000000000!!!!3333000000000000g0003333", "303300000000000z00000z00000000000000000000000000000003300000(0000000000!3333300000000000000000000l33", "3033!00000000003330003300000000000000000000000000000!3300000(0000000000330000000000000000000000000l3", "30333000E00D00F00F0D00F00EDF0000E0D0F000ED00000E00F0330000000000000000030000000000000000000000000003", "300333333333333333333333333333333333333333333333333333000000000000000!!30000000000000000000000000003", "3000033333333333333333333333333333333333333333333333300000D000000000!3330000000000000000000000000003", "30000000000002000022200000000000z2220033333000000000000001110000000!33000000000000000000000000000003", "3000000K00000200000022000K0000z0222z0033300000000000000000000000000330000000000000000000000000000003", "3abc000000000200000002200000022223333033000000000000000D00000000000300000000000000000L00000000000003", "333322z00000220000000022002222333333303300000000000000022200000000!300000000000000000000000000000003", "3333322200002000zz22222222233330003330330000000000000000000000000!33000000000000000000000$0000000003", "333333222002200222223333333300000003303000000000000000000D000000033000000000000000000000333000000003", "3300033222222222223330000000000000003030000000000000000022200000030000000000000000$$$000000000000003", "3000003322222222333000000000000000003030000000000!!0000000000000!30000000000000000333000000000000003", "3000000333333333300000000000000000003030000000000220000zz000000!330000000000%%%000000000000000000003", "3000000000000000000000000000000000033033000000000220002220000003300000000000333000000000000000000003", "30000000000000000000000000000000000h303h00000000z0000000000000!3000000zz0000000000000000000000000!!3", "30000000000000000000000000000000000i000i0000!!!!3000000000000!3300000333300000000000000000000000!333", "30000000000000000000000000000000000i000i00zz1111300000000000!33000D0333000000000000000000000000!3303", "30000000000000000000000000000000000iabci00333333k000000000003300003333!0000000000000000000000!!33003", "30000000000000000000000000000000000j333j00l3kl3k00000000000!30000333333!!00000000000000000!!!33300B3", "300000000000000000000000000000000003303300000000000000000!!33000333333333!00000000000000!!3333000003", "300000000000000000000000000!!000000000000000000000000!!!!33300003330000333!0000000000!!!333000000003", "30000000000000000000000000!33!0000000000000000000!!!!3333300000333000000333!!!!000!!!333300000000303", "300000000000000000000000003003!00000000000000000!333330000000033300000000333333!!!333300000000003303", "3000000000000000000000000000003!000000000000!!!!330000000000E333000000000000h0333330h000000000033003", "300B0000000B0000B000000000000003!!00000000!!33333000000000333330000000000000i0000000i0000000z3330003", "30000000000000000000000000abc00033!!00000!33300000000E03333300000000000T0000i00abc00i0000z0333000003", "300000000000000000000000003330000333!!!!!330000000H333330000000000z33333330Dj0033300i00H333300000033", "3000000000000000000000000H35555005533333330003333333000000000000E3333330033333333330jF3330B70000z333", "33333377773333333333!!!33335550005553000abc33300000000000GGG33333333000000000l3333333330000000zz3333", "3222230000322222222233322235500055553300333300000000000z03333333333000000000000000B70000000000333333", "3223300000033322222222222235000555555330000000000000F03333555533330000000000000000000000000033330003", "32300000000000333222222222350055550055333G000H03333333355550005330000000abc0000000000000333333300003", "33000000000000000333333222350005500005553333333355555555500055533000@000333300000000333333333h000003", "300000000000000000000003223550000005000555555555555500050000005530000000000333333333333000000i00abc3", "300000000000000000000000323555000055555555555555550000000055000530000000000033#BA011100000000i003333", "300000GGGG00000GGGG00000323550000005555500000555500555000555550533000000000003300111000000000i000003", "300000333300000333300000323500050005500000000055505555500000555553300000000000331110000000000j7z7z73", "300003k00l30003k00l300!032350055500000005555000555555555000005000533GGG00000000332222222202223555553", "30H000000000000000000030323005555000005005555500055550000050000555533330H0H0000033000000000003555553", "333300000000000000000030323!5555500055550005555000500000055505555555533333300000333000z00z00z3500553", "3k0l30000000000000000!303233555555000555550005500000050055555555555555533333000030320222222223500553", "30000000000000000000!330323305555500055555500000500055500555550000055555300330003C300000000003555553", "30000000000000!!!!!!333032330555550000555555500055000555005500000000555530003000003E00000000E3555553", "3!000000!!!!!!33333333000333!055555000000055000555500055000000550z0005530000330000322222022223550053", "33!!!!!!3333333000000000003330055555000000050055555500000000055555z000300000030000330000000003550053", "333333333^000000000000000003300055500055000000555555500055000555555z00000000033000030E00E00E03555553", "33&^&^^^^^0000000000000000033!0005500555000000055555550005500055553300000000003000032202220233555553", "3&^&^&^^^^A0000000000000000033000000055000550000555555000555005533000000000000330003300000003355z553", "3^&^&^^^^^^00000000000abc00033!000005550055550005550055005550553000003000000000300003000000033555553", "3&^&^&^^^^^00000000000333000333!00055500555555005500000055000553000000000000000300003220102233555553", "3^&^&^&^^^^^00000z0z033333z03333!!0500055505550055055005555555300000000030000003000030000000335z5553", "3&^&^&^&^^^^^000033333333333333333!!!055550050055500555555555330000000000000000300003000000033555553", "30&^&^&^^^^^3333333333333333333333333!!!!000005555500550!!!33300000000000000000300003005050033555553", "303&^&^&3333333333333330B0033333333333333!!!!!055550!!!!33333000000000000300000300003000@000335555z3", "3033333333333333333333003300333000033333333333!!!!!!333333333000000000000000000330003000000033555553", "3033333333333333333333033330033330000033333333333333333333330000000000000000000030033050505033z55553", "30033333333300000333333333330333333300033333333330zz0000333300000000K0003000K00030030000000033555553", "3000333330000B0000003333333303333333300033333333303300000033!000000000000000000033030000000033555553", "30000000000003300000003330000333333333000003333330330000K0033000000000000000000033030505050533555553", "3000000000033333000000000000333330003333000000033z03000000003!0000000000030000000303000000003355D553", "30000033333333333003zz00003333300000003333300000330330000000330000000000000000000303000E000033555553", "3abc0033333333333003330033333300000000033333330033033000000003!0000000000000000003032222222033555553", "3333003333333333000333003333300033330000333330003003330000000330000000000030000003030000000033D55553", "33k00!33303333330033330003330z33333330000330000g303333300000K03!000000000000000003033z00z00z33555553", "3k0!!33330033330003333300333333333333300000003gg3033333300000033!00000000z000000030332022022335555D3", "3!!3333333003300033333377033333330333330000033gg3003333330000003300000000300000003033000000033555553", "33333333333E0000333330000000333300333333300333gg33003333300000003!0000000000000003z030D000D033555553", "33333333333333333333000abc00000003333333300333gg3300033333000000330000000000000003303222022033555553", "3333333333333333333003333330000333333333003333gg333000033300000003!000003030000003303000000033555553", "333333333333333333000333333300333K333330033333gg3333000003300000033000000000000003303000D0003355A553", "333333B033333333300300333333303333333000333333gg333333000333000000300000abc0000000303022220233555553", "33333330033330000003300333333003333000333333333g3333333000330000L03000003330000000303000000033555553", "33333333003000z0003333033333000030000333333333gg33333333003330000030000000000000003030D000D033555553", "3333333300000333000333003333000000033333333333gg333300000z333000003000033033000000303220222233555553", "3333333330003333300333303330033000033333333333gg333000D003333000033000000000000000303000000033555553", "33333333330003333300333z330033333000003330z333gg3300z3333333000003000000000000000030300D000033555553", "3333333333300033330003333333333333333000003333gg300033333333000033000000060000000030322222023355A553", "3$33333333330033333000333333333333333333333333gg0003333333300000330000000600000000370000000333555553", "3$3333L3333300333333000z33333333333333333333330000333333330000003000000006000000003abc00000333555553", "4$$33L3L3333z33333333333333333333333333333333300333333333h0000033000000006600000003333zz0z3333555553", "40$$333333333333333333333333333333333333333333333333333k0i000033000000000060000000333333333333555553", "404$$$333333333K3333333K3333333333J333333333J33333333k000i000330000000000060000000333333333333500053", "404$$$$%%%%33333333333333333333333333333333333333%%%00000i003300000000000066000030333333333333000003", "4044$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%0000jz33000000000000006000030l333333333300abc03", "40444$$$$$%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%abc3330000000000000006000330000000000000033303", "40444455555555555555555555555555555555555555555555555533330000000000000000066333k000000000005R33#gg3", "4*44444!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!333!!!!!!!!!!!!!!!333333"]);
}
if (levelNum == 11) {
return(["3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333333333333333333333000333333333333333333333330000333", "3333333003333333333333333333333333300003333333330000000333333333330000003333333333333333333000000033", "33330000000333333333000033333330000000000000333000000000000333300000zz000033333333333333330000000003", "3330000000000333300000000000000000000!!!!0000000000!!00000000000000033000003333333333000000000ggg003", "33000333000000330000000000000000000!333330!000000!3330000000000000033333000003333300000000000g333003", "300033333000000000000000000000000!3333333330!!!!3333330!!!00000!!!3333333z00022000000000000gg3333003", "300333333330(0000z3330z00000000!333333333333333333333333330!!!3333333333330002200000000000g3333300g3", "3zz333333330(0003333333000000z33333333333333333333333333333333333333333330000220000TE000gg3333300033", "333333333000(003333333330000033333333333333333000033333333333333333333000000022000033333333333000g33", "3333333300(0(333333333333000333333333333333300000000000333333333333330000000022000333333333333000333", "3333333000(033333333333330033333333333333C300000m00000000033333000000z00000z0220003333333333333z0033", "3333330000(333333333333330033333333000z300300z0333000000000000000000020def02022000133333333333330003", "33333300(003333333333333300033333300033303k033333333E00000000000000000033300033001103333333333333003", "33333000(03333333333333333003333300033330303333333333300000000000000ggg3h3ggg33g11100333333333333003", "33333000003333000033333330003333300333300h0333333333333E00000T00000g3g3kil3g3g33310000333333333300z3", "3333300(033330000003333333003333000333000j3333333333333330zz033300033333j333333333300033333333000z33", "3333300(0333003330003333330333300033330003333333333333333333333330033333333333333330003333333000z333", "33333000(333z3333300033330033000033333003333330000333333333333333000333333333333330000333333300z3333", "33333300(3333333333000000000000033333000733330000003333333333333330G003333333333000@0333333330033333", "333333((0033333333330000000000333333300700330003300003333333333333330G033333330000033333333330033333", "333333((003333333333300000000333333300030000003333300033333300003333330033333(0(03333333333333000333", "33333300(00333333333333300000033333300033300333333330003333000000033333003333(0(33333333333333330333", "33333330((0003333333333333300030003000233333333333333000330000000003333(03333(0(33333330000033330033", "33B333300(0000333333333333330030203002333333333333333300000003300003333(03333(0(033300000H0003333033", "33#3333300000000333333333333300020300233333333333333330000003333000333000333330000000003330003333003", "33033333300000000033333333K33000200003333333333333333330000333300033300033333330H0000H33333(033333@3", "330033333300000000003333333000002223333333333333333333330003333003330003333333333HHH3333333(03333003", "33z0333333300000000000030000000011333333333h00l333333333333333003330003333333333333333333330033330g3", "3330033333333000000003030300000113333333300j000l3333333333333003333003333333333333333333330033330033", "333z0033333333000000030303002211333333330009abc033333333333330033300033333333330000003333000333k0(33", "3333z003333333340000030003222333333333300099333553z3333333330033330(33333333300000000000000333300(33", "33333z003333334500zzz333333gggg333333300099333355553z33333330033330(03333333000000000000003333300033", "333333z0033334555!3333333ggg3g33333333z0033333333555533333330033330003333330000H00000000H333333^0333", "3333333000533555443333#ggg333g333333339z003333333335533333330003333000333000003330H0H0H33333333^^l33", "3333333300055554333333g33333hgh333333399000333333333z53333330000333000h0h000H3333333333333333333(^33", "3333333330005533333333g33333i3i333333339900033333333355333333000333300i0i00333333333333333333333((33", "3333333333300533333333g33330i0i03333333399000333333333553z33300003333zjzjz3333333333333333333333(033", "3333333333000333333333g33300j0j003333333399000033333333z555333000033333333333kh777hl333333333330((33", "3333333333003333333333000000303003333333339z00003333333335533330000333333333h7iabci7h33333333330(033", "333333333h003333333300000000abc000333333339900000333333333533333000033333300i7333337i033D33333000(33", "333333300i03333333300000000S3330003333333339z0000333333333553333300003330000i0777770i002220000000033", "33333h000j333333333000003333333z00333333333990000033333333355333333000000000j3333333j00333z000000033", "33330i00033333333300003333333333003333333333900000333333333@@3333333000000003333333333333330zz355533", "33300j330333333300ED0333330C333300333333333330000z33333333h@@0l33333000000H3333333333333333333355533", "3300z33k0l333333002233333000333300003333333335&&&93333333kjabcz333300000H3333333333333333333333!!!33", "3300333abc3333300033333300033330000033333300&(((&933333330333333330000G33333330030003000333333333333", "300z333333333300033333300m33330000(0(300000&&(&!99933333003333333000003333330000h000h000000333333333", "300333333333300033333300m333300033(((30000&&&0!3333333300333333300A003K333000000i000i000000000333333", "30033333333300033333300m333300033330000000&&0!333333330m333333330003333300000000iabci000000000003333", "3z00333333000z33333300033333003333333000003!!33333333003333333300033000000000000j333j000000000000333", "330003333000033333300mm33330033333333330003333333333000333333330330000000000000033333000000000M00033", "33000000000033333300m333333003333333330z033333333333000333333300300000000000009933333300000000000033", "3330000000333333330m3333333033333333000333333333333000333333330330000000000099333333333000000!000033", "3333GGGGG3333333300333333300333333300333333333333300003333330003000000000999333333333330000003000003", "333333333333333300m333333003333333003333333333333300^03333300m030000000993333333333333330z00!3000003", "33333333333333300m33333330033333000333333333333300003!333300z333000009933333333333333333333!33000003", "3333333333333000m333333330033300003333333333330000$033333000333000003333333333333333333333333k000003", "333333330000000z3333333330033000033333333330000$0^3!3333300z33000009333333333333333333333333k00000z3", "333333300000abc333333333330000333333333333000^03033333333003330000333333300000333333333333k000000033", "33333300000z333333333333333333333333333330000303!3333333300330003933333000000000003333333k0000000033", "3333300000333333333333333333333333333330000$03!333$333333(z33000333330000000000000003333300000000333", "333330B003333333333333hl3kh000l333333$$00^03!3333$$33333&%3330093330000003330000000003333z0000003333", "3333300003333333333300i000i00000l333%%$$03!33333$$33333&%33300033#30Q0!!!!!3330000000333330000333333", "3333300000333333333000iabci000000%%%%$33!333333$$33333&%%33300333g30003333333333F0000033330003333333", "3333330000h33333300000j333j00000%%%%3333333333$$$3333&%&333009333g300033333333333F000033333003333333", "3333333000i00000000000333330000%%%33333333333$$$33333%^%333003333gg30003333333333300000333300h333333", "3333333000i000000000033333330003333333333333$$$33333%&$33300333333g3z000333333333330000333300i033333", "3333333300i00000000003333330(((033333333333$0$33333$^$^330093gggg3g33000033333333333000033330i003333", "3333333330j00000333z00333300(((0033333330000$333333^$^$300333g33ggg33300000003333333z0z033330i000333", "333333333330000z3333z03333!!!!!!!333333000K333333330^$3300330003333333z0000000333333555533333i000333", "3333333333330003333330033333333333333000003033333330$^330@33000000333330000000033333355553333j000033", "33333333333300!33333300333333333333000000333333333000$33003333000S3303300000000033333555533333000003", "3333333333330!3333333003333333333300000I3333333333000333300330000200003G0000000033333355003333000003", "343333333333!33333330003333333333k000H33333333333(0003333300303333z00033IG00000033333350000333300003", "333333333333333330000m3333333333k000333333333333(((003333330003333300z3333IGG0000333333000000333B003", "3330003333333300000H03333000h0abc003333333333333((((3333333333333300033333333z0003333333000000333003", "33000000333330000H0333300000j0333003333333333333(000333333333333700003333333330003333333000000000003", "330000000333000H0333330000033333h03333333333333330003333333333377777333333333000z33333333300D0000033", "3000zz00000000H33333330000333330i333333333333333300000333333k700003330033330000033333333333330000333", "3000330000000H333333330003333330j333333333333333330000033k000077033300003000000333333333333333333333", "30033330000H03333333333(3333330033333333333333333330000000000000333000000000003333333333333333333333", "30034333HHH333333300000(0333330333333333333333333333H00000E03333333000000000333333333000003333333333", "3003333333333330000000000033330333333333k000h3333333330E033333333300000S0000333333330000000333333333", "330033333333333P000!!!!!!!333003333333kh000zizl33333333333333333300003330000333033300003000333333333", "330003433333333(0!!333333333300333333k0i0000i00l3333333333333333000033333003330000000033300033333333", "330003333333330(!3333333333300333333300iabc0j000l333333333333333000333333333330000000033300000333333", "333000333333330033333333333$00333333k00j333080000l33333333333333000000333333330000003333330000000333", "33330003333330033333333333$$$033333k0033333!0800000l33333333333330000003333330000F033333330000000033", "3343300343333003333333333$$$$$33333003333333!!0000000l33333333333333000003333000z3333333330000000003", "33333003333300z333333333$$$$$333333003333333330000000000G000l333333330000033000033333333333000000003", "33330003333300333333333$$$3$$33333300l33333330800000088880000l33333333S00000000033333333333300000003", "343000333330003333333$$$$33$$3333333003333333!088008800!!000003333333333000000000333333333333z000z33", "333000343300z3333333$$$$33h0333333330033333333!!0880!!!334000433333333333300abc000333333333333000333", "3300033330003333333$$$$33kj33333333k003333333333!!!!33333340433333333333330033300033333333333k000l33", "330003330003333333$$$333k033333333h003333333333333333333434043433333333333000h00003333333333k0abc0l3", "300000000z33333333$$3333003333333kj033333333333333333333334043333333333333330j000333333333330a333c03", "30000000033333333$$3333300l333kh00333333333333333333333334404433333333333333333333333333333303khl303", "33GGGGG333333333#$3333333000h00j3333333333333333333333334440444333333333333333333333333333333j0j0j33", "33333333333333333333333333333333333333333333333333333334444*4444333333333333333333333333333333333333"]);
}
if (levelNum == 13) {
return(["33333333333333333333333333333333333333333333333333def33333333333333333333333333333333333333333333333", "300GGGG00000000000000000h000h0000000303000003000333033300030000000000000300000000000003000030z000003", "308888888000000000000000i000i033300030303330003z0030300z30333333333333303303333333333033330303333303", "308080008888000000000000i000i00033003030300z30333030303330300033300000z0300300300z003030000003000303", "308000808888880000000000iabci00883303030303330030030300300303z00303333333033303033303030333333030303", "30888880000z088000000000j333j08008303z00300033033330333303303330300030000000303030303330300030030303", "308000888808088800E00000333338880830033033300300z00000z003000030333030333330000030300000303030330003", "308000000808000888880000lk8lk8800033003000330330333z333033333030000030000033333330333333303030333333", "300000abc008808800088888888888808083z033300z00303033303030000033303333333z00300000000000003030300003", "3((003333888000008080z0000888880808330033333303000303000303333300030abc03330303333333333333030303303", "3((0038888888888880808088080080z80883300333330333330333330300030333033303300303300000000000030300303", "300((38000z00800080z0808008088088088833z0033300z00303000z0303030300z00300303300330333333333330333303", "300((3808888080808888808088088080z0008333z03333330300033333030003333303303033300000000003000000z0003", "3((0038000880808000008880800z00888080888330033000030300030000030000000030300033330333333303333330333", "3((00388808008088888000z080880880808080003z033033330333030333033333333030333000030300z00303000030303", "300((3800080880800088808880800880808080803303300000z30003000300z000333030003333030303330303033030003", "300((380888000z808z00808000808880888080808300333333330333333333333030303330z000030303030003z03033303", "3((00380z0888888088800000888088000000z080830030003000030z0000000030003000303333330303033333303000003", "3((003888088888000888888880z008880888888883303300303333333033333033300000303000300303000000003333333", "3000(3800000z08888808J800008808880800000088300330300000000030000000300z003330303033033333333330000K3", "3000(3808888800000z0800088888008000088080083000333333333333303333303333003030303033033000000l3#00003", "3((0038080008808888888088080880888888808808330000000000000333333000z03330303030z0030300000000l300003", "3((00380808088080z00880800z0080880000z0800883000000A000000000003330333030303330303303000000000l30003", "300((380808088080880800880880008808888088z0833000000000000000000033333000000000333303000000000000003", "300((3800z80088808008088000808888000880888088330000000000000000000000333333333333030300000A000000003", "3(00038888880z00080880888808000088808800880088300000000330000000000000000000000000303000003000003003", "3(00038000088808880800008808888088808880888008330000000lk000000000000000000000000030300000l30003k003", "300((388080808080008088080z08880800088800888088300000000000300000B00000zz000000000303000000000000003", "300((3880800z008088808008088800z808888880888088300330000000l3000000000033000000000000000000000000003", "3((00388088888880800z8088080008880z000880088083300lk0000000000000000000lk000000000000000000030000003", "3((00388880000000808880000808880008880888080083000000000000000000000330000000000000000030003k0000003", "3000(3800z0888888808888888808000888800z080z0883000000000000003300000lk00033000330000003k000000000003", "3000(3808888000z0000008000z0888888000880888083300000000000000lk0033000000lk000lk00abc000000000000003", "3((00380800008888888888888888000000888808888830000000000000000000lk000000000000000333000000000000003", "3((0038000888880000000000008888888880000088833000000000000000000000000000000000000l3k000000000000003", "300((38888800000000000000000000008888088088330000000000000000000000000000000000000000000000000000003", "300((388800000000000000000000000000880880833000000000000000000000000000000000000000000000000000000!3", "3(0003880000000000033333300000000000808z083!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!33", "3(00038000000000033300000000000000008088883333333333333333333333333333333333333333333333333333333333", "300((3000000000333000000000000000000808000333333#333333333333333333333333333333333333333333333333333", "300((3000000003330000000000000000000000000003333g3333333333333333333333333333333333333333333333333k3", "3((00300000000330000000B000000000000000000000033g33333333333333333333333333333333333333333333333k003", "3((00300000003300000000000000000000000000000000gg322555555555555555555555555555555555555555555550003", "3000(3000000033000000000000000000000000000000000320000abc0000000000005000000000000050000550000008003", "3000(3000000030000003030303030000000abc000000000320222333550555555550505555505555505505050z550000003", "3((00300000003000000303030303000000033300000000z320002333350z0050005050500050050050z005050550z0z0003", "3((00300000003000000303030303000000033300000000332z20222333555050505z0050505505505550550505544444403", "300((300000000000000h0h0h0h0h00050P0333000000003222200z0233335050505555505050005z05005505000544444(3", "300((300000000000000i0i0i0i0i00000000333z0000z3320000222222235000505000005055505505500555550554444(3", "3(00030!000000000000i0i0i0i0i0000000003333z0033222022200000223555505055555000500500550000050054444(3", "3(000303000033300000i0i0i0i0i00000000003333333320000022222020235500500050005055055050050555505544403", "3000(303000000000000i0i0i0i0i000000000003333332222220200020202235055550505550550500505505050z0544403", "3000(303000000000000i0i0i0i0i00000000!!!!3322222000200z20000000230000z05000000005055055z505055544403", "3((00303000000000000i0i0i0i0i00000!!!333332200020202222202222222235555550505505550500055505005554403", "3((00303000000000000i0i0i0i0i0000!3333222222020202022000000z002222355000050550500z505555005500054403", "300((303000000000000i0i0i0i0i00!!33222220000z2000200002222222020022355555505000055500005055505554403", "300((303000000000000i0i0i0i0i!!33322z0022222222222222220002000202222350000z5055550550505050000054403", "3((00303!00000000000i0i0i0i0j3332222220000000020000000202020222020023550555500050000050z050550555403", "3((00303300000000000i0i0i0i!33222000000222222020222220202020200z202223500500050555555505550550505403", "3000(303300000000000i0i0i0j33222222202220z00002000z020002z0022022022235500055500000050050z0050005403", "3000(303300000000000i0i0i!33220000020202022222222220222222222200002022355555055505555555055555055403", "3((00303300000000000i0i0j332220222020002000000200000200000002002222022235005050005055500050055555403", "3((00303300000000000i0i!3322000002022202222220202222202222202022022022023500000555000505550550050403", "300((3033!0000000000i0j3322222220200000000000z200000002000202022000002023550555500050500050050550403", "300((303330000000000i!33220z000202220222222202222222222020200002022202022350500005550555055050550403", "3(000303330000000000j33220020200z2000200000200200000000020222200z002000023500z50550005050000500z0403", "3(00030333000000000!3222002202222202020220222020222222222z000222220222222235555050055505050555055403", "300((30333!000000!!332220220002200022202000020000000000022020000200200000003500050550005550555055403", "300((30333300000!33322000000200220220z02222022222222222002022220202222202203505550550555000505005403", "30000303333!000!33022220222022002000022200002000000000220200002020200020020350500000z505050505505403", "300003033333!!!33000022z20abc22222222220z20220202222200202222020200020220203505550505505055505505403", "30000303333333330000002220222200000000222200002000022202z002002222222020z203500050500005000z05005403", "3000030333333300000000000000000000000000022222222200000222020220000200202202355050505055555555055403", "3000030333300000000000000000000000000000000000000222222200020220220202202000235555555050000000055403", "3!!!!303330000000000000001000000000000000000000000000022222200z0200200002222235000055555505555555403", "3333330330000000000000000000000000000000000000000000000000222222222222222000000000000055500005055403", "3333300330000000000000000001100000000000000000000000000000000000000000000000000000000000555500055403", "33330033000000000000000000000000000000000000000000000000000000000000000000000000000000000005550z0403", "3333033000000000000000000000005500000000000000000000000000000000000000000000000000000000000005550403", "33h303h00000000000000000000000000G000000000000000000000000000000000000000000000000000000000000550403", "33i303i000000000000000000000000005550000000000000000000000000000000000000000000000000000000000050403", "30i000i000000000000000000000000000000000000000000000000000000000000000000000000000000000000000055403", "30i000i000000000000000000000000000000550055500050000000000000000000000000000000000000000000000005403", "30i000i000000000000000000A00000000000000000000000000000000000000000000z00000000000000000000000000403", "30i000i00000000000000000000000000000000000000000050000000000000000z000100011000000000000000000000403", "30i000i0000000000000000000000000000000000000000000000000000000z0001000000000000000000000000000000403", "30i000i00000000000000000000000000000000000000000000000m000100010000000000000001100000000000000000403", "30i000i00000000000000000000000000000000000000000005000100000000000000000000000000000D000000000000403", "30i000i000000000000002200000000000000000000000000000000000000000000000000000000000111000000000000403", "30i000i00000000000z002200000000000000000000000000000000000000000000000000000000000000000000000000403", "30i000i000000000022002200000000000000000000000000000000000000000000000000000000000000011100000000403", "30i000i0000000z0022002200002200000000000000000000000000000000000000000000000000000000000000abc000403", "30i000i000000220022002200002200000000000000000000000000000000000000000000000000000000000000333000403", "30i000i000z0022002200220000220000z0000000000000000z0000000000E00000000000S000000000z0z0z000000000403", "30i000i002200220022002200002200002200000000000555555555555555555555555555555555555555555555000000403", "30j000j002200220022002200002200002200000000055555555555555555555555555555555555555555555555550000403", "303abc3002200220022002200002200002200000z00555555555555555555555555555555555555555555555555555000403", "30l333k002200220022002200002200002200002200000000000000000000000000000000000000000000000000000000403", "3!!!!!!!!22!!22!!22!!22!!!!22!!!!22!!!!22!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!403", "33333333322332233223322333322333322333322333333333333333333333333333333333333333333333333333333334*3"]);
}
if (levelNum == 15) {
return(["33333333333333333333333333333333333333333333333333330000abc000000000000000000000000000!!!!!!!0zzz000", "3def000333333333333333333333333333333333333333333333((((33311130@0333333333C033333333333333333334440", "3333330333333333333333333333333333333333333333333333((((3331111333000000336633000z000330003000%%%%40", "#3$$330gg3333330303003003303333030003030300333333333((((3333111g3000z0003366330006008880000000%33(40", "3gg(3363g3333330303030303000333030303000303033333333((((3331133g30355z50000000g00000ggg0000000033(40", "353(60F3g333303030303330330330303030303030303333333(((((333111100030030000ggg00000000000005Q03033(40", "353(3333g333300030303330333330003000303030303333333(333333311330330!!!!!!!!!!!!000000000000000033(40", "353(ggggg333333333333333333333333333333333333333333(3333333000abc03333333333333!!!!!!!!!!!!!!!!33(40", "353333333333333000000000000000000000000033333333333(333333303333300333333300333333333333333333333(40", "3@0g33333333333333333333333333333333333333333333333(333333303111300003333333333333333333333333333(40", "353g33333333333330000000000000000000003333333333333(333333303111300000333333300033333333333333333(40", "3%$$333333333333333333333333333333333333333333333300333333303111300330011100000033333333333333333(40", "3033333333333333333333333333333333333333333333333303333333303111300z000111z0000000000333333333333(40", "3033333333330000033333333000333333333333333333333303333333303333300333333360000033330333333333333(40", "303333333h00000000033330000C0033333333333333333330z33333330000000003333333000E0033330333333333333(40", "3033333k0i00A0000000330003330003330000333333333330333333330000000003300z0003333333330333333333333(40", "303333k00i00000000000003333333abc000000033333333303333330003333333338383g!00033333000003333333333(40", "30333k000i000000000000333333333330000000033333330z333330300ggggggggggggggg333333300abc00333333333(40", "303330000i0000000000033333333330000000000333333303333330300ggggggggggggg0333333300033300033333333(40", "30333(abci000000000033333333330005550055003333330333333330333333338888888033333300333330033333333(40", "30333(333i00!000z03333333333300000000000003333300333333333333333330000000033333330000000333333333(40", "30333(333jzz3HH3333333333333300000000000003333303333333333333333333333333333333333330333333333333(40", "30303(3333333333333333333333300000000000000333303333333333333333333333333333333333330333333333333(40", "30333(3333333333333333333333h0000000000000033300333333333333333333333333333333333333zz03333333333(40", "30333(3333333333333333333300i000000000000003K3033333333333333333333333333333333333333300033333333(40", "30303(3333333333333333333000j00000000000000333033333333300000003333333333333333333333333000333333(40", "30333(33333333333333333330z33F0000000000000330000033330000%00000333333333333333333333333330033333(40", "30333(33333333333333333300333320000z000022333033333330000%%00000003333300000000000333333333033333(40", "30303(333333333333333333003333200005000022333033333@@000%%%%%%%0000003300000000000000333333B33333(40", "30333(33333333333333333000333330z000000223330033330@@0000%%00000000000000000000000000033330033333(40", "30333(333333333333333330033333333!!!!!33333303333000@@0000%00000000000000000@@0000000003300333333(40", "30333(333333333333333300z33333333333333333B303330000@@0000000000000000000000000000000000z03333333(40", "30303(33333333333330000033333333333333333333zz0000000@@0333(3330000000000000330000000003333333333(40", "30333(3333333333300T000033333333333333333333330000000@33333(3333300000000HH3333!00000003333333333(40", "30333(33333333000003333333333333333333333333B33333!!!333333(3333330000III333333300HHHH3333333330C(40", "30333(333300000000333333333333333333333333333333B3333333333(333333g000333333333333333333333330003340", "30303(33000333gggg33333333333333333333333333333333333333333(333333gggg333333333333333333333000333340", "30333(33333333gggg33333333333333333333333333333333333333333(333333gggg330333333333333333330003333340", "30333(33333333gggg33333333333333333333333300033333333333333(333033gggg333333333333333333000033333340", "30303(33333333gggg33333333333333333333330000003333333333333(333333gggg330333333333333337000333333340", "30333(333333333gg333333333333333333330000000000033333333333(333333gggg3333333333333333770z3333333340", "30303(333333333gg333333333333333330000000000000003333333333(333033gggg333333333333330077z33333333340", "30333(333333333gg3333333333333000000000000000abc00333333333(33333ggggg333333333333300077333333333340", "30333(333333333gg333333333300000000000000000033300033333333(30333ggggg330333333330000077333333333340", "30333(333333333gg33333000000000000000000003A33333z000033333(3333ggggg3333333333300000073333333333340", "30303(333333333gg000000000000000z000z0003!33333333000003333(303gggg333333333333000000033333333333340", "30333(333333333g0000000000000030303030303333333333330000333(333ggg333033333333000000C33333333333334#", "30333(333333333g00000000000000303030303!3333333333J33300033(33ggg33333333330000000003333333333333340", "30303(3333333330000000000000003D3D3D3!333333333333333330003(33gg330333333000000000033333333003303340", "30333(333333333000000000000003333333333333333333333333J3003((3gg333333300000000000333333333330303340", "30333(333333333abc0000000000z33333333333330z0333333333333033(3g3333333000000000003333333333030303340", "30303(333333333333000000000!333333333333J3030333333J3330zz33(3g33333330abc0zzz3333%%%%%%%%3%%%%%%%40", "30333(333333333330000000000333333333333333030333333333003333(3g33333330333z3333%%%%3333gggg033333(40", "30333(3333333333!000000z033333333333333333030033333300033333(3g3333333g33333%%%%3333333gg$g03gggg(40", "30333(33333333333!0!!!!33333333333333333J3033033300003333333(3g3333333%%%%%%%333333%03333300gg33g(40", "30303(333333333333333333333333333333333333003033303333333333(30333333333333333000000333333033333g(40", "30333(333333333333333333333333333333333333303003303333333333(30333333333333333303303330000abc033g(40", "30333(333333333333K33333333333300000033333303303303333333333(3033333333333333333FF333003333330333340", "30333(333333333333333333333300000B0000@33330330330333333&&&((303333333333333333333330000333330033340", "30333(33333333333333333333000000000000@h33k033D0003333&&&333330333333333333333000030033m033333733340", "30333(33333333333333333330000000000000@iabc333333333&&&333333303333333300333000300003333033000000040", "30303(33333333333333333300000000B00000@i3333333333&&&3333333330333333000003003333!033333033300R00340", "30333(33333333333333333300000000000000@j3333333&&&&33333330033033333#5113000311333333333I3300000R340", "30333(3333333333333333300000000000000033333333&&&3333333300zabc3333330333333311000000013300000000340", "30333(3333333333333333000000000000003333333333((33333330003333333330F00z000031103315301333A000000040", "30303(3333333333333330033330H0H0H3333333333^^^((03333000333333333333333300330330313530113300N00z0g40", "30333(3333333333300C0033333333333333333333^(^^((0000003333333333gggg300005310abc1100001113300033g(40", "30333(33333333330003333333333333333333333^((3333000C033333333333ggggg011553133g333033111113333113040", "30303(3333333330z333333333333333333333333^(33333300033333333330H0G00001115511z11130033311131^^000040", "30333(333333333@33333333333333333333333333%%33333ggg3333333333033333333111333333133000031111(1555540", "30333(3333333330333333333333666666663333333%%3333ggg333333333^g30003331111z00033111333031131(1!!!!40", "30303(33333333abc333333666666gggggg666633333%0303ggg30333333^(3303g03151113z0z30001113000033(3331140", "30333(333333333g33366666666ggg6666gggg66333330333ggg3333333(^(330030051111330330303311333030(4444440", "30333(333333336g66666ggggg6g66ggg6666666633330333ggg3333333(3333006z355333330%%330331111300033444440", "30333(333333666g666ggg666gggg6g6gggg6ggg66330z303ggg3033333(33abc0I36663300033g300003311133331044440", "30303(3333366ggggg6g666g6666g6g6666g666g663303333ggg3333333(33g333666363303063g33300031111111114444#", "30333(333336gg6g6g6ggg6ggg6gg6gg6J6g6ggg666303333ggg3333333(33033333300300g300:333330031111333004440", "30333(333336g66g6ggg6g666g6g666g666g6g6g6gggz3303ggg3033333(3300033300000533005533330033300003034440", "30333(333336gg6g6g666gg6gg6g6ggg666g6g6ggg6333333ggg3333333(333303330g3H0g30015553333000003000034440", "3030300333366gg66g6666g6g66g6g66666ggg66666333333ggg3333333(3300033303333g30555153333003030033333440", "3033300333336666ggggg6ggg6gg6ggg66666666663333303ggg3033333((3003333z0003g30003333333003000333333440", "30333300333333366666g66666g6666g66ggg6ggg63333333ggg3333333((330003330033g35303333333333330333333440", "3033330000333333333666333000ggggg6g6g6g6g63333333ggg33333333((33300300333g3:3z0333000333333333333340", "3033330000000333333333zzzabc6666g6g6ggg6663333303ggg30333333(((3330003333g3003z033303333333333abc$40", "30303330000000003333333333336666ggg66666333333333ggg3333333333gg333333333g33333z033003303333333g3(40", "3033333000000000000033333333333666663333333333333ggg333333333330033333333ggggg33@0g30030033333303(4g", "3033333300000000000000000033333333333333333000033ggg33333333333H%033333333333g33300330000330000z3(4g", "3033333330000000L000000000000033333333330000000000gg3333333333330033333333333g300000300333gz3z033(4g", "30333333333000000000000000000000000000000000000000000333333333330(3330ggg33ggg30Q000333333g3330H3(4g", "30303333333330000000000000000000000000000000000000000033333333333(333g33g33g33300z02037773g033333(4g", "30333333333333330000000000000000000000000000000000000033333333333(033g30(03g3330360g00zA772003333(4g", "303333333333333330000000000000000000000000000000000000333333333333033g36003g300!!!!!3730770333333(4g", "303gggg3333333333333333z0000000000000000!00!0000000003333333333330033g3#6(3g300333333070303333333(4g", "303@33gg3333333333333333333z0000000000003zz300000abc33333333333330333g360z3g333003300370000333333(4g", "303G30(g0333333333333333333333IGIGIGIG33333333FFF33333333333333330003g3z0z3g3333000030(7333333333(4g", "303330330333333333333333333333333333333333333333333333333333333333303g36063g333330333300000333333(4g", "30300033033333333333333333333333333333333333333333333333333333333330003abcgg333333033333000333333(4g", "3030333303333333333333333333333333333333333333333333333333333333333333333333333333303333333333333(4g", "30003333&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&(4g", "333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333*"]);
}
if (levelNum == 17) {
return(["0%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%333333333333333333333333333$$333", "g33333333333333333333333333333333333333333333333333333333333333333(333333333333333333333333333$$(def", "g33333333333333333333333333333338888888888833333333333333333333333(33333333333333333333333333$$3(8g3", "g333333333333333333333333&&gg333800000000@833333333333333333333333(3333333333333333333ggggg0$$33(3g8", "g3333333333333333333333(((&ggg3380000z008g833333333333333333333333(3333333333333333333g333333333(8g3", "g3333333333333333333333((((33g33800z66638g833333333333333333333333(3333333333333333333g333333333(3g8", "g333333333333333333333(((((33g33806600008g833333333333333333333333(3333333333333333333gggg33k0l3(8g3", "g333333333333333333((((((((33g33800000008g833333333333333333333333(3333333333333333333g33g30z@D3(3g8", "g333333333333333(((((((333333gggg00000T08g833333333333333333333333(%%%%%%%%%%%33333333g33g303333(8g3", "g333333333333333((^^^(3333333333888888888g883333333333&&&0l333333333333333333(33333333333gggg0z3(3g8", "g3333333333333(((^^((33333333333333333338gg83333333333(3330333333333333333333(333333333433333353(8g3", "g33333333333(((((((33333333333333333333388g83&&ggg3333(3330l33333333333333333(33333330000hggg3g3(3g8", "g3333333333(((%(((33333333333300000$$$$$$3g33(333gg333(333abcl3gggggg33333333(333333303g3i0012g3(8g3", "g33333333333(^$(333333333330000000000003(3g8C7C333ggg3(33333303g3333g33333333(33333330300ig0ggg3(3g8", "g3333333333(^$%(333333333300008888888883(3g87(733339g9(30000003ggg33g33333333(333333303z0i309333(8g3", "g333333333(%^$^(33333333300088gggggggg83(3g80(00gg33g3(3333033333(000g3333333(33000030333i303333(3g8", "g33333333(($(((53333333300008gg888888g83(3g86(033g33g3(33330333300g33ggggggg3(3303303Gm03jm!3333(8g3", "g33333333(^^(((33gk0$$$g$m008g8ggggg8g83(3g8!003gg33g3(3333000000303000000003(33003(333033333333(3g8", "g33333333(((3333g030333366608ggg888g8g83(3g33g33g333g3(3333033333003000000003(333030333&&&&33333(8g3", "g333333333((33kz03303333777788888ggg8g83(3g333ggg333g3(33330000000T3T00000003(300030000933033333(3g8", "g33&&&&&&&(333330333k3330000888ggg888g83(3g3gzg33333g3(33333333333302@0000003(3K00033322g30000z3(8g3", "g33(33333333333303333l330C08gggg888abc00(3ggg3333333g3(3333333333330444444333(33330333gg@3000z93(3g8", "g33(333333333333033333934448g8880003333333gg30003333g3(3333333333330444444300(333abc031g3300z993(8g3", "g33(33300000z000z333339444ggg8000C030000333300303333g3(33333333333300444400033333333031g%%0z9993(3g8", "g33(3330000333333333330gggg8880000#30330033003303333g3(33333333333330044003333333k00033330z99993(8g3", "g33(3330000gg3333k0000088888883333330333030033300333ggg3333333333333300003333333303300003z999993(3g8", "g33(3330000000l330888833333333000zabc333z0033333003333333333333333333333333333333033033039999993(8g3", "g33@ggg5000g330330ggg8330$$$000303333333333333333z000z333333333333333333333333333IIIm33099999993(3g8", "g333333300033h0l3668g838033333030333303303333333333330333333333333333333333333333333333039999993(8g3", "g333333300033j$$3308g800G33333030gg3333333033333333000333333333333333333333333333333300033999993(3g8", "g33330000003033(333000G88333330063g33333330300$$33803333333333333333333333333333300B303333099993(8g3", "g33330333z330z0(333888833333333300g333333338038(838033333333333333333333333333333033303333309993(3g8", "g33335333333333(333333333380333300(033333333083(33803333333333333333333333333300F000003333330993(8g3", "g6$g00000333333((33333333#0$$g33030003333333038(880083333333333333333333#33333033333333333333393(3g8", "g83330330003333(((33333333g3(000033300033308083(000833333333333333333333033333000333333333333333(8g3", "g333333300033333((33300333g3(3z03I0000333338038383833333333333333333330000333333530002^^^^^^^^^3(3g8", "g8333300033333333(((033333g3($303333300333380333333333333333333333333303033k000000000033333333g3(8g3", "g33333033333333333((03330003(((33333300333330033333343#3433333333333330g0000000000000!33333333g3(3g8", "g83300033333333333(3303300^^^((03333333300z000z000003343933333333000@33g5030000000000g33333333g3(8g3", "g33303330030033333(3333333(333(3033F0F00I3333333abc3gggggggggggg3038g0005333000000333333333333g3(3g8", "g83303303030303333(333333((((((abc38888g833333333g335555553333g33g03380353333D003g033333333333g3(8g3", "g33303300330330333(33333(3(33(333233333g833333333ggg0g03033gggg33300303300333393Gzm33333333333g3(3g8", "g83300000000330003(33333(((((3333300000g83333333333363#30I3g333300003!330303333333333333333333g3(8g3", "g33303355553000303(33333((((%%gg33088888833303333333#36369gg9333300003300003333333333339999939g3(3g8", "g833abc355533033g0(333333333333g3007000C303330333333D3D319ggg333300003300003333333333339399999g3(8g3", "g33333303550000003333333@333333gg0007000333300333333333331g9gm3000z300003333333333999999939999g3(3g8", "g83333003359990003333333033300333z00z7333330033333333333ggg(g330333333333333333333339399999993g3(8g3", "g3333!00!!0!33333338gg0&33303303330z3333330033333333333gg333g33000zB33333333333333939399999993g3(3g8", "g8333300333333333338(gg3&33033!333333333333033333333333gg333g333333000033333333333999399999933g3(8g3", "g33333!0333333333338(8ggg3g0003333333333333033333333A03g3g33g333333333033333333333333339399933g3(3g8", "g833333@333333333338(88ggggabc000000!33333330033333300300033gggggggF33033333333333333333333333g3(8g3", "g330333g333333333888(888gg3333333333g33333333033333330003$$$3333333330033333333333333333333333g3(3g8", "g833333g333333300000(83888333333000003330333300333333333333(333333k030033333333333333333333333g3(8g3", "g333333g3333338g888888333300000000@33333003330033333300#333(33333300h%333333g^^^^^^^^abc^33333g3(3g8", "g833333g3333388gg83333333303333333383333000330333333336gG$3(333333@0i3333333gg3333333333533333g3(8g3", "g333333g33333388g833333333033333300833333000303333333363603(33333330i0l3333ggg3333333333533333g3(3g8", "g833333g333338ggg883333333000000000800333300000000333366000(33333330j0^^033gg33333333333033333g3(8g3", "g333333g333333g88883333333333333330803033330033330333333abc0333gg#333333033gg33333333333033333g3(3g8", "g833333g333333ggg$$$$333333888888808000333333333003333333930333ggDEFI00003gg333333333333033333g3(8g3", "g333333g3333333ggg33(0333338gggggg%8(00333333333000333333330333g333333g333g3333333333333033333g3(3g8", "g833333g333333333333(3333338g8888808((0B703333333303333333^^333gggggggggggg3333333333333033333g3(8g3", "g333333g333333333333(3333338gg833308(((370z370C33300003333(33333333333333333333333333330033333g3(3g8", "g833333g333333333333((3333388gg888380((0733070033333333333(0033333$$$$$33333333333333330333333g3(8g3", "g333333g3333333333333((3333388gggg030((0700007773333333333(00333333333333333333003303330333333g3(3g8", "g833033g3333333333333((00h33388888@000(9333666003333333333000003333333333333333303333330003333g3(8g3", "g333333g3333333333330((00i03333333333333333##600333333333333330333333333333333Ah0AihA333303333g3(3g8", "g833333g3333333333303gg3(i303333333333333333#6600333333333333300033333gggggg330i00ii0333303333g3(8g3", "g333333g33330G03330ggg30(i033333333333333333##660333333333333333033333g3333g330iD#ii!333303333g3(3g8", "g833333g333303033300g300(i3333333333333333333##6z0000zz222222220033333g33ggg330i333ih333303333g3(8g3", "g333333g3333030333303@000j33333333333333333333306333333333333388333333g33g33330i3gg7$333303333g3(3g8", "g833333g3333^&&00000333333333333333333333333333300000033333330000333ggg33ggg330j3g3i0(33303333g3(8g3", "g333333g333^((333333333kA00000333333333333333333300300000330333300ggg333333g333ggg3j0((3303333g3(3g8", "g833333g333(((3333k00l30300000%%3333333333333333330000330030333330g33333333ggggg333333((303333g3(8g3", "g333033g333((33333003330000030%%3333333333333333333000000003333330333333333333333000333(300l33g3(3g8", "g833333gggg(33333000000000300%%g0300333333333333333000000003333330333333339999930g3g033(300z33g3(8g3", "g3333303330abc33303333333330033(m03303333333333333000000000333302g33333333(((002g233033(330333g3(3g8", "g833333333033333300033333333300(330zz033333333333300000000033300333333003(gg(03320330g0(330333g3(8g3", "g333333333000003333033333333333(330330003333333333330000000330033$3333033((((3000338300(330003g3(3g8", "g83303333333z003000003333333330(00003303333333333333330333033033333330033(((333030038303333003g3(8g3", "g333333333333033003333333333333(00300z0gg3333333333333333333g033333300003(ggg33300003303333033g3(3g8", "g833333333333033303333333333333333303360000333333333333333330333333333003300g33333333033333033g3(8g3", "g33333333333300000332333333300033333DAE70303333333333333333003333333333g3880033330000333222033g3(3g8", "g833333333333333333322223330g3^^033333333307E0A70033333333003333333333gg&g!03333333333322g2933g3(8g3", "g333333333333333333033322330333(003333333303333330333300300333333333000g00gg333333333332g33333g3(3g8", "g83033333303333333332222223@33^(30333333333333000z33300abc33333333300000003333333333330g33khl3g3(8g3", "g33330333303333333333332238833(33000g330G#0330g333333@03333333333300028003333333333333033hiiA3g3(3g8", "g833333330003333333333322888330Dz33303303303303333303300333333333000000030000333303333033ii(03g3(8g3", "g333333333030300033333038800g0033300033000033000033000003333333330000000030000330033l3^^jjj!m3g3(3g8", "g8333333033000033033330033g03003000333g000D03333g03!0003!!333003300030000033000003300333884g43g3(8g3", "g8333033033333003033300000033333000g3g03333033000033!0!333300003I0@0I333000g000030zzgg33!!!!33g3(3g8", "g3333333033300330033303@3333333333300033333033003z333!g3!300030333333333300$003330333gg33ggg3%g3(8g3", "g8333300&&&0000000333(333333333333333300abc03303333333503308330333333333333(3333303333g33g3g33g3(3g8", "g33333333(3303G00033k(00h33333333333330033333303333333303008330333333333333033300z3333gg%%3g33g3(8g3", "g83333003(3303333g3k0000j33333333330000M333333033333333000333303333333333330300033333333333333g3(3g8", "g433z0003(333(((^^gabc33k3333333333I0000000000:3333333333333330333333333333abc3333333333333333g3(8g3", "g43330000(3((((((88888333333333333333333333333333333333333333303333333333333333333333333333333g3(3g8", "g43000000(30000((FFFFF333333333333333333333333333333333333333303333333333333333333333333333333g3(8g3", "g443(3@mG33300(3333333333333333333333333333333333333333333333303333333333333333333333333333333g3(3g8", "g444(33333333gg3333333333333333333333333333333333333333333333303333333333333333333333333333333g3(8g3", "*44%(%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%3(gg8"]);
}
if ((((((((levelNum == 2) || (levelNum == 4)) || (levelNum == 6)) || (levelNum == 8)) || (levelNum == 10)) || (levelNum == 12)) || (levelNum == 14)) || (levelNum == 16)) {
return(["3333334440444333444044433344404443334440444333444044433344404443334440444333444044433333333333333333", "3333333440443333344044333334404433333440443333344044333334404433333440443333344044333333333333333333", "3333333440443333344044333334404433333440443333344044333334404433333440443333344044333333333333333333", "3333333340433333334043333333404333333340433333334043333333404333333340433333334043333333333333333333", "3333333340433333334043333333404333333340433333334043333333404333333340433333334043333333300000003333", "333333334043333333404333333340433333334043333333404333333340433333334043333333404333333300z0z0z00333", "3333333330333333333033333333303333333330333333333033333333303333333330333333333033333330007070700033", "3333333330333333333033333333303333333330333333333033333333303333333330333333333033333300z000(000z003", "33333333303333333330333333333033333333303333333330333333333033333333373333333330333333007000(0007003", "33333333303333333330333333333033333333303333333330333333333033333444404444333330333333z0z666(666z7z3", "33333333303333z03330333333333033333333303333333330333333333033333333000333333330333333666666(6666673", "3333333330333330333033333333303333333330333333338083333333303333333300z333333330333336666666(6666606", "33333333303333303330333333333033333333303333333380833333333033333333007333333330333333666666(6666603", "33333333303333303330333000003030000333303333333380833333333033333333z00333333330333333366666(66666g3", "333333330033330z3330333333303030333330000033333380833333333033333333700333333330333333336666(66663g3", "3333333300033303333033333330303033333030303333338083333333303333333300z333333330333333336666(66663g3", "33333330000333033330333333003030033300303003333380833333333033333333007333333330333333333666(66633g3", "333330z0z0z030z3330z333333030003033303000303333380833333333033333333z00333333330333333333366(66333g3", "333330333333303333z3333330030903003300333003333380833333333033333333700333333330333333333336(63333g3", "3333303333333033330333330030000030033zzzzz3333338083333333303333333300z333333330333333333336(63333g3", "3333303333330z333303333300309090300336676633333380833333333033333333007333333330033333333036(63333g3", "333330333333033333033333030000000303333g3333333880883333333033333333z0033333333z033333333333(33333g3", "333330333333033333033333030909090303333g3333333880883333333033333333700333333337703333333333(33033g3", "330000333330z33333z33333030000000303333g3333338000z8833333303333333300z333333330003333333333(33333g3", "33033033333033333303333303!09090!303333g3333338z80888333333033333333z073333333330z0333333333(33333g3", "300330333330333333033333303!zzz!3033333g3333338880888333333033333333700333333333070333333033(33333g3", "3033zzz3333z033333z33333300335330033333g333333z08z008333333033333333000333333333000033333333(33333g3", "303333333333033333033333300030300033333g3333388088808833333033333333z0z33333333330z033333333(33033g3", "3033333333330333330333333z000z000z3333gz3333388088808833333033333333707333333333307003333333(33333g3", "303333333333z0333303333335555555553333g333333800000z8833333033333333000333333333300003333033(33333g3", "303333333333303333z3333333355555333333g33333888808888833333033333333000333333333330z00333333(33333g3", "30333333333330333303333333333533333333g33333888808888833333033333333z0z333333333330700333333(33033g3", "3033333333333z033303333333333533333333g33333888800000833333033333333707333333333330000033333(33333g3", "30333333333333033303333333333z33333333g333338z00088808333330333333330003333333333330z0033333(33333g3", "303333333333330333z3333333333533333333g33333888088880833333033333333000333333333333070003333(33333g3", "30333333333330z33303333333333z33333333g3333388808z080833333033333333z0z333333333333000003333(33033g3", "3033333333333033330333333333353333333gz33333888z88080833333033333333707333333333333000z00333(33333g3", "303333333333303333z3333333333z3333333g333338808888080883333033333333000333333333333300700333(33333g3", "3z03333333333z03330333333333353333333g33333880888000z083333033333333z00333333333333300000033(33333g3", "33033333333333033303333333333z3333333g333338800z0088888333303333333370z3333333333333300z0033(33033g3", "3303333333333303330333333333353333333g3333380z8888888883333033333333007333333333333330070003(33333g3", "33033333333330z333z333333333z03333333g33333808888888z083333033333333000333333333333333000003(33333g3", "3303333333333033330333333333533333333g333338088000888083333033333333z0z333333333333333000000(33333g3", "330333333333303333033333333003333333gz333338000080888083333033333333707333333333333333300000(33333g3", "330330z0z0330z3333033333333033333333g3333338z8888088008333303333333300033333333333333330z0z0(33033g3", "330330333033033333z33333333033333333g3333388888880880888333033333333000333333333333333337070(33333g3", "330330333033033333033333333033333333g3333388888880880888333033333333z0z333333333333333330000(33333g3", "330330003033z03333033333333z33333333g333338880000000008833303333333370733333333333333333300z(33333g3", "330333303033303333z33333333533333333g3333388808880888088333033333333000333333333333333333007(33033g3", "30z333303033303333033333330033333333g333338000888088808833303333333300z333333333333333333300(33333g3", "3033330z30333z033303333330033333333gz33333808z888z888z88333033333333007333333333333333333300(33333g3", "303330033033330333033333zzz33333333g33333380888888888888333033333333z00333333333333333333330(33333g3", "30330z333033330333z3333355533333333g3333388088888888888883303333333370z33333333333333333333z(33033g3", "30300333303333z03303333355533333333g33333880088888000z08833033333333007333333333333333333333(33333g3", "30003333303333303303333&&0%%3333333g33333888z00088088808833033333333000333333333333333333333333333g3", "30333333303333303303333&&0%%3333333g33333888888088088808833033333333000333333333333333333333333333g3", "303333333033330z33z3333&&0%%333333gz333338888880000888z083303333333300z333333333333333333333333033g3", "3z333333303333033303333&&0%%333333g333338888000088888880883033333333z07333333333abc333333333333333g3", "333333333033330333033333&0%3333333g3333380z8088088888880883033333333700333333333!!!333333333333333g3", "33333333303330z333033333&0%3333333g333338088088z00000880883033333333000333333333333333333333333333g3", "333333300z333033330333333033333333g33333808808888888088088303333333300z333333330303003003333333033g3", "333330z03333303333z3333zzzzz333333g333338z0008888888088z083033333333z07333333330303030303333333333g3", "3300z03333330z33330333355555333333g333338888088888880888083033333333700333333330303030303333333333g3", "3303333333330333330333355555333333g33333888808888888z000083033333333000333333030303030303333333333g3", "33000033333303333303333555553333330333338888z00888888888083033333333z0z333333000303030303333333033g3", "330000333330z33333z3333990993333330333338888880000888888083033333333707333333333333333333333333333g3", "33z3303333303333330333333033333333033333888888880z888888083033333333000333333333333333333333333333g3", "33333033333033333303333330333333330333338z0888z008880000z83033333333000333333333333333333333333333g3", "33333033333z03333303333330333333330333338808888008880888883033333333303333333333333333333333333333g3", "33333033333303333303333330333333330333338808888008880888883033333333303333333333333333333333333333g3", "333330333333033333z333330003333333033333800z088088880000083033333333303333333333333333333333333333g3", "333330333333z033330333300000333333033333808808800000z880883033333333303333333333333333333333333333g3", "3333303333333033330333000z00033333z333338088088088888880883033333333303333000000000000000000003333g3", "333330333333303333033300z5z0033333533333808z000088888880883033333333303330000z000z000z000z000z0033g3", "3333303333333z0333z3330z555z033333z333338088888000z88880883033333333303330000800080008000800080003g3", "33333033333333033303330555550333335333333088888080880z008330333333333000000z000z000z000z000z00z003g3", "3333303333333303330333055555033333z333333088888z80880888833033333333333330030003000300030003003000g3", "33333033333330z33303330500050333335333330z888888800z08883330333333333333300000000000000000000000z003", "3333303333333033330333000000033333z333330338888888888883333033333333333333!!!!!!!!!!!!!!!!!!!!003003", "33333z033333303333z3339z0z0z933333533333033333888888333333303333333333333333333333333333333333!!0003", "3333330333330z33330333395559333333z3333303333333333333333330333333333333333333333333333333333333!003", "3333330333330333330333339593333333533333033333333333333333303333333333333333333333333333333333333003", "3333330333330333330333333533333333z33333033333333333333333303333333333333333333333333333333333333!03", "333333033330z333330333333533333333533333033333333333333333303333333333333333333333333333333333333303", "333333033330333333z333333533333333z33333033333333333333333303333333333333333333333333333333333333303", "333330z3333033333303333300033333335333330333333333k000000000000000000000000000000000000000l333333303", "33333033330z33333303333300z3333333z333330333333k00z70z07z7z5z7z0070z7z007z70z70z70z070z7z07z0l333303", "333330333303333333033330z050333333533333033333300555555555555555555555555555555555555555555500333303", "3333303333033333330333305000333333z33333033333k@5555555555555555555555555555555555555555555550l33303", "3333303330z3333330z3333000z0333333533333033333055555555555555555555555555555555555555555555555033303", "33330z3330333333000333300050333333z33333033333!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!033303", "3333033300333330000333300z00333333533333033333333333333333333333333333333333333333333333333333g33303", "333303300z33330000333330z500333333z33333033333333333333333333333333333333333333333333333333333g33303", "3333033003333000033333305000333333533333033333333333333333333333333333333333333333333333333333g33303", "33300330033300003333333000z0333333z33333033333333333333333333333333333333333333333333333333333g33303", "3300033303300003333333300050333333533333033333333333333333333333333333333333333333333333333333g33303", "30zzz3330z00z033333333300000333333z33333033333333333333333333333333333333333333333333333333333g33303", "3033333333333333333330000000003333533333033333333333333333333333333333333333333333333333333333g33303", "30000700z007000z070z000007z00z0007z70z0700z7000z0700z70zz07000z700z007z70z000z7000z70z70z07000z7zzz3", "3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333"]);
}
if (levelNum == 18) {
return(["3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333330303033333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333303303303333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333033303330333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333330333303333033333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333303303303333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333303303303333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333000303000333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333303303303333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333303303303333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333303303303333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333000303000333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333303303303333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333343303343333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333343303343333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333444303444333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333343303343333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333343303343333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333343303343333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333444303444333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333343303343333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "33333333333333333333333333333333333333333333333h33033h3333333333333333333333333333333333333333333333", "33333333333333333333333333333333333333333333333i33033i3333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333kil303kil333333333333333333333333333333333333333333333", "33333333333333333333333333333333333333333333333j33033j3333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "33333333333333333333333333333333333333333333333h33033h3333333333333333333333333333333333333333333333", "33333333333333333333333333333333333333333333333i33033i3333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333kil303kil333333333333333333333333333333333333333333333", "33333333333333333333333333333333333333333333333j33033j3333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333393303393333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333393303393333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333999303999333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333393303393333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333393303393333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333393303393333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333999303999333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333393303393333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333303303303333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333303303303333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333000303000333333333333333333333333333333333333333333333", "33333333333333333333333333333333333333333333333U33033U3333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333303333333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333k0l333333333333333333333333333333333333333333333333", "333333333333333333333333333333333333333333333333k000l33333333333333333333333333333333333333333333333", "33333333333333333333333333333333333333333333333k00000l3333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333k0000000l333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333!0000000!333333333333333333333333333333333333333333333", "33333333333333333333333333333333333333333333kl3!00000!3kl3333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333k00l3U000U3k00l333333333333333333333333333333333333333333", "333333333333333333333333333333333333333333k0000l30003k0000l33333333333333333333333333333333333333333", "33333333333333333333333333333333333333333k00000000000000000l3333333333333333333333333333333333333333", "3333333333333333333333333333333333333333k0000!!U00000U!!0000l333333333333333333333333333333333333333", "333333333333333333333333333333333333333k000003330000033300000l33333333333333333333333333333333333333", "333333333333333333333333333333333333333!0000000!0z0z0!0000000!33333333333333333333333333333333333333", "3333333333333333333333333333333333333333U0000003U0z0U3000000U333333333333333333333333333333333333333", "33333333333333333333333333333333333333333!00000l3!0!3k00000!3333333333333333333333333333333333333333", "333333333333333333333333333333333333333333U0000zl303kz0000U33333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333!0000000000000!333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333300000000000003333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333300000z0z000003333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333300000000000003333333333333333333333333333333333333333333", "33333333333333333333333333333333333333333333U00000000000U3333333333333333333333333333333333333333333", "333333333333333333333333333333333333333333333!000000000!33333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333U000{000U333333333333333333333333333333333333333333333", "33333333333333333333333333333333333333333333333!03330!3333333333333333333333333333333333333333333333", "333333333333333333333333333333333333333333333333U333U33333333333333333333333333333333333333333333333", "3333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333"]);
}
trace(("LEVEL " + levelNum) + " NOT FOUND.");
}
function spawnCreature(row, col, tile) {
setTile(row, col, "0".charCodeAt(0));
var creature;
if (tile.monster == "Soul") {
creature = newSprite(imageByLevel("Monsters", "Monsters 2", "Monsters 3"), "Soul", 20, 20);
creature.init = initSoul;
} else if (tile.monster == "Slime") {
creature = newSprite("Monsters", "Monster", 40, 40);
creature.init = initSlime;
} else if (tile.monster == "EyeCreature") {
creature = newSprite("Monsters", "Monster", 40, 40);
creature.init = initEyeCreature;
} else if (tile.monster == "Smiley") {
creature = newSprite("Monsters", "Monster", 40, 40);
creature.init = initSmiley;
} else if (tile.monster == "Chomper") {
creature = newSprite("Monsters", "Monster", 40, 40);
creature.init = initChomper;
} else if (tile.monster == "Demon") {
creature = newSprite("Monsters", "Monster", 40, 80);
creature.init = initDemon;
} else if (tile.monster == "FloaterH") {
creature = newSprite("Monsters", "Monster", 40, 40);
creature.vertical = false;
creature.init = initFloater;
} else if (tile.monster == "FloaterV") {
creature = newSprite("Monsters", "Monster", 40, 40);
creature.vertical = true;
creature.init = initFloater;
} else if (tile.monster == "Satan") {
creature = newSprite("Satan", "Satan", 360, 360);
creature.init = initSatan;
} else {
trace(("Unknown creature type \"" + tile.monster) + "\"");
}
creature.type = tile.monster;
creature.startRow = row;
creature.startCol = col;
creature.startTile = tile.symbol;
creature.x = squareToPixel(col);
creature.y = squareToPixel(row);
creature.dead = false;
creature.unspawn = false;
creature.isSoul = (creature.isFloater = false);
creature.shoutAt = doNothing;
creature.power = tile.monsterPower - 1;
if (creature.img.getDepth() > bill.img.getDepth()) {
creature.img.swapDepths(bill.img);
}
creatures[creatures.length] = creature;
creature.init(creature);
}
function moveCreatures() {
if (justStarted) {
spawnAllCreatures();
} else {
var billRow = pixelToSquare(level.cameraY + 160);
var billCol = pixelToSquare(level.cameraX + 160);
var row = (billRow - creatureSpawnRadius);
while (row <= (billRow + creatureSpawnRadius)) {
tryToSpawnCreature(row, billCol - creatureSpawnRadius, false);
tryToSpawnCreature(row, billCol + creatureSpawnRadius, false);
row++;
}
var col = ((billCol + 1) - creatureSpawnRadius);
while (col < (billCol + creatureSpawnRadius)) {
tryToSpawnCreature(billRow - creatureSpawnRadius, col, false);
tryToSpawnCreature(billRow + creatureSpawnRadius, col, false);
col++;
}
}
var i = 0;
while (i < creatures.length) {
if (!creatures[i].dead) {
creatures[i].move(creatures[i]);
}
if (creatures[i].dead || (tryToUnspawnCreature(creatures[i]))) {
removeSprite(creatures[i]);
creatures.splice(i, 1);
i--;
}
i++;
}
}
function adjustCreatures() {
var i = 0;
while (i < creatures.length) {
adjustSprite(creatures[i]);
i++;
}
}
function spawnAllCreatures() {
var billRow = pixelToSquare(level.cameraY + 160);
var billCol = pixelToSquare(level.cameraX + 160);
var row = (billRow - creatureSpawnRadius);
while (row <= (billRow + creatureSpawnRadius)) {
var col = (billCol - creatureSpawnRadius);
while (col <= (billCol + creatureSpawnRadius)) {
tryToSpawnCreature(row, col, false);
col++;
}
row++;
}
}
function tryToSpawnCreature(row, col, spawnChomper) {
var tile = tileAtSquare(row, col);
if ((tile.monster != null) && (((tile.monster == "Chomper") == spawnChomper) || (bill.ghost))) {
spawnCreature(row, col, tile);
}
}
function tryToUnspawnCreature(creature) {
if ((creature.startTile != null) && (!creature.neverUnspawn)) {
var radius = ((creature.shouted > 0) ? (creatureShoutedUnspawnRadius) : (creatureUnspawnRadius));
var startX = (creature.startCol * 40);
var startY = (creature.startRow * 40);
if (creature.unspawn || (((Math.abs(creature.x - bill.x) > radius) || (Math.abs(creature.y - bill.y) > radius)) && ((Math.abs(startX - bill.x) > radius) || (Math.abs(startY - bill.y) > radius)))) {
setTile(creature.startRow, creature.startCol, creature.startTile);
return(true);
}
}
return(false);
}
function doNothing() {
return(false);
}
function initSoul(soul) {
soul.x = soul.x + 10;
soul.y = soul.y + 20;
soul.frame = 4;
soul.falling = false;
soul.squishing = false;
soul.faceLeft = false;
soul.runLeft = false;
soul.runRot = 0;
soul.move = moveSoul;
soul.isSoul = true;
}
function moveSoul(soul) {
if (soul.squishing > 0) {
soul.frame++;
if (soul.frame == 16) {
soul.dead = true;
}
} else if (soul.falling) {
soul.y = soul.y + soulFall;
if (tileAt(soul.x + 10, soul.y + 20).msolid) {
soul.squishing = true;
}
} else if (!tileAt(soul.x + 10, soul.y + 20).msolid) {
soul.falling = true;
soul.neverUnspawn = true;
soul.frame = 8;
} else {
if ((++soul.runRot) == 4) {
soul.runRot = 0;
}
if (soul.runLeft) {
if (tileAt(soul.x, soul.y + 20).msolid && (!tileAt(soul.x, soul.y + 10).msolid)) {
soul.x = soul.x - soulWalk;
} else {
soul.runLeft = false;
}
} else if (tileAt(soul.x + 20, soul.y + 20).msolid && (!tileAt(soul.x + 20, soul.y + 10).msolid)) {
soul.x = soul.x + soulWalk;
} else {
soul.runLeft = true;
}
soul.frame = (soul.runLeft ? 0 : 4) + soul.runRot;
}
}
function initSlime(slime) {
slime.faceLeft = false;
slime.move = moveSlime;
slime.shoutAt = shoutAtSlime;
slime.seesBill = false;
slime.shouted = 0;
slime.dying = 0;
}
function moveSlime(slime) {
if (slime.dying > 0) {
slime.dying++;
if (slime.dying == 2) {
slime.frame = 42;
} else if (slime.dying == 3) {
slime.frame = 51;
} else if (slime.dying == 4) {
slime.frame = 51;
} else if (slime.dying == 5) {
slime.frame = 60;
} else if (slime.dying == 6) {
slime.frame = 60;
} else if (slime.dying == 7) {
slime.dead = true;
}
return(undefined);
}
if ((!tileAt(slime.x + 10, slime.y + 40).msolid) || (!tileAt(slime.x + 30, slime.y + 40).msolid)) {
slime.dying = 1;
slime.frame = 42;
return(undefined);
}
if (slime.shouted > 0) {
slime.shouted--;
slime.frame = (((slime.shouted % 2) == 1) ? 58 : 59);
return(undefined);
}
if (slimeSeesBill(slime)) {
slime.seesBill = true;
}
var speed = (slime.seesBill ? (slimeSeeSpeeds[slime.power]) : (slimeSpeeds[slime.power]));
if (slime.faceLeft) {
if (tileAt(slime.x - speed, slime.y + 40).msolid && (!tileAt(slime.x - speed, slime.y + 20).msolid)) {
slime.x = slime.x - speed;
} else {
slime.faceLeft = false;
slime.seesBill = false;
}
} else if (tileAt((slime.x + 40) + speed, slime.y + 40).msolid && (!tileAt((slime.x + 40) + speed, slime.y + 20).msolid)) {
slime.x = slime.x + speed;
} else {
slime.faceLeft = true;
slime.seesBill = false;
}
tryToKillBill(3, slime.x + 3, slime.y + 37, slime.x + 37, slime.y + 39);
slime.frame = (slime.seesBill ? 55 : 54);
}
function shoutAtSlime(slime, x, y) {
if (((((x >= slime.x) && (x < (slime.x + 40))) && (y >= (slime.y - 10))) && (y < (slime.y + 40))) && (slime.dying == 0)) {
if (slime.shouted < 79) {
slime.shouted = 80;
}
slime.seesBill = false;
return(true);
}
return(false);
}
function slimeSeesBill(slime) {
if ((bill.y > (slime.y + 35)) || ((bill.y + 35) < slime.y)) {
return(false);
}
if (slime.faceLeft) {
return(bill.x < slime.x);
}
return(bill.x > slime.x);
}
function initEyeCreature(eyeCreature) {
eyeCreature.move = moveEyeCreature;
eyeCreature.shoutAt = shoutAtEyeCreature;
eyeCreature.flap = 0;
eyeCreature.shouted = 0;
eyeCreature.faceLeft = false;
eyeCreature.glance = 0;
eyeCreature.dx = 0;
eyeCreature.dy = 0;
}
function moveEyeCreature(eyeCreature) {
if (eyeCreature.shouted > 0) {
eyeCreature.shouted--;
eyeCreature.frame = eyeShoutFrames[eyeCreature.shouted % 4];
return(undefined);
}
if (((eyeCreature.x % 40) == 0) && ((eyeCreature.y % 40) == 0)) {
var billRow = pixelToSquare(bill.y + 20);
var billCol = pixelToSquare(bill.x + 20);
var eyeRow = pixelToSquare(eyeCreature.y + 20);
var eyeCol = pixelToSquare(eyeCreature.x + 20);
eyeCreature.dx = (eyeCreature.dy = 0);
if (Math.random() < 0.5) {
swingEyeCreatureV(eyeCreature, billRow, billCol, eyeRow, eyeCol);
swingEyeCreatureH(eyeCreature, billRow, billCol, eyeRow, eyeCol);
} else {
swingEyeCreatureH(eyeCreature, billRow, billCol, eyeRow, eyeCol);
swingEyeCreatureV(eyeCreature, billRow, billCol, eyeRow, eyeCol);
}
}
eyeCreature.x = eyeCreature.x + (eyeCreature.dx * eyeSpeeds[eyeCreature.power]);
eyeCreature.y = eyeCreature.y + (eyeCreature.dy * eyeSpeeds[eyeCreature.power]);
if ((++eyeCreature.flap) == 4) {
eyeCreature.flap = 0;
}
eyeCreature.frame = eyeFlapFrames[eyeCreature.glance + 1][eyeCreature.flap];
tryToKillBill(0, eyeCreature.x + 5, eyeCreature.y + 20, eyeCreature.x + 35, eyeCreature.y + 30);
}
function swingEyeCreatureH(eyeCreature, billRow, billCol, eyeRow, eyeCol) {
if (eyeCol < billCol) {
eyeCreature.glance = 1;
if ((!tileAt(eyeCreature.x + 60, eyeCreature.y + 20).msolid) && (!tileAt(eyeCreature.x + 60, (eyeCreature.y + 20) + (40 * eyeCreature.dy)).msolid)) {
eyeCreature.dx = 1;
}
} else if (eyeCol > billCol) {
eyeCreature.glance = -1;
if ((!tileAt(eyeCreature.x - 20, eyeCreature.y + 20).msolid) && (!tileAt(eyeCreature.x - 20, (eyeCreature.y + 20) + (40 * eyeCreature.dy)).msolid)) {
eyeCreature.dx = -1;
}
} else {
eyeCreature.glance = 0;
}
}
function swingEyeCreatureV(eyeCreature, billRow, billCol, eyeRow, eyeCol) {
if (eyeRow < billRow) {
if ((!tileAt(eyeCreature.x + 20, eyeCreature.y + 60).msolid) && (!tileAt((eyeCreature.x + 20) + (40 * eyeCreature.dx), eyeCreature.y + 60).msolid)) {
eyeCreature.dy = 1;
}
} else if (eyeRow > billRow) {
if ((!tileAt(eyeCreature.x + 20, eyeCreature.y - 20).msolid) && (!tileAt((eyeCreature.x + 20) + (40 * eyeCreature.dx), eyeCreature.y - 20).msolid)) {
eyeCreature.dy = -1;
}
}
}
function shoutAtEyeCreature(eyeCreature, x, y) {
if ((((x >= eyeCreature.x) && (x < (eyeCreature.x + 40))) && (y >= eyeCreature.y)) && (y < (eyeCreature.y + 40))) {
if (eyeCreature.shouted < 77) {
eyeCreature.shouted = 80;
}
return(true);
}
return(false);
}
function initFloater(floater) {
floater.type = "Floater";
floater.move = moveFloater;
floater.shoutAt = shoutAtFloater;
floater.shouted = 0;
floater.faceLeft = false;
floater.neverUnspawn = true;
floater.rot = 0;
floater.forward = true;
floater.isFloater = true;
}
function moveFloater(floater) {
if (floater.shouted > 0) {
floater.shouted--;
floater.frame = floaterShoutFrames[floater.shouted % 3];
return(undefined);
}
var dx;
var dy;
var checkOffX;
var checkOffY;
if (floater.vertical) {
dx = 0;
checkOffX = 20;
if (floater.forward) {
dy = floaterSpeeds[floater.power];
checkOffY = 40;
} else {
dy = -floaterSpeeds[floater.power];
checkOffY = ((bill.onFloater == floater) ? -41 : -1);
}
} else {
dy = 0;
checkOffY = 20;
if (floater.forward) {
dx = floaterSpeeds[floater.power];
checkOffX = 40;
} else {
dx = -floaterSpeeds[floater.power];
checkOffX = -1;
}
}
if (!tileAt(floater.x + checkOffX, floater.y + checkOffY).solid) {
floater.x = floater.x + dx;
floater.y = floater.y + dy;
if (bill.onFloater == floater) {
billMoveInSpace(dx, dy);
}
} else {
floater.forward = !floater.forward;
floater.faceLeft = (!floater.vertical) && (floater.forward);
}
floater.rot++;
if (floater.rot == 4) {
floater.rot = 0;
}
floater.frame = floaterFrames[floater.rot];
}
function shoutAtFloater(floater, x, y) {
if ((((x >= floater.x) && (x < (floater.x + 40))) && (y >= floater.y)) && (y < (floater.y + 40))) {
if (floater.shouted < 78) {
floater.shouted = 80;
}
return(true);
}
return(false);
}
function initChomper(chomper) {
chomper.move = moveChomper;
chomper.shoutAt = shoutAtChomper;
chomper.faceLeft = chomper.x > bill.x;
chomper.risen = -1;
chomper.rising = true;
chomper.falling = false;
}
function moveChomper(chomper) {
if (chomper.rising) {
chomper.risen++;
if (chomper.power == 2) {
chomper.risen++;
}
calcChomperFrame(chomper);
if (chomper.risen >= 16) {
chomper.risen = 16;
chomper.rising = false;
// unexpected jump
}
return(undefined);
}
if (chomper.falling) {
chomper.risen--;
if (chomper.power == 2) {
chomper.risen--;
}
calcChomperFrame(chomper);
if (chomper.risen <= -24) {
chomper.unspawn = true;
}
return(undefined);
}
var newX = (chomper.x + (chomper.faceLeft ? (-chomperSpeeds[chomper.power]) : (chomperSpeeds[chomper.power])));
if (((((!tileAt(newX + 41, chomper.y + 40).msolid) || (!tileAt(newX + 20, chomper.y + 40).msolid)) || (!tileAt(newX - 1, chomper.y + 40).msolid)) || (tileAt(newX + 41, chomper.y + 20).msolid)) || (tileAt(newX - 1, chomper.y + 20).msolid)) {
chomper.falling = true;
chomper.risen--;
if (chomper.power == 2) {
chomper.risen--;
}
calcChomperFrame(chomper);
return(undefined);
}
chomper.x = newX;
if (tryToKillBill(4, chomper.x + 19, chomper.y + 38, chomper.x + 21, chomper.y + 39)) {
bill.faceLeft = chomper.faceLeft;
bill.x = Math.floor((bill.x + chomper.x) / 2);
chomper.dead = true;
}
}
function calcChomperFrame(chomper) {
chomper.frame = ((chomper.risen < 2) ? -1 : (62 + Math.floor(chomper.risen / 2)));
}
function shoutAtChomper(chomper, x, y) {
if (((((!chomper.falling) && (x >= chomper.x)) && (x < (chomper.x + 40))) && (y >= chompery)) && (y < (chomper.y + 40))) {
chomper.falling = true;
chomper.rising = false;
return(true);
}
return(false);
}
function initSmiley(smiley) {
smiley.move = moveSmiley;
smiley.shoutAt = shoutAtSmiley;
smiley.shouted = 0;
smiley.rot = -1;
}
function moveSmiley(smiley) {
if (smiley.shouted > 0) {
smiley.shouted--;
smiley.rot = randIntExcept(smileyShoutFrames.length, smiley.rot);
smiley.frame = smileyShoutFrames[smiley.rot];
} else {
if (Math.random() < 0.5) {
moveSmileyH(smiley);
moveSmileyV(smiley);
} else {
moveSmileyV(smiley);
moveSmileyH(smiley);
}
smiley.rot = randIntExcept(smileyFrames.length, smiley.rot);
smiley.frame = smileyFrames[smiley.rot];
tryToKillBill(0, smiley.x + 3, smiley.y + 3, smiley.x + 37, smiley.y + 37);
}
}
function moveSmileyH(smiley) {
var newSmileyX = smiley.x;
if (smiley.x < bill.x) {
newSmileyX = newSmileyX + smileySpeeds[smiley.power];
if (smiley.x > bill.x) {
smiley.x = bill.x;
}
} else if (smiley.x > bill.x) {
newSmileyX = newSmileyX - smileySpeeds[smiley.power];
if (smiley.x < bill.x) {
smiley.x = bill.x;
}
}
if (tileAt(newSmileyX + 20, smiley.y + 20).nature != "msolid") {
smiley.x = newSmileyX;
}
}
function moveSmileyV(smiley) {
var newSmileyY = smiley.y;
if (smiley.y < bill.y) {
newSmileyY = newSmileyY + smileySpeeds[smiley.power];
if (smiley.y > bill.y) {
smiley.y = bill.y;
}
} else if (smiley.y > bill.y) {
newSmileyY = newSmileyY - smileySpeeds[smiley.power];
if (smiley.y < bill.y) {
smiley.y = bill.y;
}
}
if (tileAt(smiley.x + 20, newSmileyY + 20).nature != "msolid") {
smiley.y = newSmileyY;
}
}
function shoutAtSmiley(smiley, x, y) {
if ((((x >= smiley.x) && (x < (smiley.x + 40))) && (y >= (smiley.y - 15))) && (y < (smiley.y + 55))) {
if (smiley.shouted < 118) {
smiley.shouted = 120;
}
return(true);
}
return(false);
}
function initDemon(demon) {
demon.faceLeft = false;
demon.move = moveDemon;
demon.shoutAt = shoutAtDemon;
demon.seesBill = false;
demon.shouted = 0;
demon.walkRot = 0;
demon.y = demon.y - 40;
}
function moveDemon(demon) {
if (demon.power == 2) {
demon.faceLeft = bill.x < demon.x;
demon.frame = 36;
tryToKillBill(0, demon.x + 5, demon.y + 10, demon.x + 35, demon.y + 70);
return(undefined);
}
if (demon.shouted > 0) {
demon.shouted--;
demon.frame = (((Math.floor(demon.shouted / 2) % 2) == 0) ? 35 : 36);
}
if ((!tileAt(demon.x + 5, demon.y + 80).msolid) && (!tileAt(demon.x + 35, demon.y + 80).msolid)) {
demon.frame = 36;
demon.y = demon.y + demonFallSpeed;
} else if (demon.shouted == 0) {
if (demon.x > bill.x) {
demon.faceLeft = true;
if (((!tileAt(demon.x - 1, demon.y + 20).msolid) && (!tileAt(demon.x - 1, demon.y + 60).msolid)) && (tileAt(demon.x - 1, demon.y + 81).msolid)) {
demon.x = demon.x - demonSpeeds[demon.power];
if (demon.x < bill.x) {
demon.x = bill.x;
}
if ((++demon.walkRot) == 6) {
demon.walkRot = 0;
}
demon.frame = 37 + Math.floor(demon.walkRot / 2);
} else {
demon.frame = 36;
}
} else if (demon.x < bill.x) {
demon.faceLeft = false;
if (((!tileAt(demon.x + 40, demon.y + 20).msolid) && (!tileAt(demon.x + 40, demon.y + 60).msolid)) && (tileAt(demon.x + 40, demon.y + 81).msolid)) {
demon.x = demon.x + demonSpeeds[demon.power];
if (demon.x > bill.x) {
demon.x = bill.x;
}
if ((++demon.walkRot) == 6) {
demon.walkRot = 0;
}
demon.frame = 37 + Math.floor(demon.walkRot / 2);
} else {
demon.frame = 36;
}
} else {
demon.frame = 36;
}
tryToKillBill(0, demon.x + 5, demon.y + 10, demon.x + 35, demon.y + 70);
}
}
function shoutAtDemon(demon, x, y) {
if ((((x >= demon.x) && (x < (demon.x + 40))) && (y >= demon.y)) && (y < (demon.y + 55))) {
if (demon.shouted < 77) {
demon.shouted = 80;
}
return(true);
}
return(false);
}
function initSatan(satan) {
satan.move = moveSatan;
satan.begun = false;
satan.wait = 200;
satan.neverUnspawn = true;
}
function moveSatan(satan) {
if (satan.wait > 0) {
satan.wait--;
return(undefined);
}
if (!satan.begun) {
if ((bill.y != satan.y) || (Math.abs(bill.x - satan.x) >= 5)) {
return(undefined);
}
satan.begun = true;
level.earthquake = true;
satan.x = satan.x - 160;
satan.y = satan.y - 160;
bill.frozen = true;
satan.img.play();
}
}
function makeCrumbler(row, col, tile, steppedOnGravel) {
var crumbler = newSprite(imageByLevel("Monsters", "Monsters 2", "Monsters 3"), "Crumbler", 40, 40);
crumbler.startRow = row;
crumbler.startCol = col;
crumbler.startTile = null;
crumbler.tile = tile;
setTile(row, col, ")".charCodeAt(0));
crumbler.type = "Crumbler";
crumbler.x = squareToPixel(col);
crumbler.y = squareToPixel(row);
crumbler.dead = false;
crumbler.faceRight = false;
crumbler.isSoul = (crumbler.isFloater = false);
crumbler.shoutAt = doNothing;
creatures[creatures.length] = crumbler;
if (crumbler.img.getDepth() > bill.img.getDepth()) {
crumbler.img.swapDepths(bill.img);
}
if (tile.nature == "brick") {
crumbler.sequence = brickCrumble;
} else if ((tile.nature == "gravel") || (tile.nature == "cgravel")) {
crumbler.sequence = gravelCrumble;
} else if (tile.nature == "stone") {
crumbler.sequence = stoneCrumble;
} else if (tile.nature == "spikes") {
crumbler.sequence = spikesCrumble;
} else {
trace(("Unknown crumble sequence for \"" + tile.nature) + "\"");
}
crumbler.frame = -1;
crumbler.progress = -1;
crumbler.move = moveCrumbler;
crumbler.neverUnspawn = true;
}
function moveCrumbler(crumbler) {
crumbler.progress++;
if (crumbler.progress >= crumbler.sequence.length) {
crumbler.dead = true;
setTile(crumbler.startRow, crumbler.startCol, ((crumbler.tile.nature == "stone") ? "3" : "0").charCodeAt(0));
} else {
crumbler.frame = crumbler.sequence[crumbler.progress];
}
}
function initBill(reviveFromDead, deathType) {
if (reviveFromDead) {
if (deathType == 4) {
deathType = 0;
}
bill = newSprite("Bill Die", "Dead Bill", 40, 40);
} else {
bill = newSprite(imageByLevel("Bill", "Bill 2", "Bill 3"), "Bill", 40, 40);
}
bill.x = 40 * startCol;
bill.y = 40 * startRow;
bill.faceLeft = false;
bill.walkRot = 0;
bill.vx = (bill.vy = 0);
bill.action = "stand";
bill.inWideJump = false;
bill.standWait = 0;
bill.joy = 0;
bill.shout = 0;
bill.eat = 0;
bill.landed = false;
bill.dead = 0;
bill.deathType = (reviveFromDead ? (deathType) : 0);
bill.revive = reviveFromDead;
bill.reviveProgress = -6;
bill.hungerRot = 0;
bill.wellAndTrulyDead = false;
bill.ghost = false;
bill.deathTileA = new Object();
bill.deathTileA.row = -1;
bill.deathTileA.col = -1;
bill.deathTileB = new Object();
bill.deathTileB.row = -1;
bill.deathTileB.col = -1;
bill.deathTileSnd = 0;
bill.beatLevel = false;
bill.frozen = false;
bill.btnPress = 4;
}
function moveBill() {
if (bill.btnPress > 0) {
bill.btnPress--;
}
if (((bill.btnPress == 0) && (Key.isDown(9) || (Key.isDown(80)))) && (!bill.frozen)) {
gamePaused = !gamePaused;
bill.btnPress = 4;
if (gamePaused) {
gamePausedClip = newClip(tileView.board, "Paused", false);
gamePausedClip._x = 30 - tileView.board._x;
gamePausedClip._y = 30 - tileView.board._y;
} else {
clearClip(gamePausedClip, true);
}
return(undefined);
}
if (gamePaused || (bill.frozen)) {
return(undefined);
}
allFloaters = new Array();
var i = 0;
while (i < creatures.length) {
if (creatures[i].isFloater) {
allFloaters[allFloaters.length] = creatures[i];
}
i++;
}
billMoveLogic();
if ((bill.dead == 0) && (!gamePaused)) {
billPhysics();
billAfterPhysics();
}
billChooseFrame();
allFloaters = null;
}
function billMoveLogic() {
bill.tempVX = 0;
bill.tempVY = 0;
bill.onFloater = null;
if (bill.joy > 0) {
bill.joy--;
}
if (bill.deathTileSnd > 0) {
bill.deathTileSnd--;
}
if (bill.dead > 0) {
bill.dead++;
if (bill.dead > deathFrames[bill.deathType].length) {
if (level.bonus) {
bill.beatLevel = true;
} else {
bill.wellAndTrulyDead = true;
}
}
return(undefined);
}
if (bill.revive > 0) {
bill.reviveProgress++;
if (bill.reviveProgress > recoverFrames[bill.deathType].length) {
bill.revive = 0;
switchSprite(bill, imageByLevel("Bill", "Bill 2", "Bill 3"), "Bill");
}
return(undefined);
}
if (cheatEnabled) {
if (Key.isDown(67)) {
billCheat();
} else if (Key.isDown(71) && (bill.btnPress == 0)) {
bill.ghost = !bill.ghost;
bill.img._alpha = (bill.ghost ? 50 : 100);
bill.btnPress = 4;
} else if (Key.isDown(66)) {
bill.beatLevel = true;
return(undefined);
}
if (bill.ghost) {
if (isUpKey()) {
bill.y = bill.y - 20;
} else if (isDownKey()) {
bill.y = bill.y + 20;
}
if (isLeftKey()) {
bill.x = bill.x - 20;
bill.faceLeft = true;
} else if (isRightKey()) {
bill.x = bill.x + 20;
bill.faceLeft = false;
}
bill.vx = (bill.vy = 0);
spawnAllCreatures();
return(undefined);
}
}
var billRow = pixelToSquare(bill.y + 20);
var billCol = pixelToSquare(bill.x + 20);
var billTile = tileAtSquare(billRow, billCol);
if (billTile.nature != null) {
if (billTile.nature == "resurrect") {
checkResurrectionTile(billRow, billCol);
} else if (billTile.nature == "rleft") {
checkResurrectionTile(billRow, billCol + 1);
} else if (billTile.nature == "rright") {
checkResurrectionTile(billRow, billCol - 1);
} else if (billTile.nature == "bonusA") {
billBonus(false, billRow, billCol);
} else if (billTile.nature == "bonusB") {
billBonus(true, billRow, billCol);
} else if (billTile.nature == "arwl1") {
bill.tempVX = bill.tempVX - arrowSmallAcc;
} else if (billTile.nature == "arwl2") {
bill.tempVX = bill.tempVX - arrowLargeAcc;
} else if (billTile.nature == "arwr1") {
bill.tempVX = bill.tempVX + arrowSmallAcc;
} else if (billTile.nature == "arwr2") {
bill.tempVX = bill.tempVX + arrowLargeAcc;
} else if (billTile.nature == "arwup") {
bill.vy = bill.vy - arrowUpAcc;
if (bill.vy < (-arrowUpTop)) {
bill.vy = -arrowUpTop;
}
} else if (billTile.nature == "goal") {
playSound(sndVictoryA);
bill.beatLevel = true;
return(undefined);
}
}
uncheckDeathTile(bill.deathTileA, bill.x + billInsetH, bill.y + 41);
uncheckDeathTile(bill.deathTileB, (bill.x + 40) - billInsetH, bill.y + 41);
checkDeathTile(bill.deathTileA, bill.x + billInsetH, bill.y + 41);
checkDeathTile(bill.deathTileB, (bill.x + 40) - billInsetH, bill.y + 41);
if ((bill.eat > 0) && (!level.bonus)) {
hunger = hunger + 3;
if (hunger > 128) {
hunger = 128;
}
hungerRot = 0;
refreshConsole();
} else if (hunger > 0) {
if (((bill.shout > 0) && (bill.shout < (shoutFrames.length - 4))) && (!level.bonus)) {
hunger--;
refreshConsole();
} else if (((bill.deathTileA.row >= 0) || (bill.deathTileB.row >= 0)) || ((++hungerRot) >= (level.bonus ? 4 : 8))) {
hunger--;
hungerRot = 0;
refreshConsole();
}
}
if (hunger == 0) {
killBill(1);
return(undefined);
}
if (!solidBelowBill()) {
if ((bill.vy < 0) && (solidAboveBill())) {
bill.vy = 0;
}
if ((bill.action == "jump") && (bill.vy >= 0)) {
bill.action = "fall";
}
if ((bill.action != "jump") && (bill.action != "fall")) {
bill.action = "fall";
bill.inWideJump = false;
}
if (bill.inWideJump) {
if ((bill.faceLeft && (solidLeftOfBill())) || ((!bill.faceLeft) && (solidRightOfBill()))) {
bill.vx = 0;
bill.inWideJump = false;
}
}
billShoutOrEat();
if (!bill.inWideJump) {
if (isLeftKey()) {
bill.tempVX = bill.tempVX - jumpNudgeSpeed;
if (bill.shout == 0) {
bill.faceLeft = true;
}
} else if (isRightKey()) {
bill.tempVX = bill.tempVX + jumpNudgeSpeed;
if (bill.shout == 0) {
bill.faceLeft = false;
}
}
}
if (billTile.nature != "arwup") {
bill.vy = bill.vy + gravity;
}
} else {
bill.vx = 0;
billShoutOrEat();
tryToSpawnCreature(billRow, billCol - 1, true);
tryToSpawnCreature(billRow, billCol + 1, true);
var underTile = tileAtSquare(billRow + 1, billCol);
var underTileLeft = tileAt(bill.x + billInsetH, bill.y + 39);
var underTileRight = tileAt((bill.x + 40) - billInsetH, bill.y + 39);
if (tileAt((bill.x + billInsetH) + 1, bill.y + 41).nature == "cgravel") {
makeCrumbler(billRow + 1, Math.floor(((bill.x + billInsetH) + 1) / 40), tileAt((bill.x + billInsetH) + 1, bill.y + 41), true);
}
if (tileAt((bill.x + 39) - billInsetH, bill.y + 41).nature == "cgravel") {
makeCrumbler(billRow + 1, Math.floor(((bill.x + 39) - billInsetH) / 40), tileAt((bill.x + 39) - billInsetH, bill.y + 41), true);
}
if ((bill.action == "fall") && ((underTileLeft.nature == "spikes") || (underTileRight.nature == "spikes"))) {
killBill(2);
} else if (bill.action == "preJump") {
bill.preJumpCount--;
if (bill.preJumpCount == 0) {
bill.action = "jump";
if (bill.inWideJump) {
bill.vy = -wideJumpImpetus;
bill.vx = (bill.faceLeft ? (-wideJumpVelocity) : (wideJumpVelocity));
} else {
bill.vy = -highJumpImpetus;
bill.vx = 0;
}
}
} else if (isUpKey() && (bill.shout == 0)) {
bill.action = "preJump";
bill.preJumpCount = 2;
if (isRightKey()) {
bill.faceLeft = false;
bill.inWideJump = true;
} else if (isLeftKey()) {
bill.faceLeft = true;
bill.inWideJump = true;
} else {
bill.inWideJump = false;
}
} else if (isLeftKey() && (bill.shout == 0)) {
bill.action = "walk";
bill.faceLeft = true;
bill.tempVX = bill.tempVX - walkSpeed;
if ((++bill.walkRot) == 3) {
bill.walkRot = 0;
}
} else if (isRightKey() && (bill.shout == 0)) {
bill.action = "walk";
bill.faceLeft = false;
bill.tempVX = bill.tempVX + walkSpeed;
if ((++bill.walkRot) == 3) {
bill.walkRot = 0;
}
} else if (((bill.action == "stand") && (bill.shout == 0)) && (bill.eat == 0)) {
bill.landed = false;
if ((++bill.standWait) >= boredom) {
bill.standWait = boredom;
bill.faceLeft = false;
}
} else {
bill.landed = (bill.action == "fall") || (bill.action == "jump");
bill.action = "stand";
bill.standWait = 0;
}
}
}
function billShoutOrEat() {
if (((isMouthKey() && (bill.btnPress == 0)) && (bill.shout == 0)) && (bill.eat == 0)) {
if (tryToEatSoul()) {
bill.eat = 1;
playSound(sndEat);
} else {
bill.shout = 1;
playSound(sndShout);
}
bill.standWait = 0;
return(undefined);
}
if (bill.shout > 0) {
bill.shout++;
billShout(bill.shout == 2);
if (bill.shout > shoutFrames.length) {
bill.shout = 0;
}
}
if (bill.eat > 0) {
bill.eat++;
if (bill.eat == 2) {
billEat();
}
if (bill.eat > eatFrames.length) {
bill.eat = 0;
bill.joy = 20;
}
}
}
function billShout(major) {
if (major) {
var i = 0;
while (i < creatures.length) {
if (creatures[i].isSoul) {
creatures[i].runLeft = (creatures[i].x + 10) < (bill.x + 20);
}
i++;
}
}
var y = (bill.y + 20);
var row = pixelToSquare(y);
var dist = 0;
while (dist < 200) {
var x = ((bill.x + 20) + (bill.faceLeft ? (-dist) : (dist)));
var i = 0;
while (i < creatures.length) {
if (creatures[i].shoutAt(creatures[i], x, y)) {
major = false;
}
i++;
}
var col = pixelToSquare(x);
var tile = tileAtSquare(row, col);
if (tile.solid) {
if ((((tile.nature == "brick") || (tile.nature == "gravel")) || (tile.nature == "stone")) || (tile.nature == "cgravel")) {
if (major) {
makeCrumbler(row, col, tile, false);
if ((tile.nature != "stone") && (tileAtSquare(row - 1, col).nature == "spikes")) {
makeCrumbler(row - 1, col, tileAtSquare(row - 1, col), false);
}
}
}
return;
}
dist = dist + 20;
}
}
function billEat() {
souls++;
if (souls == 25) {
souls = 0;
if (lives < 9) {
lives++;
}
playSound(sndBonusB);
}
refreshConsole();
}
function checkResurrectionTile(row, col) {
if (((row == startRow) && (col == startCol)) || (tileAtSquare(row, col).nature != "resurrect")) {
return(undefined);
}
if (tileAtSquare(startRow, startCol).nature == "resurrect") {
setTile(startRow, startCol - 1, "a".charCodeAt(0));
setTile(startRow, startCol, "b".charCodeAt(0));
setTile(startRow, startCol + 1, "c".charCodeAt(0));
playSound(sndBonusA);
}
startRow = row;
startCol = col;
setTile(row, col - 1, "d".charCodeAt(0));
setTile(row, col, "e".charCodeAt(0));
setTile(row, col + 1, "f".charCodeAt(0));
}
function billBonus(big, row, col) {
setTile(row, col, "0".charCodeAt(0));
hunger = 128;
if (big) {
playSound(sndBonusB);
if (lives < 9) {
lives++;
}
} else {
playSound(sndBonusA);
}
refreshConsole();
}
function uncheckDeathTile(deathTile, x, y) {
var row = Math.floor(y / 40);
var col = Math.floor(x / 40);
if ((deathTile.row > -1) && ((deathTile.row != row) || (deathTile.col != col))) {
setTile(deathTile.row, deathTile.col, "9".charCodeAt(0));
deathTile.row = (deathTile.col = -1);
}
}
function checkDeathTile(deathTile, x, y) {
var row = Math.floor(y / 40);
var col = Math.floor(x / 40);
var tile = tileAtSquare(row, col);
if ((deathTile.row == row) && (deathTile.col == col)) {
setTile(deathTile.row, deathTile.col, "~".charCodeAt(0));
} else if (tileAtSquare(row, col).nature == "death") {
deathTile.row = row;
deathTile.col = col;
setTile(deathTile.row, deathTile.col, "~".charCodeAt(0));
if (bill.deathTileSnd == 0) {
bill.deathTileSnd = 8;
playSound(sndDeathTile);
}
}
}
function tryToKillBill(deathType, mLeft, mTop, mRight, mBottom) {
if (((((bill.dead == 0) && (!bill.beatLevel)) && (!bill.revive)) && (!bill.ghost)) && (rectsIsect(bill.x + billInsetH, (bill.y + bill.top) + billInsetV, (bill.x + 40) - billInsetH, (bill.y + bill.top) + 40, mLeft, mTop, mRight, mBottom))) {
killBill(deathType);
return(true);
}
return(false);
}
function killBill(deathType) {
bill.dead = 1;
bill.deathType = deathType;
if (deathType == 0) {
playSound(sndDeathGeneric);
} else if (deathType == 1) {
playSound(sndDeathGeneric);
} else if (deathType == 2) {
playSound(sndDeathSpikes);
} else if (deathType == 3) {
playSound(sndDeathSlime);
} else if (deathType == 4) {
playSound(sndDeathEaten);
}
switchSprite(bill, "Bill Die", "Dead Bill");
bill.frame = (9 * bill.deathType) + deathFrames[bill.deathType][bill.dead - 1];
}
function billPhysics() {
if (bill.vx < (-topSpeed)) {
bill.vx = -topSpeed;
}
if (bill.vx > topSpeed) {
bill.vx = topSpeed;
}
if (bill.vy < (-topSpeed)) {
bill.vy = -topSpeed;
}
if (bill.vy > topSpeed) {
bill.vy = topSpeed;
}
billMoveInSpace(bill.vx + bill.tempVX, bill.vy + bill.tempVY);
}
function billMoveInSpace(vx, vy) {
while ((vx != 0) || (vy != 0)) {
if (vx < 0) {
if (solidLeftOfBill()) {
vx = 0;
} else {
bill.x--;
vx++;
}
}
if (vx > 0) {
if (solidRightOfBill()) {
vx = 0;
} else {
bill.x++;
vx--;
}
}
if (vy < 0) {
if (solidAboveBill()) {
vy = 0;
} else {
bill.y--;
vy++;
}
}
if (vy > 0) {
if (solidBelowBill()) {
vy = 0;
} else {
bill.y++;
vy--;
}
}
}
}
function billAfterPhysics() {
if (solidBelowBill()) {
if (bill.vy > 0) {
bill.vy = 0;
}
}
}
function billChooseFrame() {
if (bill.dead > 0) {
bill.frame = (9 * bill.deathType) + deathFrames[bill.deathType][bill.dead - 1];
} else if (bill.revive) {
var reviveFrameList = recoverFrames[bill.deathType];
if (bill.reviveProgress <= 0) {
bill.frame = -1;
} else {
bill.frame = (9 * bill.deathType) + reviveFrameList[reviveFrameList.length - bill.reviveProgress];
}
} else if (bill.ghost) {
bill.frame = 13;
} else if (bill.shout > 0) {
if (bill.shout <= shoutFrames.length) {
bill.frame = shoutFrames[bill.shout - 1];
} else {
trace("Unrenderable shout " + bill.shout);
}
} else if (bill.eat > 0) {
if (bill.eat <= eatFrames.length) {
bill.frame = eatFrames[bill.eat - 1];
} else {
trace("Unrenderable eat " + bill.eat);
}
} else if (bill.action == "stand") {
if (bill.standWait == boredom) {
bill.frame = 12;
} else if (bill.joy > 0) {
bill.frame = 14;
} else if (bill.landed) {
bill.frame = 1;
} else {
bill.frame = 0;
}
} else if (bill.action == "walk") {
if (bill.joy > 0) {
bill.frame = 14;
} else if (bill.walkRot == 0) {
bill.frame = 3;
} else if (bill.walkRot == 1) {
bill.frame = 6;
} else if (bill.walkRot == 2) {
bill.frame = 9;
} else {
trace("Unrenderable walkRot " + bill.walkRot);
}
} else if (bill.action == "fall") {
bill.frame = 13;
} else if (bill.action == "preJump") {
if (bill.preJumpCount == 2) {
bill.frame = (bill.inWideJump ? 4 : 1);
} else if (bill.preJumpCount == 1) {
bill.frame = (bill.inWideJump ? 7 : 10);
} else {
trace("Unrenderable preJumpCount " + bill.preJumpCount);
}
} else if (bill.action == "jump") {
bill.frame = (bill.inWideJump ? 3 : 0);
} else {
trace(("Unknown Bill action \"" + bill.action) + "\"");
bill.frame = 0;
}
}
function solidAboveBill() {
return((tileAt((bill.x + billInsetH) + 1, bill.y + billInsetV).solid || (tileAt(bill.x + 20, bill.y + billInsetV).solid)) || (tileAt(((bill.x + 40) - billInsetH) - 1, bill.y + billInsetV).solid));
}
function solidBelowBill() {
if ((tileAt((bill.x + billInsetH) + 1, bill.y + 40).solid || (tileAt(bill.x + 20, bill.y + 40).solid)) || (tileAt(((bill.x + 40) - billInsetH) - 1, bill.y + 40).solid)) {
return(true);
}
if (bill.vy >= 0) {
var i = 0;
while (i < allFloaters.length) {
if (((allFloaters[i].y == (bill.y + 40)) && (allFloaters[i].x < ((bill.x + 39) - billInsetH))) && ((allFloaters[i].x + 39) > (bill.x + billInsetH))) {
bill.onFloater = allFloaters[i];
return(true);
}
i++;
}
}
return(false);
}
function solidLeftOfBill() {
return((tileAt(bill.x + billInsetH, (bill.y + billInsetV) + 1).solid || (tileAt(bill.x + billInsetH, bill.y + 20).solid)) || (tileAt(bill.x + billInsetH, bill.y + 38).solid));
}
function solidRightOfBill() {
return((tileAt((bill.x + 40) - billInsetH, (bill.y + billInsetV) + 1).solid || (tileAt((bill.x + 40) - billInsetH, bill.y + 20).solid)) || (tileAt((bill.x + 40) - billInsetH, bill.y + 38).solid));
}
function tryToEatSoul() {
var i = 0;
while (i < creatures.length) {
var cr = creatures[i];
if ((((cr.type == "Soul") && (!cr.dead)) && (!cr.squishing)) && (rectsIsect(bill.x + billInsetH, (bill.y + bill.top) + billInsetV, (bill.x + 40) - billInsetH, (bill.y + bill.top) + 40, cr.x + 2, cr.y + 1, cr.x + 18, cr.y + 20))) {
cr.dead = true;
return(true);
}
i++;
}
return(false);
}
function isUpKey() {
return((Key.isDown(38) || (Key.isDown(87))) && (!(Key.isDown(40) || (Key.isDown(83)))));
}
function isDownKey() {
return((Key.isDown(40) || (Key.isDown(83))) && (!(Key.isDown(38) || (Key.isDown(87)))));
}
function isLeftKey() {
return((Key.isDown(37) || (Key.isDown(65))) && (!(Key.isDown(39) || (Key.isDown(68)))));
}
function isRightKey() {
return((Key.isDown(39) || (Key.isDown(68))) && (!(Key.isDown(37) || (Key.isDown(65)))));
}
function isMouthKey() {
return((Key.isDown(16) || (Key.isDown(32))) || (Key.isDown(13)));
}
function billCheat() {
var billRow = pixelToSquare(bill.y + 20);
var billCol = pixelToSquare(bill.x + 20);
while (true) {
billCol++;
if (billCol == 100) {
billCol = 0;
billRow++;
if (billRow == 100) {
billRow = 0;
}
}
if (tileAtSquare(billRow, billCol).nature == "resurrect") {
bill.x = billCol * 40;
bill.y = billRow * 40;
return(undefined);
}
}
}
function newGame(true) {
loadGame(1, 4, 0);
}
function loadGame(levelNum, numLives, numSouls) {
inGame = false;
lives = numLives;
souls = numSouls;
hunger = 128;
calcStartSquare(levelNum);
enterLevel(levelNum, false);
gameLoop();
playSound(sndThemeA);
}
function enterLevel(levelNum, reviveFromDead, deathType) {
inGame = true;
gamePaused = false;
fadeIn = 0;
fadeOut = 0;
beatLevelOut = 0;
level = new Object();
level.num = levelNum;
level.bonus = (((((((levelNum == 2) || (levelNum == 4)) || (levelNum == 6)) || (levelNum == 8)) || (levelNum == 10)) || (levelNum == 12)) || (levelNum == 14)) || (levelNum == 16);
level.earthquake = level.bonus;
map = makeLevel(levelNum);
clearAllClips();
setupTileView(levelNum);
initBill(reviveFromDead, deathType);
hunger = 128;
level.cameraX = bill.x - 160;
level.cameraY = bill.y - 160;
creatures = new Array();
spawnAllCreatures();
setupConsole();
justStarted = true;
}
function gameLoop() {
if (!inGame) {
return(undefined);
}
if ((!bill.wellAndTrulyDead) && (!bill.beatLevel)) {
moveBill();
}
if (gamePaused) {
if (Key.isDown(81)) {
clearAllClips();
gameOver = "Intro";
}
return(undefined);
}
if (bill.wellAndTrulyDead) {
processDeadBill();
return(undefined);
}
if (bill.beatLevel) {
processBeatLevel();
return(undefined);
}
adjustCamera();
if ((bill.dead == 0) && (!bill.beatLevel)) {
moveCreatures();
}
updateTileView();
adjustSprite(bill);
adjustCreatures();
justStarted = true;
}
function calcFrameRate() {
frameRate = creatures.length;
}
function processDeadBill() {
if (fadeOut == 0) {
fadeOutClip = newClip(this, "Black Rect", false);
fadeOutClip._x = (fadeOutClip._y = 30);
fadeOutClip._width = (fadeOutClip._height = 360);
fadeOutClip._alpha = 0;
fadeOut = fadeOut + (soundOn ? 5 : 10);
lives--;
refreshConsole();
playSound(((lives >= 0) ? (sndDeathPianoA) : (sndOminous)));
} else if (fadeOut >= 100) {
if (((fadeOut < 128) && (soundOn)) && (lives >= 0)) {
fadeOut++;
return(undefined);
}
fadeOut = 0;
if (lives >= 0) {
var billFaceLeft = bill.faceLeft;
playSound(sndDeathPianoB);
enterLevel(level.num, true, bill.deathType);
bill.faceLeft = billFaceLeft;
gameLoop();
} else {
clearAllClips();
gameOver = "Intro";
}
} else {
fadeOut = fadeOut + (soundOn ? 5 : 10);
fadeOutClip._alpha = ((fadeOut > 100) ? 100 : (fadeOut));
}
}
function processBeatLevel() {
if (beatLevelOut == 0) {
bill.img._visible = false;
beatLevelClip = newClip(tileView.board, "Black Bill", false);
beatLevelOut = 30;
beatLevelClip._x = 180 + (30 - tileView.board._x);
beatLevelClip._y = 180 + (30 - tileView.board._y);
beatLevelClip._xscale = (beatLevelClip._yscale = beatLevelOut);
} else if (beatLevelOut >= 600) {
beatLevelOut = 0;
clearClip(beatLevelClip, true);
if ((((((((level.num == 2) || (level.num == 4)) || (level.num == 6)) || (level.num == 8)) || (level.num == 10)) || (level.num == 12)) || (level.num == 14)) || (level.num == 16)) {
clearAllClips();
loadPassword = encodePassword(level.num + 1, lives, souls);
gameOver = "LevelPassword";
} else if (level.num < lastLevel) {
calcStartSquare(level.num + 1);
enterLevel(level.num + 1, false);
gameLoop();
} else {
clearAllClips();
gameOver = "Victory";
}
} else {
beatLevelOut = beatLevelOut + 30;
beatLevelClip._xscale = (beatLevelClip._yscale = beatLevelOut);
}
}
sndBonusA = "Bonus Snd A";
sndBonusB = "Bonus Snd B";
sndDeathPianoA = "Death Piano A";
sndDeathPianoB = "Death Piano B";
sndDeathGeneric = "Death Snd-Generic";
sndDeathSpikes = "Spikes Tile Snd";
sndDeathSlime = "Death Snd-Slime";
sndDeathTile = "Death Tile Snd";
sndDeathEaten = "Death Snd-Eaten";
sndEat = "Eating Snd";
sndOminous = "Ominous Piano";
sndShout = "Screaming Snd";
sndThemeA = "Theme Piano A";
sndThemeB = "Theme Piano B";
sndVictoryA = "Victory Piano A";
sndVictoryB = "Victory Piano B";
passCharsRange = "0Q14H567X89ABCDEFJ2RV3WZ";
soundOn = true;
allClips = new Object();
retirees = new Object();
nextUniqueClipId = 1;
tileDefs = new Object();
makeTileDef("0", -1, false, null, null, 0);
makeTileDef(")", -1, true, null, null, 0);
makeTileDef("1", 0, true, "brick", null, 0);
makeTileDef("2", -2, true, "gravel", null, 0);
makeTileDef("3", 8, true, "stone", null, 0);
makeTileDef("4", 23, true, null, null, 0);
makeTileDef("5", -2, true, "cgravel", null, 0);
makeTileDef("6", -1, true, null, null, 0);
makeTileDef("7", -1, false, "msolid", null, 0);
makeTileDef("8", -1, true, "msolid", null, 0);
makeTileDef("g", 8, false, null, null, 0);
makeTileDef("h", 26, false, null, null, 0);
makeTileDef("i", 27, false, null, null, 0);
makeTileDef("j", 28, false, null, null, 0);
makeTileDef("k", 29, false, null, null, 0);
makeTileDef("l", 30, false, null, null, 0);
makeTileDef("m", 31, false, null, null, 0);
makeTileDef("z", -1, false, null, "Soul", 1);
makeTileDef("A", -1, false, null, "EyeCreature", 1);
makeTileDef("B", -1, false, null, "EyeCreature", 2);
makeTileDef("C", -1, false, null, "EyeCreature", 3);
makeTileDef("D", -1, false, null, "Slime", 1);
makeTileDef("E", -1, false, null, "Slime", 2);
makeTileDef("F", -1, false, null, "Slime", 3);
makeTileDef("G", -1, false, null, "Chomper", 1);
makeTileDef("H", -1, false, null, "Chomper", 2);
makeTileDef("I", -1, false, null, "Chomper", 3);
makeTileDef("J", -1, false, null, "Smiley", 1);
makeTileDef("K", -1, false, null, "Smiley", 2);
makeTileDef("L", -1, false, null, "Smiley", 3);
makeTileDef("M", -1, false, null, "FloaterV", 1);
makeTileDef("N", -1, false, null, "FloaterV", 2);
makeTileDef(":", -1, false, null, "FloaterV", 4);
makeTileDef("P", -1, false, null, "FloaterH", 1);
makeTileDef("Q", -1, false, null, "FloaterH", 2);
makeTileDef("R", -1, false, null, "FloaterH", 3);
makeTileDef("S", -1, false, null, "Demon", 1);
makeTileDef("T", -1, false, null, "Demon", 2);
makeTileDef("U", -1, false, null, "Demon", 3);
makeTileDef("{", 22, false, null, "Satan", 1);
makeTileDef("a", 13, false, "rleft", null, 0);
makeTileDef("b", 14, false, "resurrect", null, 0);
makeTileDef("c", 15, false, "rright", null, 0);
makeTileDef("d", 10, false, "rleft", null, 0);
makeTileDef("e", 11, false, "resurrect", null, 0);
makeTileDef("f", 12, false, "rright", null, 0);
makeTileDef("9", 24, true, "death", null, 0);
makeTileDef("~", 25, true, "death", null, 0);
makeTileDef("*", -1, false, "goal", null, 0);
makeTileDef("!", 9, false, "spikes", null, 0);
makeTileDef("$", 16, false, "arwl1", null, 0);
makeTileDef("%", 17, false, "arwl2", null, 0);
makeTileDef("^", 18, false, "arwr1", null, 0);
makeTileDef("&", 19, false, "arwr2", null, 0);
makeTileDef("(", 20, false, "arwup", null, 0);
makeTileDef("@", 21, false, "bonusA", null, 0);
makeTileDef("#", 22, false, "bonusB", null, 0);
stoneTileDef = tileDefs[51];
circlePanelX = 401;
circlePanelY = 192;
livesPanelX = 402;
livesPanelY = 229;
soulsPanelX = 403;
soulsPanelY = 295;
hungerLabelX = 404;
hungerLabelY = 346;
hungerBarX = 402;
hungerBarY = 369;
console = null;
levelBeginnings = [[0, 9], [0, 9], [8, 10], [0, 19], [4, 4], [0, 29], [0, 96], [0, 39], [6, 54], [0, 49], [12, 72], [0, 59], [0, 51], [0, 69], [1, 2], [0, 79], [1, 98], [0, 50]];
creatureSpawnRadius = 5;
creatureShoutedUnspawnRadius = 280;
creatureUnspawnRadius = 480;
soulWalk = 4;
soulFall = 8;
slimeSpeeds = [1, 2, 4];
slimeSeeSpeeds = [4, 5, 8];
eyeSpeeds = [2, 4, 5];
eyeFlapFrames = [[36, 39, 45, 39], [37, 40, 46, 40], [38, 41, 47, 41]];
eyeShoutFrames = [48, 50, 49, 50];
floaterSpeeds = [4, 5, 8, 2];
floaterFrames = [8, 17, 26, 35];
floaterShoutFrames = [44, 53, 62];
chomperSpeeds = [2, 4, 8];
smileySpeeds = [2, 3, 4];
smileyFrames = [7, 16, 25, 34];
smileyShoutFrames = [43, 52, 61];
demonSpeeds = [2, 4];
demonFallSpeed = 10;
brickCrumble = [0, 1, 2, 1, 0, 1, 2, 1, 0, 6, 7, 8, 9, 10, 11];
gravelCrumble = [12, 13, 14, 13, 12, 13, 14, 13, 12, 15, 16, 17];
stoneCrumble = [3, 3, 4, 4, 5, 5, 4, 4, 3, 3, 4, 4, 5, 5];
spikesCrumble = [18, 19, 18, 19, 18, 19, 20, 21, 22, 23];
gravity = 3;
walkSpeed = 7;
topSpeed = 30;
jumpNudgeSpeed = 4;
billInsetH = 12;
billInsetV = 8;
highJumpImpetus = 26;
wideJumpImpetus = 21;
wideJumpVelocity = 9;
arrowSmallAcc = 3;
arrowLargeAcc = 6;
arrowUpAcc = 4;
arrowUpTop = 28;
boredom = 400;
shoutFrames = [2, 5, 8, 11, 8, 11, 8, 11, 8, 11, 8, 11, 8, 11, 8, 5, 2];
eatFrames = [15, 16, 17, 18, 19, 20, 21, 22, 23, 22, 21, 20, 21, 22, 23, 22, 21, 20, 21, 22, 23];
deathFrames = [[0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8], [0, 1, 2, 3, 2, 4, 2, 3, 2, 4, 2, 3, 2, 4, 2, 5, 5, 5, 6, 6, 6, 7, 7, 7, 8, 8, 8, -100, -100, -100, -100], [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 8, 8, 8], [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, -100, -100, -100, -100, -100, -100], [0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, -100, -100, -100, -100, -100, -100]];
recoverFrames = [[0, 1, 2, 3, 4, 5, 6, 7, 8], [0, 1, 2, 6, 6, 7, 7], [0, 1, 2, 3, 4, 5, 6, 7, 8], [0, 1, 2, 3, 4, 5, 6, 7, 8]];
lastLevel = 18;
cheatEnabled = false;
lastTimer = 0;
frameRate = 0;
_quality = "LOW";
Stage.scaleMode = "noScale";
Frame 39
gotoAndPlay (48);
Frame 57
soundToggler.gotoAndStop((soundOn ? 1 : 2));
Frame 82
stop();
Frame 84
gameOver = null;
gameLoop();
if (gameOver == null) {
gotoAndPlay (83);
} else if (gameOver == "Victory") {
gotoAndPlay (202);
} else if (gameOver == "LevelPassword") {
gotoAndPlay (249);
} else {
gotoAndPlay (230);
}
Frame 93
function tryPassword() {
var lp = loadPassword.toUpperCase();
if (lp == "KATARINA") {
rightness.play();
cheatEnabled = true;
return(undefined);
}
var passwordResult = decodePassword(lp);
if (passwordResult != null) {
loadGame(passwordResult.level, passwordResult.lives, passwordResult.souls);
gotoAndPlay (83);
} else {
wrongness.play();
}
}
Selection.setFocus("_root.loadPassword");
stop();
Frame 117
stop();
Frame 130
gotoAndStop (82);
Frame 145
stop();
Frame 160
stop();
Frame 173
gotoAndStop (82);
Frame 188
stop();
Frame 201
gotoAndStop (82);
Frame 216
stop();
Frame 229
gotoAndStop (82);
Frame 248
gotoAndStop (82);
Frame 258
stop();
Frame 267
calcStartSquare(level.num + 1);
enterLevel(level.num + 1, false);
gameLoop();
playSound(sndThemeB);
gotoAndPlay (83);
Symbol 154 MovieClip [Satan] Frame 212
stop();
_root.bill.beatLevel = true;
Symbol 174 Button
on (press) {
_parent.toggleSound();
}
Symbol 177 Button
on (press) {
_parent.toggleSound();
}
Symbol 178 MovieClip Frame 1
stop();
Symbol 178 MovieClip Frame 2
stop();
Symbol 185 Button
on (release) {
getURL ("http://www.somegames.net", "somegames");
}
Symbol 192 Button
on (release, keyPress "n") {
menuClickNew();
}
Symbol 199 Button
on (release, keyPress "l") {
menuClickLoad();
}
Symbol 206 Button
on (release, keyPress "s") {
menuClickStory();
}
Symbol 213 Button
on (release, keyPress "i") {
menuClickInstructions();
}
Symbol 220 Button
on (release, keyPress "h") {
menuClickAbout();
}
Symbol 221 MovieClip Frame 1
function menuClickNew() {
_parent.newGame();
_parent.gotoAndPlay("Game");
}
function menuClickLoad() {
_parent.gotoAndPlay("Load Game");
}
function menuClickInstructions() {
_parent.gotoAndPlay("Instructions");
}
function menuClickStory() {
_parent.gotoAndPlay("Story");
}
function menuClickAbout() {
_parent.gotoAndPlay("History");
}
Symbol 230 Button
on (release, keyPress "<Escape>") {
cancellation.play();
}
on (keyPress "<Left>") {
cancellation.play();
}
Symbol 234 Button
on (release, keyPress "<Enter>") {
tryPassword();
}
on (keyPress "<Space>") {
tryPassword();
}
on (keyPress "<Right>") {
tryPassword();
}
Symbol 235 MovieClip Frame 13
stop();
Symbol 237 MovieClip Frame 1
stop();
Symbol 239 MovieClip Frame 1
stop();
Symbol 239 MovieClip Frame 14
_parent.gotoAndStop("Main Screen");
Symbol 241 MovieClip Frame 1
stop();
Symbol 245 Button [Black Rect]
on (press, release, keyPress "<Space>") {
play();
}
on (keyPress "<Enter>") {
play();
}
Symbol 265 Button
on (press, release, keyPress "<Space>") {
play();
}
on (keyPress "<Enter>") {
play();
}
on (keyPress "<Right>") {
play();
}