ARTLEBEDEV

Схема одной из квартир Green House

Анатолий Зенков (Batch) дни и ночи напролет работал над «интерактивными» планами квартир для сайта, посвященного строящемуся жилому комплексу Green House корпорации «Юниформстрой».

В работе над передвижением кота активно использовалась теорема Пифагора. Кот пугается мыши и убегает от нее.

Двери тоже реагируют на курсор, открываясь при его приближении.

По квартире можно перемещать любые объекты, кроме сантехнических. Если нажать на картинку карандаша, можно попасть в режим редактирования плана: стены подвигать, то-се, туда-сюда.

Стрелки перемещают план, плюс с минусом выполняют привычные для себя функции увеличения и уменьшения масштаба.


Как перемещается кошка
Как это переводится на русский
if (wdone == false) {
if (cmd<5) {
sitplay = false;
runcheck = true;
wdone = true;
}
cat._x = cat._x+1*xone*g;
cat._y = cat._y+1*yone*g;
if (movecheckruncount-2) {
g = 1;
tellTarget ("cat") {
gotoAndPlay ("walk");
}
};
if (movecheckmovecount-2) {
runcheck = false;
sitcheck = random(700);
if (sitcheck<2) {
wdone = true;
sitplay = false;
tellTarget ("cat") {
gotoAndPlay ("walk");
}
}
if (sitcheck>2) {
if (sitplay == false) {
tellTarget ("cat") {
gotoAndPlay ("sit");
}
sitplay = true;
}
mc = 0;
xone = 0;
yone = 0;
if (cmd<30) {
sitplay = false;
runcheck = true;
wdone = true;
}
}
}
movecheck = movecheck+mc*g;
}

Все изложенное ниже выполнять только в том случае, если кошка все еще направляется туда, куда она собиралась идти (в точку X).
Она смещается по вертикали и горизонтали на один шаг с учетом текущей скорости и коэффициента смещения.
Если вдруг курсор мыши подобрался к кошке менее чем на пять пикселей, кошка полагает, что уже дошла до точки X и теперь ей нужно идти в другое место. Более того, ей нужно туда не идти, а бежать.
Если кошка бежит и пробежала примерно столько шагов, сколько ей отведено пробежать, чтобы успокоиться, то ей следует успокоиться, сбавить скорость до одного шага за раз и изменить походку на неторопливую.
Если кошка идет и уже прошла столько шагов, сколько ей нужно, чтобы добраться до точки X, то ей следует решить, будет ли она отдыхать перед тем как выбрать себе другую точку X (и отправиться к ней). В трех случаях из семисот одного она не останавливается и начинает сразу двигаться в другом направлении.
Если это как раз такой случай, то кошка полагает, что она уже дошла до того места, куда она изначально шла, при этом ей не следует садиться и вообще расслабляться.
Но если это один из тех шестисот девяноста восьми случаев, когда кошка перед очередным перемещением отдыхает, то: во-первых, ей следует (если она еще не сидит) сесть; во-вторых, понимать, что она сидит. При этом количество пройденных кошкой шагов за один раз равно нулю, и нулю же равно смещение животного по вертикали и горизонтали.
Если, пока она сидит, курсор мыши подобрался к ней менее чем на тридцать пикселей, то кошке следует выбрать новую точку, куда она в панике должна переместиться. При этом она должна понимать, что она уже не сидит, а бежит, чтобы сделать все необходимое для того, чтобы бежать.
Наконец, кошке необходимо учесть, что количество пройденных на данный момент шагов увеличивается на столько, сколько она смогла пройти за этот раз, с учетом скорости, с которой она сейчас движется.