On 02/07/12 05:21, Greg Nielsen wrote:
models the acceleration of the object. Y is the acceleration and X is
the current speed of the object.
Y = -.01X^2 * 1.45X
That's not the same as the formula you have implemented.
it doesn't work. It's also in bold, so you can see it easily.
if keys[pygame.K_UP] and self.dy < (15 + self.speedMod):
if self.dy <= 0:
/self.accelPoints += self.accelList[0]/
*#self.dy += 1*
else:
/self.accelPoints += self.accelList[self.dy]/
*#self.accelPoints += ((-.1 * (self.dy * self.dy)) + (1.45 *
self.dy))*
Are you sure the else is being executed?
Have you tried inserting a print statement to check the value right
after the block?
I did a test, and for some reason, it seems like the output of the
function is never saved into the self.accelPoints variable, because it
always prints out as 0.
If your dy is very close to zero the value of your formula will be very
close to zero so accelPoints never increases. But you also commented out
the dy increment line so dy never increases which migfht suggest the
else never gets called??
Can you send us the actual code that fails rather than something else
that nearly works?
Its much easier to debug the thing that's actually broken that something
that looks vaguely like it.
outputs a double, but even when i make accelPoints a double (made it
equal 0.01 instead of 0) it still didn't work.
Provided they are both numbers Python will adapt. That's not likely to
be the problem.
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor