alert('Hello, welcome to this game!');
alert('It was developed during the Acagamejam November 2013\nhttp://gamejam.de/\n\nWe tried to get a special achievement and create a game running in IE8 without using special frameworks and librarys.\nSadly, we failed.');
alert('The following game is made for two players.\nPlayer one (black square) uses SPACE-key to move.\nPlayer two uses NUMPAD-0-Key to move.\nWhile key is pressed, the square moves to centre. Otherwise it moves to the windows border.\nThe game lasts 30 seconds. Get the falling items will increase a players score, size and the next items speed.\nPress OK to start the game. Have Fun.');
var Start = Date.now();
var EndTime = Start + 30000;
var S1 = document.getElementById('l_hero');
var S2 = document.getElementById('r_hero');
var B1 = document.getElementById('l_box');
var B2 = document.getElementById('r_box');
var leftKey = 0;
var rightKey = 0;
var step = 5;
//var Timer=2999;//3000*10ms=30000ms=30s
var Ende = false;
//var LIC=1; var RIC=1; //left/right itemcounter
var ScoreL = 0;
var ScoreR = 0;
var speedL = 0.5;
var speedR = 0.5;
var links = 'offsetLeft';
var breite = 'offsetWidth';
var oben = 'offsetTop';
var hoehe = 'offsetHeight';
function initialise() {
S1.style.backgroundColor = 'black';
S1.style.left = 50 + '%';
S2.style.backgroundColor = 'orange';
S2.style.right = 50 + '%';
newItem('l', '1');
newItem('r', '1');
}
function getKeyCode(event) {
event = event || window.event;
return event.keyCode;
}
function setNewKey(e) {
if (getKeyCode(e) == '32') {
leftKey = 1;
}
if (getKeyCode(e) == '96') {
rightKey = 1;
}
//
// moveByKey();
}
function releaseKey(e) {
if (getKeyCode(e) == '32') {
leftKey = 0;
}
if (getKeyCode(e) == '96') {
rightKey = 0;
}
//
// moveByKey();
}
initialise();
function preventEscape() {
if (S2.offsetLeft <= -00) { //Glitch weg. (gibt andere)
S2.style.left = step + 'px';
} else if ((S2.offsetLeft + S2.offsetWidth) >= (B2.offsetWidth)) {
S2.style.left = B2.offsetWidth - S2.offsetWidth + 'px';
} //Rechts einsperren
if (S1.offsetLeft <= step) {
S1.style.left = S1.offsetLeft + step + 'px';
} else if ((S1.offsetLeft + S1.offsetWidth + step) >= (B1.offsetWidth)) {
S1.style.left = (S1.offsetLeft - step) + 'px';
} //Links "einsperren"
}
function preventItemEscape(side, id) {
var item = document.getElementById(side + "_" + id);
if ((item.offsetTop + item.offsetHeight) > B1.offsetHeight) {
delItem(side, id, 0);
}
//S1:
if (((item.offsetLeft + item.offsetWidth) >= (S1.offsetLeft)) && ((item.offsetLeft) <= (S1.offsetLeft + S1.offsetWidth)) && ((item.offsetTop + item.offsetHeight) >= S1.offsetTop) && (side == 'l')) {
delItem(side, id, 1);
}
//S2:
if (((item.offsetLeft + item.offsetWidth) >= (S2.offsetLeft)) && ((item.offsetLeft) <= (S2.offsetLeft + S2.offsetWidth)) && ((item.offsetTop + item.offsetHeight) >= S2.offsetTop) && (side == 'r')) {
delItem(side, id, 1);
}
//Unten einsperren (für Items) (abgehakt)
}
function moveByKey() {
preventEscape();
if ((leftKey == 1) && (rightKey == 1)) {
S1.style.left = S1.offsetLeft + step + 'px';
S2.style.left = S2.offsetLeft - step + 'px';
} else if ((leftKey == 1) && (rightKey == 0)) {
S1.style.left = S1.offsetLeft + step + 'px';
S2.style.left = S2.offsetLeft + step + 'px';
} else if ((rightKey == 1) && (leftKey == 0)) {
S1.style.left = S1.offsetLeft - step + 'px';
S2.style.left = S2.offsetLeft - step + 'px';
} else {
S1.style.left = S1.offsetLeft - step + 'px';
S2.style.left = S2.offsetLeft + step + 'px';
}
}
function newItem(side, id) { //l=links, r=rechts, ...
var item = document.getElementById(side + "_" + id);
item.style.top = 0 + 'px';
//1. item erzeugen: B-width - 32 * random
if (side == 'l') {
item.style.left = (B1.offsetWidth - item.offsetWidth) * Math.random() + 'px';
} else if (side == 'r') {
item.style.left = (B2.offsetWidth - item.offsetWidth) * Math.random() + 'px';
}
//2. Bewegung eingrenzen (später) (abgehakt)
item.style.visibility = 'visible';
item.style.display = 'block';
}
function delItem(side, id, x) {
var item = document.getElementById(side + "_" + id);
item.style.visibility = 'hidden';
item.style.display = 'none';
item.style.top = (0 - item.offsetHeight - 10) + 'px';
item.style.left = (0 + (id - 1) * item.offsetWidth) + 'px';
if (x) {
if (side == 'l') {
if (S1.offsetWidth <= (B1.offsetWidth) * 0.66) {
S1.style.width = S1.offsetWidth + 10 + 'px';
}
ScoreL++;
} else if (side == 'r') {
if (S2.offsetWidth <= (B2.offsetWidth) * 0.83) {
S2.style.width = S2.offsetWidth + 8 + 'px';
}
ScoreR++;
}
}
/*if(side=='l'){LIC++;newItem('l', LIC);}else
if(side=='r'){RIC++;newItem('r', RIC);}*/
if (id != 22) {
newItem(side, id + 1);
} else {
newItem(side, 1);
}
if (side == 'l') {
speedL *= 1.001;
speedL += 0.06;
}
if (side == 'r') {
speedR *= 1.001;
speedR += 0.06;
}
}
function moveItems() {
var LICID = 0;
var RICID = 0;
for (var i = 1; i <= 22; i++) {
if (document.getElementById('l_' + i).style.visibility == 'visible') {
LICID = i;
}
if (document.getElementById('r_' + i).style.visibility == 'visible') {
RICID = i;
}
if ((LICID != 0) && (RICID != 0)) {
break; //Schleife vorzeitig beenden
}
} //Kollisionsabfragen aufrufen:
preventItemEscape('l', LICID);
preventItemEscape('r', RICID);
//Item nach unten bewegen:
var LIC = document.getElementById('l_' + LICID);
var RIC = document.getElementById('r_' + RICID);
LIC.style.top = LIC.offsetTop + speedL * step + 1 + 'px';
RIC.style.top = RIC.offsetTop + speedR * step + 'px';
}
function update(mod) {
/* if((leftKey==0)&&(rightKey==0)){
S1.style.left=S1.offsetLeft-step+'px';
S2.style.left=S2.offsetLeft+step+'px';
}
/**/
moveByKey();
moveItems();
S2.innerHTML = '<p>' + ((EndTime - Date.now()) / 1000) + '</p>';
}
function render() {
}
function run() {
if (((EndTime - Date.now()) > 0)) {
update((Date.now() - time) / 1000);
} else {
if (!Ende) {
alert('And the winner is...');
if (ScoreL > ScoreR) {
alert('Team Black!\n' + ScoreL + ':' + ScoreR);
} else if (ScoreR > ScoreL) {
alert('Team Orange!\n' + ScoreR + ':' + ScoreL);
} else {
alert('The Bank :P');
} /*nervt nur, am ende aber aktivieren!!!*/
alert('Thank you for playing!');
Ende = true;
}
}
//render();
time = Date.now();
}
var time = Date.now();
setInterval(run, 10);
document.onkeydown = setNewKey;
document.onkeyup = releaseKey;