/*
Fall ist ein Objekt herunterfallender Zahlen.
Es wird benutzt um die Position und zeichen der einzelnen herunterfallenden Zeichenketten zu speichern
*/
function fall(x) {
this.X = x;
this.Y = 0;
this.char_numb = 7;
this.charrange = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
this.chars = new Array(this.char_numb);
this.randomizeChars = function() {
for(var i=0; i<this.char_numb; i++) {
this.chars[i] = this.charrange[Math.floor(this.charrange.length*Math.random())];
}
}
this.inc1Y = function() {
this.Y++;
}
this.isY = function( val ) {
if (val <= this.Y && val >= this.Y-this.char_numb) return true;
else return false;
}
this.getCharForY = function( y ) {
var numb = this.Y-y;
if (numb <= 0 && numb >= 6) { return this.chars[numb]; }
return "!";
}
this.next = function() {
this.randomizeChars();
this.inc1Y();
}
this.printChars = function() {
var back = "";
for ( var i=0; i<this.char_numb; i++) {
back += this.chars[i];
}
return back;
}
//Onload
this.randomizeChars();
}
/********************************************************************************************/
/*
Animantion steuert die animation
*/
function animation() {
var weite=window.innerWidth;
var wrest=weite%12;
var wrund=weite-wrest;
this.zeichen=wrund/12;
var hoehe=window.innerHeight;
var hrest=hoehe%12;
var hrund=hoehe-hrest;
this.zeilen=hrund/12;
//Wichtige Variabeln
this.falls = new Array();
//Onload
document.getElementById("body").innerHTML="<textarea rows='"+this.zeilen+"' cols='"+this.zeichen+"' name='Textbox' id='Textbox'></textarea>";
this.run = function() {
}
this.addFall = function() {
var fall = new fall(0);
this.falls.push(fall);
}
this.makeFrame = function() {
var out = "";
//Schleife die die Zeilen durchläft
for (var i=0; i<this.zeilen; i++) {
//Schleife die die Zeichendurchläuft
for (var j=0; j<this.zeichen; j++) {
//Schleife die alle falls durchläuft
for (var k=0; k<this.falls.length; k++) {
if(falls[k].X == j && falls[k].Y == i) out += falls[k].getCharForY(i);
}
out += " ";
}
out += "\n";
}
return out;
}
}