Ok, a couple of things. I just glanced trough really quickly, so I will only point out the big things (that I saw). I noticed that several times, you were displaying sprites with a very long section of Pt-on(**,**,Str5), with each one being 8 pixels to the side. It may be better to put those in a For loop. I am not sure about this, but I think you also had a nested if statement that checked the same value as the first
![Huh? ???](https://www.omnimaga.org/Smileys/classic/huh.gif)
Also, the jumping engine seems to be part of the collision checking problem. You can get stuck in an infinite jump loop. If you want, I could look at the source later and try to help with that. I hope I helped
![Smiley :)](https://www.omnimaga.org/Smileys/classic/smiley.gif)