Blockland Forums > Modification Help
Checking if a brick is completely covered by another brick.
<< < (2/2)
Treynolds416:
If you find me the getWorldBox() syntax, I'll write you a function
otto-san:

--- Quote from: Treynolds416 on April 28, 2012, 02:56:38 PM ---If you find me the getWorldBox() syntax, I'll write you a function

--- End quote ---
For what?

and there are no parameters (besides the object of course)
Treynolds416:

--- Code: ---function isCoveredCompletely(%bBrick,%tBrick)
{
    %bBox = %bBrick.getWorldBox();
    %bMinX = getWord(%bBox,0);
    %bMinY = getWord(%bBox,1);
    %bMaxX = getWord(%bBox,3);
    %bMaxY = getWord(%bBox,4);
    %bMaxZ = getWord(%bBox,5);

    %tBox = %tBrick.getWorldBox();
    %tMinX = getWord(%tBox,0);
    %tMinY = getWord(%tBox,1);
    %tMinZ = getWord(%tBox,2);
    %tMaxX = getWord(%tBox,3);
    %tMaxY = getWord(%tBox,4);

    if(%bBrick.getNumUpBricks() != 1 || %bMaxZ != %tMinZ)
        return 0;
    %bDiag = mSqrt(mPow(%bMaxX - %bMinX,2) + mPow(%bMaxY - %bMinY,2));
    %tDiag = mSqrt(mPow(%tMaxX - %tMinX,2) + mPow(%tMaxY - %tMinY,2));
    if(%tDiag < %bDiag || %tMaxX < %bMaxX || %tMaxY < %bMaxY || %tMinX > %bMinX || %tMinY > %bMinY)
        return 0;
    return 1;
}
--- End code ---

I used a lot of variables so you can see what I did. I also used two if statements instead of one because I do not like monolithic if statements. This should work, but it is untested. Knowing myself, I would guess that I have made one or two silly mistakes in the code, so look for them if it doesn't work.

Edit: Added parentheses after getNumUpBricks
Edit2: Added more triggers to if statement
otto-san:

--- Quote from: Treynolds416 on April 28, 2012, 03:45:18 PM ---I would guess that I have made one or two silly mistakes in the code, so look for them if it doesn't work.

--- End quote ---
the only syntactical error i see is one set of forgotten parenthesis

so i'll test that, thanks :D


works. :D
Treynolds416:
Just added more to the second if statement, I forgot to check the mins in it. Anyway, if you want I can make a compressed version that uses fewer variables.
Navigation
Message Index
Previous page

Go to full version