0 Members and 1 Guest are viewing this topic.
Repeat getKey(15). code hereEnd
While 1. code hereEndIf getKey(15)
2.1 -> AA^2^r -> ADisp {°A}>DecDisp {°A+1}>Dec
°A+1 -> °AH<do 8.8 stuff with A>AH^r returns now the integer part of A
<do 8.8 stuff with A>{°A+1} returns the integer part of A
.TRY07AXEClrDraw[3C7EFFFFFFFF7E3C]->Pic01[FF818181818181FF]->Pic02L1->°BposXL1+2->°BposY1280->BposX->BposYL1+4->°BmovXL1+6->°BmovY128->BmovY:*2->BmovXL1+8->°BdirXL1+10->°BdirY1->BdirX->BdirY.Pos Player *128 = V,W6400->V1280->W.Gravitation=G.N=NotCollide to prevent double collision.C=Counter0->G->N->Cwhile 1C++Pt-On(BposX/128,BposY/128,Pic01)Pt-On(V/128,W/128,Pic02)DispGraph:ClrDrawBmovX*BdirX+BposX->BposXBmovY*BdirY+BposY->BposYMovement()Collision()Gravity()EndIf getKey(15)ReturnLbl Movement.moveXV<11008 and getKey(3)-(V>0 and getKey(2))*128+V->V.moveYW<7168 and getKey(1)-(W>0 and getKey(4))*128+W->WReturnLbl CollisionN>0?N--->N.COLLIDE.Top LeftIf (N=0) and ((BposX/128)>=((V/128)-7)) and ((BposX/128)<=((V/128)-6)) and ((BposY/128)>=((W/128)-7)) and ((BposY/128)<=((W/128)-6))BmovX+102->BmovX:BmovY+102->BmovY:(0-1)->BdirX->BdirY:5->N:0->G:End.Top RightIf (N=0) and ((BposX/128)>=((V/128)+7)) and ((BposX/128)<=((V/128)+7)) and ((BposY/128)>=((W/128)-7)) and ((BposY/128)<=((W/128)-6))BmovX+102->BmovX:BmovY+102->BmovY:1->BdirX:(0-1)->BdirY:5->N:0->G:End.Bottom LeftIf (N=0) and ((BposX/128)>=((V/128)-7)) and ((BposX/128)<=((V/128)-6)) and ((BposY/128)>=((W/128)+6)) and ((BposY/128)<=((W/128)+7))BmovX+128->BmovX:BmovY+128->BmovY:(0-1)->BdirX:1->BdirY:5->N:End.Bottom RightIf (N=0) and ((BposX/128)>=((V/128)+6)) and ((BposX/128)<=((V/128)+7)) and ((BposY/128)>=((W/128)+6)) and ((BposY/128)<=((W/128)+7))BmovX+128->BmovX:BmovY+128->BmovY:1->BdirX->BdirY:5->N:End.TopIf (N=0) and ((BposX/128)>=((V/128)-5)) and ((BposX/128)<=((V/128)+5)) and ((BposY/128)>=((V/128)-8)) and ((BposY/128)<=((V/128)-6))BmovY+128->BmovY:(0-1)->BdirY:5->N:0->G:End.LeftIf (N=0) and ((BposX/128)>=((V/128)-8)) and ((BposX/128)<=((V/128)-7)) and ((BposY/128)>=((V/128)-5)) and ((BposY/128)<=((V/128)+5))BmovX+102->BmovX:5->N:If (BposY>5500):(0-1)->BdirY:BmovY+102->BmovY:BmovX+20->BmovX:End:End.RightIf (N=0) and ((BposX/128)>=((V/128)+7)) and ((BposX/128)<=((V/128)+8)) and ((BposY/128)>=((V/128)-5)) and ((BposY/128)<=((V/128)+5))BmovX+102->BmovX:5->N:If (BposY>5500):(0-1)->BdirY:BmovY+102->BmovY:BmovX+20->BmovX:End:End.BottomIf (N=0) and ((BposX/128)>=((V/128)-5)) and ((BposX/128)<=((V/128)+5)) and ((BposY/128)>=((V/128)+7)) and ((BposY/128)<=((V/128)+8))1->BdirY:G/5+BmovY/2+64->BmovY:0->G:End.BORDERS.LeftIf (BposX<128) or (BposX>(0-1280)):128->BposX:1->BdirX:End.RightIf (BposX>11008):11008->BposX:(0-1)->BdirX:End.TopIf (BposY)<128):128->BposY:1->BdirY:(BmovY/2)->BmovY:End.BottomIf (BposY)>7168):7168->BposY:(G/10+BmovY)->BmovY:0->G:-1->BDirY:EndReturnLbl Gravity.FrictionIf BmovX>50:BmovX*127/128->BmovX:Else:If BmovX<20:If (C/4+4)=C:BmovX*127/128->BmovX:End:Else:If (C/2+2)=C:BmovX*127/128->BmovX:End:End:End.Slow down and speed upIf BdirY=1:102:Else:97:End:*BmovY/128->BmovY.Add GravityG+3->G:/10+BposY->BposYReturn