All pastes #976127 Raw Edit

Mine

public text v1 · immutable
·published 2008-04-07 22:57 UTC
rendered paste body
% Collision detection for the ground - Mushroom things
procedure chkForGroundGoomba
    loop
        if goombaPosY (curItemPosition) < 80 then
            if mapPartsArray (curItemPosition, 6) = "0" then
                if (curItemPosition * 30 - xpos) > groundColFor1 then
                    if (curItemPosition * 30 - xpos) < groundColFor2 then
                        goombaGroundHeight (curItemPosition) := -70
                        exit when 1 = 1
                    else
                        goombaGroundHeight (curItemPosition) := 60
                    end if
                end if
            end if
        end if
        curItemPosition := curItemPosition + 1
        exit when curItemPosition = mapLength
    end loop

    curItemPosition := 1
    loop
        if goombaPosY (curItemPosition) < goombaGroundHeight (curItemPosition) then
            goombaVelY (curItemPosition) := 0
            goombaPosY (curItemPosition) := goombaGroundHeight (curItemPosition)
        end if
        curItemPosition := curItemPosition + 1
        exit when curItemPosition = mapLength
    end loop
end chkForGroundGoomba

% Checking for blocks / coin blocks on the first level.
procedure chkForLvl1Block
    loop
        curItemPosition := curItemPosition + 1
        if ypos > 149 then
            if mapPartsArray (curItemPosition, 2) = "1" or mapPartsArray (curItemPosition, 3) = "1" then
                if (curItemPosition * 30 - xpos) > blockCol1 then
                    if (curItemPosition * 30 - xpos) < blockCol2 then
                        groundHeight := 150
                        exit when 1 = 1
                    else
                        groundHeight := 60
                    end if
                end if
            end if
        end if
        if ypos = 80 then
            if mapPartsArray (curItemPosition, 2) = "1" or mapPartsArray (curItemPosition, 3) = "1" then
                if (curItemPosition * 30 - xpos) > blockCol1 then
                    if (curItemPosition * 30 - xpos) < blockCol2 then
                        yvel := -2
                        exit when 1 = 1
                    else
                    end if
                end if
            end if
        end if
        if curItemPosition = mapLength then
            exit when 1 = 1
        end if
    end loop
end chkForLvl1Block

% Checking for blocks / coin blocks on the second level
procedure chkForLvl2Block
    loop
        curItemPosition := curItemPosition + 1
        if ypos > 239 then
            if mapPartsArray (curItemPosition, 4) = "1" or mapPartsArray (curItemPosition, 5) = "1" then
                if (curItemPosition * 30 - xpos) > blockCol1 then
                    if (curItemPosition * 30 - xpos) < blockCol2 then
                        groundHeight := 240
                        exit when 1 = 1
                    else
                        groundHeight := 60
                    end if
                end if
            end if
        end if
        if ypos = 170 then
            if mapPartsArray (curItemPosition, 4) = "1" or mapPartsArray (curItemPosition, 5) = "1" then
                if (curItemPosition * 30 - xpos) > blockCol1 then
                    if (curItemPosition * 30 - xpos) < blockCol2 then
                        yvel := -2
                        exit when 1 = 1
                    else
                    end if
                end if
            end if
        end if
        if curItemPosition = mapLength then
            exit when 1 = 1
        end if
    end loop
end chkForLvl2Block

% Checking for and moving enemy sprites.
procedure enemyCheck
end enemyCheck

% Enemy position on the x axis
procedure enemyPhysics
    curItemPosition := 1
    loop
        goombaPosY (curItemPosition) := goombaPosY (curItemPosition) + goombaVelY (curItemPosition)
        if goombaPosY (curItemPosition) not= 60 then
            goombaVelY (curItemPosition) := goombaVelY (curItemPosition) - Gravity
        end if
        curItemPosition := curItemPosition + 1
        exit when curItemPosition = mapLength
    end loop
end enemyPhysics