p5.disableFriendlyErrors = true;
var displayText = ["", "", ""];
var textDots = [false, false, false];
var soundUnCrippled = false;
areas[0].img = loadImage("area0.png");
areas[1].img = loadImage("area1.png");
areas[2].img = loadImage("area2.png");
areas[3].img = loadImage("area3.png");
areas[4].img = loadImage("area4.png");
areas[5].img = loadImage("area5.png");
areas[6].img = loadImage("area6.png");
areas[7].img = loadImage("area7.png");
areas[8].img = loadImage("area8.png");
areas[9].img = loadImage("area9.png");
areas[10].img = loadImage("area10.png");
areas[11].img = loadImage("area11.png");
areas[12].img = loadImage("area12.png");
areas[13].img = loadImage("area13.png");
areas[14].img = loadImage("area14.png");
areas[15].img = loadImage("area15.png");
player[0] = loadImage("down.png");
player[1] = loadImage("left.png");
player[2] = loadImage("up.png");
player[3] = loadImage("right.png");
textBox = loadImage("newTextBox.png");
title = loadImage("Title.png")
font = loadFont("font.ttf");
music[0] = loadSound("music1.mp3");
music[1] = loadSound("music2.mp3");
music[2] = loadSound("music7.mp3");
music[3] = loadSound("music11.mp3");
music[4] = loadSound("music14.mp3");
s = min(floor(windowWidth / 256), floor(windowHeight / 224))
mobile = !window.mobilecheck()
s = min(windowWidth / 256, windowHeight / 224)
createCanvas(256 * s, 224 * s);
if(frameCount>100&&!goText&&area===0&&trans<1&&!debug){
runText(["-Go to the door."])
if(frameCount>600&&!readText&&trans<1&&!debug){
runText(["-You can read some signs"," with the ''r'' key."])
image(areas[area].img, -round(x - 128) * s, -round(y - 112) * s, areas[area].img.width * s, areas[area].img.height * s);
image(player[floor(a) % 4], width / 2, height / 2, 16 * s, 24 * s);
text((round(x + floor(mouseX / s) - 128)) + ", " + (round(y + floor(mouseY / s) - 112)), 10, 40);
text(frameCount, 10, 84);
image(title,0,0,width,height);
background(0, 512 - trans);
if (trans > 246 && move.e) {
bm=min(width,height)/(max(width/height,height/width)+1.2)
um=mobile&&mouseIsPressed&&mouseY<bm
dm=mobile&&mouseIsPressed&&mouseY>height-bm
lm=mobile&&mouseIsPressed&&mouseX<bm
rm=mobile&&mouseIsPressed&&mouseX>width-bm
var speedB = 1.424 * 1.424 * speed;
if (keyDown(LEFT_ARROW) || keyDown("a")||lm) {
} else if (keyDown(RIGHT_ARROW) || keyDown("d")||rm) {
if (keyDown(DOWN_ARROW) || keyDown("s")||dm) {
} else if (keyDown(UP_ARROW) || keyDown("w")||um) {
if (keyDown(LEFT_ARROW) || keyDown("a")||lm) {
} else if (keyDown(RIGHT_ARROW) || keyDown("d")||rm) {
if (keyDown(DOWN_ARROW) || keyDown("s")||dm) {
} else if (keyDown(UP_ARROW) || keyDown("w")||um) {
rect(1400 * s - round(x - 128) * s, -112 * s - round(y - 112) * s, 1000 * s, 112 * s);
if (x < 0 || y < 0 || x > areas[area].img.width || y > areas[area].img.height) {
for (var i = 0; i < areas[area].phys.length; i++) {
var phy = areas[area].phys[i];
fill(random(63, 255), random(63, 255), random(63, 255), 196);
rect(phy.x * s - x * s + 128 * s, phy.y * s - y * s + 112 * s, phy.w * s, phy.h * s);
if (x >= phy.x && y >= phy.y && x <= phy.x + phy.w && y <= phy.y + phy.h) {
image(textBox, width - textBox.width * s - 8 * s, 8 * s, textBox.width * s, textBox.height * s);
if (textNow[textY][0] == "-") {
if (textY > 0 && textX === 0) {
displayText[textDL] += textNow[textY][textX + shift];
if (textX >= textNow[textY].length - shift) {
if (textY >= textNow.length) {
displayText[0] = displayText[1]
displayText[1] = displayText[2]
textDots[0] = textDots[1]
textDots[1] = textDots[2]
rect(104 * s, 18 * s, s, s * 2);
rect(105 * s, 17 * s, s, s * 4);
rect(106 * s, 18 * s, s, s * 2);
rect(104 * s, 34 * s, s, s * 2);
rect(105 * s, 33 * s, s, s * 4);
rect(106 * s, 34 * s, s, s * 2);
rect(104 * s, 50 * s, s, s * 2);
rect(105 * s, 49 * s, s, s * 4);
rect(106 * s, 50 * s, s, s * 2);
text(displayText[0], 110 * s, 23 * s)
text(displayText[1], 110 * s, 39 * s)
text(displayText[2], 110 * s, 55 * s)
if (!soundUnCrippled&&frameCount>5) {
if (textRunning == false) {
if (textY >= textNow.length) {
displayText[textDL] += textNow[textY][textX + 1];
function mousePressed() {
if (!soundUnCrippled&&frameCount>5) {
if (textRunning == false) {
if (textY >= textNow.length) {
displayText[textDL] += textNow[textY][textX + 1];
displayText = ["", "", ""];
textDots = [false, false, false];
window.mobilecheck = function() {
(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4))) check = true;})(navigator.userAgent||navigator.vendor||window.opera);