Frame 1
stop();
_root.bg.bgcolor("0x000066");
if (_root.i != undefined) {
nextFrame();
}
Instance of Symbol 14 MovieClip "r" in Frame 1
onClipEvent (load) {
gr = 50;
}
onClipEvent (enterFrame) {
scale = scale + 10;
if (_parent.overroll) {
gr = gr + 0.3;
speed = speed + 1;
}
gr = (50 + (gr * 12)) / 13;
speed = 10;
d._rotation = d._rotation + speed;
g = (((Math.abs(d._rotation) * Math.abs(65 - _xscale)) / 250) + gr) + (((-_xscale) + 75) / 50);
f.d._xscale = (100 / _xscale) * g;
f.d._yscale = (g / _yscale) * 100;
f._rotation = d._rotation;
f.d._rotation = -f._rotation;
_parent.r.gotoAndStop(Math.round(speed * 10));
}
Instance of Symbol 17 MovieClip "narf" in Frame 1
onClipEvent (enterFrame) {
_parent.gotoAndStop(1);
lod = _parent.getBytesLoaded();
tot = _parent.getBytesTotal();
center = Math.round((lod / tot) * 1000000) / 10000;
if (tex == "100%") {
narf++;
if (narf > 10) {
_parent.gotoAndStop(2);
}
}
cent = ((cent * 2) + center) / 3;
tex = (Math.round(cent * 10000) / 10000) + "%";
_parent.byte = (Math.round((tot / 1024) * 100) / 100) + "KB";
}
onClipEvent (load) {
cent = 0;
narf = 0;
}
Frame 2
_root.bg.bgcolor("0x000066");
if (_root.lang == undefined) {
_root.lang = 0;
}
stop();
if (_root.lang == 0) {
if (_root.tex1 == "-1-") {
_root.tex = "You lost!";
} else if (_root.tex1 == "-2-") {
_root.tex = "You won!";
} else {
_root.tex = "";
}
tex1 = "You are the left Line!\n\nThis game has basic Ping Pong rules, and advanced physics.\n\nControls: mouse click and mouse y-position.\n\nPlay a game about Points.";
} else {
if (_root.tex1 == "-1-") {
_root.tex = "Der Computer hat gewonnen!";
} else if (_root.tex1 == "-2-") {
_root.tex = "Du hast gewonnen!";
} else {
_root.tex = "";
}
tex1 = "Du bist die link Linie!\n\nDies ist ein ganz normales Ping Pong Spiel, mit dynamischer Physik\n\nSteuerung: Maus Klick und Y Position.\n\nZielpunkte:";
}
Instance of Symbol 28 MovieClip "a" in Frame 3
onClipEvent (load) {
ypos2 = 0;
_parent.tex = 0;
_parent.tex1 = 0;
op = 1.2;
op2 = 0.8;
schwabbel = 1;
rob = 0.9;
ber = 0;
e = 0;
a = 0;
xp = new Array((275 + Math.random()) - 0.5, 250, 300, 100, 100, 450, 450);
yp = new Array((200 + Math.random()) - 0.5, 250, 250, 150, 250, 150, 250);
sizor = new Array(20, 20, 20, 20, 20, 20, 20);
sp = new Array(1, 2, 0, 0, 1, 2, 4, 3, 5, 6);
ep = new Array(0, 1, 2, 1, 2, 0, 3, 4, 6, 5);
ballz = xp.length;
strichz = sp.length;
xbew = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
ybew = new Array(0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
xb = new Array();
yb = new Array();
slang = new Array(35, 35, 35, 35, 35, 35);
spower = 40;
slang2 = new Array(strichz);
the_count = new Array(ballz);
a = 0;
while (a < strichz) {
slang2[a] = slang[a];
if ((the_count[ep[a]] * 1) > 0) {
the_count[ep[a]] = (the_count[ep[a]] * 1) + 1;
} else {
the_count[ep[a]] = 2;
}
if ((the_count[sp[a]] * 1) > 0) {
the_count[sp[a]] = (the_count[sp[a]] * 1) + 1;
} else {
the_count[sp[a]] = 2;
}
a++;
}
e = 0;
while (e < ballz) {
ybew[e] = ((Math.random() * 0.1) - 0.05) * 0.03;
xbew[e] = ((Math.random() * 0.1) - 0.05) * 0.03;
e++;
}
md = 0;
}
onClipEvent (mouseDown) {
md = 1;
}
onClipEvent (mouseUp) {
md = 0;
}
onClipEvent (enterFrame) {
createEmptyMovieClip("fill", 10000);
fill.lineStyle(1.5, 16777215);
fill.moveTo(xp[0], yp[0]);
fill.beginFill(16777215, 30);
fill.lineTo(xp[1], yp[1]);
fill.lineTo(xp[2], yp[2]);
fill.endFill();
fill.moveTo(xp[3], yp[3]);
fill.lineTo(xp[4], yp[4]);
fill.moveTo(xp[5], yp[5]);
fill.lineTo(xp[6], yp[6]);
xpos = ((xp[0] + xp[1]) + xp[2]) / 3;
ypos = ((yp[0] + yp[1]) + yp[2]) / 3;
if ((xpos < 25) or (xpos > 525)) {
stex = "k6.mp3";
xp[0] = (275 + Math.random()) - 0.5;
yp[0] = (200 + Math.random()) - 0.5;
xp[1] = 250;
yp[1] = 250;
xp[2] = 300;
yp[2] = 250;
xbew[0] = 0;
ybew[0] = 0;
xbew[1] = 0;
ybew[1] = 0;
xbew[2] = 0;
ybew[2] = 0;
if (xpos < 275) {
_parent.tex1++;
if (_parent.tex1 >= _parent.mp) {
_parent.tex1 = "-1-";
prevf = true;
stex = "k12.mp3";
}
} else {
_parent.tex++;
if (_parent.tex >= _parent.mp) {
_parent.tex1 = "-2-";
prevf = true;
stex = "k12.mp3";
}
}
if (_parent.soundon) {
_parent.sound1 = new Sound(this);
_parent.sound1.setVolume(100);
_parent.sound1.attachSound(stex, true);
_parent.sound1.start(0, 1);
}
if (prevf) {
_parent.prevFrame();
}
xpos = xp[0];
}
if (xpos > 450) {
md2 = 0;
} else {
md2 = 1;
}
ypos2 = ((ypos2 * 9) + Math.max(70, Math.min(330, ypos))) / 10;
xbew[5] = xbew[5] + ((((450 + (50 * md2)) - xp[5]) - xbew[5]) * 0.35);
xbew[6] = xbew[6] + ((((450 + (50 * md2)) - xp[6]) - xbew[6]) * 0.35);
ybew[5] = ybew[5] + ((((ypos2 + 50) - yp[5]) - ybew[5]) * 0.35);
ybew[6] = ybew[6] + ((((ypos2 - 50) - yp[6]) - ybew[6]) * 0.35);
if (xpos < 275) {
xpos = -0.05;
} else {
xpos = 0.05;
}
ypos = 0;
e = 0;
while (e < 3) {
xbew[e] = xbew[e] + xpos;
ybew[e] = ybew[e] + ypos;
e++;
}
ymouse = Math.max(70, Math.min(330, _ymouse));
xbew[3] = xbew[3] + ((((50 + (50 * md)) - xp[3]) - xbew[3]) * 0.35);
xbew[4] = xbew[4] + ((((50 + (50 * md)) - xp[4]) - xbew[4]) * 0.35);
ybew[3] = ybew[3] + ((((ymouse + 50) - yp[3]) - ybew[3]) * 0.35);
ybew[4] = ybew[4] + ((((ymouse - 50) - yp[4]) - ybew[4]) * 0.35);
maxp = 0;
e = 0;
while (e < ballz) {
ybew[e] = ybew[e] + (((Math.random() * 0.1) - 0.05) * 0.03);
xbew[e] = xbew[e] + (((Math.random() * 0.1) - 0.05) * 0.03);
e++;
}
done = 0.01;
while (done < 1) {
t3 = 1 - done;
e = 0;
while (e < ballz) {
a = 0;
while (a < strichz) {
if ((((ep[a] != e) && (sp[a] != e)) && ((Math.abs(xp[e] - ((xp[ep[a]] + xp[sp[a]]) / 2)) - (Math.abs(xp[sp[a]] - xp[ep[a]]) / 2)) < (((Math.abs(xbew[e]) + Math.abs(xbew[ep[a]])) + Math.abs(xbew[sp[a]])) * 2))) && ((Math.abs(yp[e] - ((yp[ep[a]] + yp[sp[a]]) / 2)) - (Math.abs(yp[sp[a]] - yp[ep[a]]) / 2)) < (((Math.abs(ybew[e]) + Math.abs(ybew[ep[a]])) + Math.abs(ybew[sp[a]])) * 2))) {
t = 100;
tak = "no";
alpha = (((((xbew[ep[a]] * ybew[sp[a]]) - (ybew[e] * xbew[ep[a]])) - (xbew[e] * ybew[sp[a]])) - (ybew[ep[a]] * xbew[sp[a]])) + (ybew[ep[a]] * xbew[e])) + (ybew[e] * xbew[sp[a]]);
beta = (((((((((((((xp[ep[a]] * ybew[sp[a]]) - (xp[ep[a]] * ybew[e])) + (yp[sp[a]] * xbew[ep[a]])) - (yp[e] * xbew[ep[a]])) - (xp[e] * ybew[sp[a]])) + (xp[e] * ybew[e])) - (xbew[e] * yp[sp[a]])) - (yp[ep[a]] * xbew[sp[a]])) + (yp[ep[a]] * xbew[e])) + (yp[e] * xbew[sp[a]])) - (xp[sp[a]] * ybew[ep[a]])) + (xp[e] * ybew[ep[a]])) + (xp[sp[a]] * ybew[e])) - (xp[e] * ybew[e]);
lambda = (((((((yp[sp[a]] * xp[ep[a]]) - (yp[e] * xp[ep[a]])) - (xp[e] * yp[sp[a]])) + (yp[e] * xp[e])) - (yp[ep[a]] * xp[sp[a]])) + (yp[ep[a]] * xp[e])) + (yp[e] * xp[sp[a]])) - (yp[e] * xp[e]);
lambda = Math.sqrt((beta * beta) - ((4 * alpha) * lambda));
t1 = ((-beta) + lambda) / (2 * alpha);
t2 = ((-beta) - lambda) / (2 * alpha);
alpha = ((xp[sp[a]] - xp[e]) + ((xbew[sp[a]] - xbew[e]) * t2)) / ((xp[ep[a]] - xp[e]) + ((xbew[ep[a]] - xbew[e]) * t2));
lambda = ((xp[sp[a]] - xp[e]) + ((xbew[sp[a]] - xbew[e]) * t1)) / ((xp[ep[a]] - xp[e]) + ((xbew[ep[a]] - xbew[e]) * t1));
if (((t1 < t2) && (t1 > 0)) && (lambda < 0)) {
tak = "t1";
t = t1;
beta = lambda;
} else if ((t2 > 0) && (alpha < 0)) {
tak = "t2";
t = t2;
beta = alpha;
}
if ((t <= (1 - done)) && (tak != "no")) {
t3 = Math.min(t, t3);
if (t == t3) {
the_e = e;
the_a = a;
the_beta = beta;
}
}
}
a++;
}
e++;
}
if (t3 != (1 - done)) {
e = 0;
while (e < ballz) {
xp[e] = xp[e] + (xbew[e] * (t3 * 0.99));
yp[e] = yp[e] + (ybew[e] * (t3 * 0.99));
e++;
}
e = the_e;
a = the_a;
beta = the_beta;
beta = 1 - (1 / (1 - beta));
xbewenf = (xbew[e] - (xbew[sp[a]] * (1 - beta))) - (xbew[ep[a]] * beta);
ybewenf = (ybew[e] - (ybew[sp[a]] * (1 - beta))) - (ybew[ep[a]] * beta);
xenf = xp[sp[a]] - xp[ep[a]];
yenf = yp[sp[a]] - yp[ep[a]];
p = Math.sqrt((ybewenf * ybewenf) + (xbewenf * xbewenf));
enf = Math.sqrt((yenf * yenf) + (xenf * xenf));
w = xenf / enf;
if ((-yenf) > 0) {
lambda = 180 + (Math.asin(w) / 0.0174532777777778);
} else {
lambda = -(Math.asin(w) / 0.0174532777777778);
}
w = ybewenf / p;
if (xbewenf > 0) {
alpha = 180 + (Math.asin(w) / 0.0174532777777778);
} else {
alpha = -(Math.asin(w) / 0.0174532777777778);
}
alpha = alpha - lambda;
alpha = Math.abs(alpha);
if (Math.abs(alpha) > 180) {
alpha = alpha - 360;
}
if (Math.abs(alpha) > 90) {
xenf = -xenf;
yenf = -yenf;
}
xbewenf = ((-yenf) / enf) * p;
ybewenf = (xenf / enf) * p;
beta = 1 - beta;
xbew[e] = xbew[e] - (xbewenf * op);
ybew[e] = ybew[e] - (ybewenf * op);
xbew[sp[a]] = xbew[sp[a]] + ((xbewenf * beta) * op);
ybew[sp[a]] = ybew[sp[a]] + ((ybewenf * beta) * op);
xbew[ep[a]] = xbew[ep[a]] + ((xbewenf * (1 - beta)) * op);
ybew[ep[a]] = ybew[ep[a]] + ((ybewenf * (1 - beta)) * op);
xbew[e] = xbew[e] * op2;
ybew[e] = ybew[e] * op2;
xbew[sp[a]] = xbew[sp[a]] * op2;
ybew[sp[a]] = ybew[sp[a]] * op2;
xbew[ep[a]] = xbew[ep[a]] * op2;
ybew[ep[a]] = ybew[ep[a]] * op2;
if (_parent.soundon) {
_parent.quietsch.play();
}
} else {
e = 0;
while (e < ballz) {
xp[e] = xp[e] + (xbew[e] * (1 - done));
yp[e] = yp[e] + (ybew[e] * (1 - done));
e++;
}
}
done = done + t3;
}
e = 0;
while (e < ballz) {
if (xp[e] > 550) {
back = (xp[e] - 550) / xbew[e];
xp[e] = xp[e] - (xbew[e] * back);
yp[e] = yp[e] - ((ybew[e] * back) * 0.5);
xbew[e] = xbew[e] * (-rob);
ybew[e] = ybew[e] * rob;
}
if (xp[e] < 0) {
back = xp[e] / xbew[e];
xp[e] = xp[e] - (xbew[e] * back);
yp[e] = yp[e] - ((ybew[e] * back) * 0.5);
xbew[e] = xbew[e] * (-rob);
ybew[e] = ybew[e] * rob;
}
if (yp[e] > 400) {
back = (yp[e] - 400) / ybew[e];
xp[e] = xp[e] - ((xbew[e] * back) * 0.5);
yp[e] = yp[e] - (ybew[e] * back);
ybew[e] = ybew[e] * (-rob);
xbew[e] = xbew[e] * rob;
}
if (yp[e] < 0) {
back = yp[e] / ybew[e];
xp[e] = xp[e] - ((xbew[e] * back) * 0.5);
yp[e] = yp[e] - (ybew[e] * back);
ybew[e] = ybew[e] * (-rob);
xbew[e] = xbew[e] * rob;
}
yb[e] = ybew[e];
xb[e] = xbew[e];
e++;
}
a = 3;
while (a < 6) {
ber = schwabbel / the_count[ep[a]];
ber1 = schwabbel / the_count[sp[a]];
yenf = ((yp[sp[a]] + (yb[sp[a]] * ber1)) - yp[ep[a]]) - (yb[ep[a]] * ber);
xenf = ((xp[sp[a]] + (xb[sp[a]] * ber1)) - xp[ep[a]]) - (xb[ep[a]] * ber);
enf = Math.sqrt((yenf * yenf) + (xenf * xenf));
enfspeed = slang2[a] - enf;
if (enf == 0) {
p = spower / 5;
xenf = 1;
enf = 1;
} else {
p = (-(slang[a] - enf)) * (0.4 / schwabbel);
if (Math.abs(p) > 5) {
p = p * 2;
}
if (p != 0) {
p = (Math.min(Math.abs(p), spower / 5) * Math.abs(p)) / p;
}
}
maxp = maxp + Math.abs(p);
verh = sizor[ep[a]] / sizor[sp[a]];
ybew[ep[a]] = ybew[ep[a]] + (((yenf / enf) * p) / verh);
xbew[ep[a]] = xbew[ep[a]] + (((xenf / enf) * p) / verh);
xbew[sp[a]] = xbew[sp[a]] - (((xenf / enf) * p) * verh);
ybew[sp[a]] = ybew[sp[a]] - (((yenf / enf) * p) * verh);
slang2[a] = Math.round(enf * 10);
a++;
}
}
Instance of Symbol 35 MovieClip "m" in Frame 3
onClipEvent (mouseDown) {
if (_parent.m.hitTest(_parent._xmouse, _parent._ymouse, true)) {
if (!_parent.soundon) {
_parent.soundon = true;
} else {
_parent.soundon = false;
}
}
}
onClipEvent (enterFrame) {
if (_parent.soundon) {
prevFrame();
} else {
nextFrame();
}
sound1.setVolume((100 * (30 - _currentframe)) / 29);
sound2.setVolume((100 * (30 - _currentframe)) / 29);
}
onClipEvent (load) {
_parent.soundon = true;
sound1 = new Sound(this);
sound1.setVolume(100);
sound1.attachSound("quietsch.wav", true);
sound2 = new Sound(this);
sound2.setVolume(100);
sound2.attachSound("k4.mp3", true);
sound2.start(0, 1);
}
Instance of Symbol 10 MovieClip "d" in Symbol 14 MovieClip Frame 1
onClipEvent (enterFrame) {
_rotation = (_rotation + _root.dreh);
}
Symbol 20 Button
on (press) {
if (_root.i != undefined) {
_root.gotoAndStop(4);
_root.pag.gotoAndStop(4);
} else {
getURL ("http://www.komix-games.com", "_blank");
}
}
Symbol 27 Button
on (release) {
nextFrame();
}
Symbol 36 MovieClip Frame 1
stop();
Symbol 36 MovieClip Frame 2
_parent.m.sound1.start(0, 1);