home *** CD-ROM | disk | FTP | other *** search
- class TargetObject extends MovieClip
- {
- var arrTargets;
- var arrPeople;
- var arrFinish;
- var arrDeaths;
- var blnMoving;
- var blnGotOne;
- var blnMissed;
- var numTargets;
- function TargetObject()
- {
- super();
- this.arrTargets = new Array();
- this.arrPeople = new Array("person1");
- this.arrFinish = new Array();
- this.arrDeaths = new Array();
- this.blnMoving = false;
- }
- function CheckHits(orbName, orbType)
- {
- var multiHit = false;
- var insideString = "inside";
- var insideRef = eval("this." + insideString);
- var returnValue = new HitData();
- returnValue._hit = false;
- returnValue._allCorrect = false;
- var tempPoint = new Object();
- tempPoint.x = _root[orbName]._x;
- tempPoint.y = _root[orbName]._y;
- if(this.blnMoving == false)
- {
- this.globalToLocal(tempPoint);
- }
- else
- {
- insideRef.globalToLocal(tempPoint);
- }
- var thisRef;
- var i = 0;
- while(i < this.arrTargets.length)
- {
- if(this.blnMoving == false)
- {
- thisRef = eval("this." + this.arrTargets[i].name);
- }
- else
- {
- thisRef = eval("this.inside." + this.arrTargets[i].name);
- }
- var distancex = tempPoint.x - thisRef._x;
- var distancey = tempPoint.y - thisRef._y;
- var distance = Math.sqrt(distancex * distancex + distancey * distancey);
- if(distance <= _root[orbName]._width)
- {
- if(this.arrTargets[i].type == orbType || orbType == 7)
- {
- returnValue._hit = true;
- returnValue._correctColor = true;
- this.blnGotOne = true;
- var myPerson = Math.round(Math.random() * (this.arrPeople.length - 1));
- thisRef.gotoAndPlay(this.arrPeople[myPerson]);
- var tempPoint2 = new Object();
- tempPoint2.x = thisRef._x;
- tempPoint2.y = thisRef._y;
- if(this.blnMoving == false)
- {
- this.localToGlobal(tempPoint2);
- }
- else
- {
- insideRef.localToGlobal(tempPoint2);
- }
- returnValue._x = tempPoint2.x;
- returnValue._y = tempPoint2.y;
- if(orbType == 7)
- {
- multiHit = true;
- }
- }
- else
- {
- returnValue._hit = true;
- returnValue._correctColor = false;
- this.blnMissed = true;
- var myDeath = Math.round(Math.random() * (this.arrDeaths.length - 1));
- thisRef.gotoAndPlay(this.arrDeaths[myDeath]);
- var tempPoint2 = new Object();
- tempPoint2.x = thisRef._x;
- tempPoint2.y = thisRef._y;
- if(this.blnMoving == false)
- {
- this.localToGlobal(tempPoint2);
- }
- else
- {
- insideRef.localToGlobal(tempPoint2);
- }
- returnValue._x = tempPoint2.x;
- returnValue._y = tempPoint2.y;
- }
- this.arrTargets.splice(i,1);
- if(this.arrTargets.length == 0)
- {
- returnValue._filled = true;
- if(this.blnMissed == false)
- {
- returnValue._allCorrect = true;
- returnValue._numTargets = this.numTargets;
- }
- if(this.arrFinish.length != 0)
- {
- var myFinish = Math.round(Math.random() * (this.arrFinish.length - 1));
- var finishRef = eval("_root." + this._name + "." + this.arrFinish[myFinish]);
- trace("Finish Anim 2: " + this.arrFinish.length + " - " + myFinish);
- finishRef.gotoAndPlay(1);
- }
- }
- break;
- }
- i++;
- }
- if(multiHit == true)
- {
- if(this.arrTargets.length != 0)
- {
- returnValue._filled = true;
- if(this.arrFinish.length != 0)
- {
- var myFinish = Math.round(Math.random() * (this.arrFinish.length - 1));
- trace("Finish Anim 1: " + this.arrFinish.length + " - " + myFinish);
- var finishRef = eval("_root." + this._name + "." + this.arrFinish[myFinish]);
- finishRef.gotoAndPlay(1);
- }
- var i = 0;
- while(i < this.arrTargets.length)
- {
- if(this.blnMoving == false)
- {
- thisRef = eval("this." + this.arrTargets[i].name);
- }
- else
- {
- thisRef = eval("this.inside." + this.arrTargets[i].name);
- }
- var myPerson = Math.round(Math.random() * (this.arrPeople.length - 1));
- thisRef.gotoAndPlay(this.arrPeople[myPerson]);
- i++;
- }
- if(this.blnMissed == false)
- {
- returnValue._allCorrect = true;
- returnValue._numTargets = this.numTargets;
- }
- }
- delete this.arrTargets;
- this.arrTargets = new Array();
- }
- return returnValue;
- }
- function AdjustTargets()
- {
- this.blnMissed = false;
- var queueRemoval = new Array();
- var thisRef;
- var tempPoint = new Object();
- var layout = 1;
- var randNum = 0;
- var color1;
- var color2;
- switch(_global.difficulty)
- {
- case 2:
- randNum = Math.round(Math.random() * 100);
- if(randNum >= 0)
- {
- layout = 2;
- }
- break;
- case 3:
- randNum = Math.round(Math.random() * 100);
- if(randNum >= 50)
- {
- layout = 2;
- }
- else
- {
- layout = 1;
- }
- break;
- case 5:
- randNum = Math.round(Math.random() * 100);
- if(randNum >= 0)
- {
- layout = 3;
- }
- break;
- case 6:
- randNum = Math.round(Math.random() * 100);
- if(randNum >= 50)
- {
- layout = 3;
- }
- else
- {
- layout = 1;
- }
- break;
- case 7:
- randNum = Math.round(Math.random() * 100);
- if(randNum <= 33)
- {
- layout = 3;
- }
- else if(randNum >= 34 && randNum < 66)
- {
- layout = 2;
- }
- else if(randNum >= 66 && randNum < 101)
- {
- layout = 1;
- }
- break;
- case 8:
- randNum = Math.round(Math.random() * 100);
- if(randNum >= 0)
- {
- layout = 4;
- }
- break;
- case 9:
- randNum = Math.round(Math.random() * 100);
- if(randNum >= 50)
- {
- layout = 2;
- }
- else
- {
- layout = 4;
- }
- break;
- case 10:
- randNum = Math.round(Math.random() * 100);
- if(randNum <= 25)
- {
- layout = 3;
- }
- else if(randNum >= 26 && randNum < 50)
- {
- layout = 2;
- }
- else if(randNum >= 50 && randNum < 75)
- {
- layout = 1;
- }
- else if(randNum >= 75 && randNum < 101)
- {
- layout = 4;
- }
- break;
- case 11:
- randNum = Math.round(Math.random() * 100);
- if(randNum <= 25)
- {
- layout = 4;
- }
- else if(randNum >= 26 && randNum < 50)
- {
- layout = 2;
- }
- else if(randNum >= 50 && randNum < 75)
- {
- layout = 1;
- }
- else if(randNum >= 75 && randNum < 101)
- {
- layout = 8;
- color1 = Math.round(Math.random() * 3) + 1;
- color2 = Math.round(Math.random() * 3) + 1;
- }
- break;
- case 13:
- randNum = Math.round(Math.random() * 100);
- if(randNum >= 0)
- {
- layout = 5;
- }
- break;
- case 14:
- randNum = Math.round(Math.random() * 100);
- if(randNum >= 50)
- {
- layout = 3;
- }
- else
- {
- layout = 5;
- }
- break;
- case 15:
- randNum = Math.round(Math.random() * 100);
- if(randNum < 20)
- {
- layout = 3;
- }
- else if(randNum >= 20 && randNum < 40)
- {
- layout = 2;
- }
- else if(randNum >= 40 && randNum < 60)
- {
- layout = 1;
- }
- else if(randNum >= 60 && randNum < 80)
- {
- layout = 4;
- }
- else if(randNum >= 80 && randNum < 101)
- {
- layout = 5;
- }
- break;
- case 16:
- randNum = Math.round(Math.random() * 100);
- if(randNum <= 20)
- {
- layout = 4;
- }
- else if(randNum >= 21 && randNum < 40)
- {
- layout = 2;
- }
- else if(randNum >= 40 && randNum < 55)
- {
- layout = 1;
- }
- else if(randNum >= 55 && randNum < 75)
- {
- layout = 1;
- }
- else if(randNum >= 75 && randNum < 101)
- {
- layout = 8;
- color1 = Math.round(Math.random() * 4) + 1;
- color2 = Math.round(Math.random() * 4) + 1;
- }
- break;
- case 17:
- randNum = Math.round(Math.random() * 100);
- if(randNum >= 0)
- {
- layout = 6;
- }
- break;
- case 18:
- randNum = Math.round(Math.random() * 100);
- if(randNum >= 50)
- {
- layout = 6;
- }
- else
- {
- layout = 4;
- }
- break;
- case 19:
- randNum = Math.round(Math.random() * 120);
- if(randNum < 20)
- {
- layout = 1;
- }
- else if(randNum >= 20 && randNum < 40)
- {
- layout = 2;
- }
- else if(randNum >= 40 && randNum < 60)
- {
- layout = 3;
- }
- else if(randNum >= 60 && randNum < 80)
- {
- layout = 4;
- }
- else if(randNum >= 80 && randNum < 100)
- {
- layout = 5;
- }
- else if(randNum >= 100 && randNum < 121)
- {
- layout = 6;
- }
- break;
- case 20:
- randNum = Math.round(Math.random() * 160);
- if(randNum < 20)
- {
- layout = 1;
- }
- else if(randNum >= 20 && randNum < 40)
- {
- layout = 2;
- }
- else if(randNum >= 40 && randNum < 60)
- {
- layout = 3;
- }
- else if(randNum >= 60 && randNum < 80)
- {
- layout = 4;
- }
- else if(randNum >= 80 && randNum < 100)
- {
- layout = 5;
- }
- else if(randNum >= 100 && randNum < 120)
- {
- layout = 6;
- }
- else if(randNum >= 120 && randNum < 161)
- {
- layout = 8;
- color1 = Math.round(Math.random() * 5) + 1;
- color2 = Math.round(Math.random() * 5) + 1;
- }
- break;
- case 21:
- layout = 8;
- color1 = Math.round(Math.random() * 5) + 1;
- color2 = Math.round(Math.random() * 5) + 1;
- break;
- case 22:
- layout = 9;
- break;
- case 23:
- layout = 9;
- break;
- case 24:
- layout = 9;
- }
- var i = 0;
- while(i < this.arrTargets.length)
- {
- if(this.blnMoving == false)
- {
- thisRef = eval("this." + this.arrTargets[i].name);
- }
- else
- {
- thisRef = eval("this.inside." + this.arrTargets[i].name);
- }
- tempPoint.x = thisRef._x;
- tempPoint.y = thisRef._y;
- this.localToGlobal(tempPoint);
- if(this.blnMoving == false)
- {
- if(tempPoint.x - thisRef._width / 2 < 0)
- {
- queueRemoval.push(this.arrTargets[i].name);
- }
- else if(tempPoint.x + thisRef._width / 2 > Stage.width)
- {
- queueRemoval.push(this.arrTargets[i].name);
- }
- }
- switch(layout)
- {
- case 2:
- thisRef.gotoAndStop("purple");
- this.arrTargets[i].type = 2;
- break;
- case 3:
- thisRef.gotoAndStop("blue");
- this.arrTargets[i].type = 3;
- break;
- case 4:
- thisRef.gotoAndStop("green");
- this.arrTargets[i].type = 4;
- break;
- case 5:
- thisRef.gotoAndStop("yellow");
- this.arrTargets[i].type = 5;
- break;
- case 6:
- thisRef.gotoAndStop("orange");
- this.arrTargets[i].type = 6;
- break;
- case 8:
- if(i == 1 || i == 3 || i == 5)
- {
- thisRef.gotoAndStop(this.GetColor(color1));
- this.arrTargets[i].type = color1;
- }
- else
- {
- thisRef.gotoAndStop(this.GetColor(color2));
- this.arrTargets[i].type = color2;
- }
- break;
- case 9:
- var myColor = Math.round(Math.random() * 5) + 1;
- thisRef.gotoAndStop(this.GetColor(myColor));
- this.arrTargets[i].type = myColor;
- }
- i++;
- }
- var i = 0;
- while(i < queueRemoval.length)
- {
- this.RemoveTargets(queueRemoval[i]);
- i++;
- }
- this.numTargets = this.arrTargets.length;
- return this.arrTargets.length;
- }
- function GetColor(numType)
- {
- switch(numType)
- {
- case 1:
- return "red";
- case 2:
- return "purple";
- case 3:
- return "blue";
- case 4:
- return "green";
- case 5:
- return "yellow";
- case 6:
- return "orange";
- default:
- }
- }
- function RemoveTargets(strName)
- {
- var thisRef;
- var i = 0;
- while(i < this.arrTargets.length)
- {
- if(strName == this.arrTargets[i].name)
- {
- if(this.blnMoving == false)
- {
- thisRef = eval("this." + this.arrTargets[i].name);
- }
- else
- {
- thisRef = eval("this.inside." + this.arrTargets[i].name);
- }
- thisRef.swapDepths(1);
- thisRef.removeMovieClip();
- this.arrTargets.splice(i,1);
- break;
- }
- i++;
- }
- }
- function GetTargetsLeft()
- {
- return this.arrTargets.length;
- }
- }
-