function area(ID){this.ID=ID;this.pojemnosc=10;this.czestotliwosc_katastrof=5;this.sila_katastrof=0.2;this.przepustowosc_korytarza=30;this.osobniki=20;this.rozrodczosc=3;this.smiertelnosc=0.2;this.emigracja=0.3;this.timeLine=[];var lastV=this.osobniki;for(var i=0;i<100;i++)this.timeLine.push(this.osobniki);return this}area.prototype.setPrzepustowoscKorytarza=function setPrzepustowoscKorytarza(przepustowosc_korytarza){this.przepustowosc_korytarza=przepustowosc_korytarza*1}; area.prototype.setSilaKatastrof=function setSilaKatastrof(sila_katastrof){this.sila_katastrof=sila_katastrof*1};area.prototype.setCzestotliwoscKatastrof=function setCzestotliwoscKatastrof(czestotliwosc_katastrof){this.czestotliwosc_katastrof=czestotliwosc_katastrof*1};area.prototype.setPojemnosc=function setPojemnosc(pojemnosc){this.pojemnosc=pojemnosc*1};area.prototype.setOsobniki=function setOsobniki(osobniki){this.osobniki=osobniki*1}; area.prototype.setRozrodczosc=function setRozrodczosc(rozrodczosc){this.rozrodczosc=rozrodczosc*1};area.prototype.setSmiertelnosc=function setSmiertelnosc(smiertelnosc){this.smiertelnosc=smiertelnosc*1};area.prototype.setEmigracja=function setEmigracja(emigracja){this.emigracja=emigracja*1};area.prototype.wykluj=function wykluj(osobniki){return Math.round(Math.floor(osobniki/2)*this.rozrodczosc)};area.prototype.rip=function rip(osobniki){return Math.ceil(osobniki*this.smiertelnosc/100)}; area.prototype.isKatastrofa=function isKatastrofa(){return Math.random()<1/this.czestotliwosc_katastrof};area.prototype.getSilaKatastrofy=function getSilaKatastrofy(){return Math.random()*this.sila_katastrof/100};area.prototype.rip=function rip(osobniki){return Math.ceil(osobniki*this.smiertelnosc/100)};area.prototype.calcEmigracja=function calcEmigracja(osobniki){return Math.ceil(osobniki*(this.emigracja/100)*Math.random())}; area.prototype.calcYear=function calcYear(osobniki,imigracja){var emigracja=0;var przepelnienie=false;var wymarcie=false;osobniki+=Math.round(imigracja*this.przepustowosc_korytarza/100);if(osobniki>this.pojemnosc){przepelnienie=true;osobniki=this.pojemnosc}osobniki+=this.wykluj(osobniki);if(osobniki>this.pojemnosc)przepelnienie=true;osobniki-=this.rip(osobniki);if(osobniki<1){osobniki=Math.floor(osobniki);wymarcie=true}if(this.isKatastrofa())osobniki=osobniki-Math.round(osobniki*this.getSilaKatastrofy()); if(osobniki<1){osobniki=Math.floor(osobniki);wymarcie=true}if(osobniki>this.pojemnosc){przepelnienie=true;emigracja=osobniki-this.pojemnosc;osobniki=this.pojemnosc}var e=this.calcEmigracja(osobniki);osobniki=osobniki-e;emigracja+=e;if(osobniki<1){osobniki=0;wymarcie=true}var result={osobniki:osobniki,emigracja:emigracja,przepelnienie:przepelnienie,wymarcie:wymarcie};return result};
