Help with an old question..... 500 points

Hi,
I would like you experts to try this question i posted a few days back.

Looks like we have reached some solution but not the exact one.

Cerf has been trying hard, I will give additional points through this question to anyone who can solve this:

http://www.experts-exchange.com/Web/WebDevSoftware/Flash/Q_21169992.html

Cerf, I will consider your help also.

thanks.
LVL 7
Who is Participating?

Commented:
Okay, try this - where p=Loan Amount, n=Loan duration (years), r = Loan rate (%age).  Just stick the code in a new flash (Flash MX) file and run it:

p = 30000;
n = 25;
r = 14 /100;
function createBox(container, clipName, clr, w, h, x, y) {
var x1 = (x == undefined) ? 0 : x;
var y1 = (y == undefined) ? 0 : y;
var x2 = x1+w;
var y2 = y1+h;
container.createEmptyMovieClip(clipName, container.getNextHighestDepth());
container[clipName].beginFill(clr, 50);
container[clipName].moveTo(x1, x1);
container[clipName].lineTo(x1, y2);
container[clipName].lineTo(x2, y2);
container[clipName].lineTo(x2, y1);
container[clipName].endFill();
}
// var names as in the website... clearer
var n:Number, p:Number, z:Number, a:Number;
z = r+1;
a = (p*r)/(1-Math.pow(z, -n));
trace("Annual payment: "+Math.ceil(a));
year = new Array();
year[1] = (p*z)-a;
trace("year 1 debt: "+Math.floor(year[1]));
for (var i = 2; i<=n; i++) {
year[i] = (year[i-1]*z)-a;
trace("year "+i+" debt: "+Math.floor(year[i]));
}
for (var i = 1; i<=n; i++) {
createBox(_root, "debt"+i, 0x00ff00, 10, -((year[i]/p)*200));
createBox(_root, "equity"+i, 0xff0000, 10, 200-((year[i]/p)*200));
_root["debt"+i]._x = 20*i;
_root["debt"+i]._y = 200;
_root["equity"+i]._x = 20*i;
_root["equity"+i]._y = 200-_root["equity"+i]._height;
}
0

Commented:
You should notice that it draws a very basic chart too - I had to fiddle using "200-" at the end to convert it to a cartesian coordinate type system (200 is the height of the chart), as the Flash y-coordinates are inverted.

muso
0

Commented:
Did it work for you  ssdesign?
0

Commented:
I can only help you properly if you provide some feedback ssdesign!  I'm not bothered about the points at all (I knew it's for 20 points after all ;), but when given a grade B after putting in so much time and effort for your question (I didn't just copy the code from the previous question - all code was written from scratch) is a little dis-heartening!

So whevenever possible I feel it would be nice if you could at least give some feedback on my answer - even if just to say that it isn't quite right for you, for whatever reasons, and that you don't have any more time to spend on it yourself...

muso
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.