[CF-Devel] Suspicious code in common/object.c
crossfire-devel at archives.real-time.com
crossfire-devel at archives.real-time.com
Sun May 16 23:15:20 CDT 2004
Andreas Kirschbaum wrote:
>
I think the function get_search_arr() in common/object.c does not work
>
correctly: it should return a permutation of [0..48] but the result
>
nearly always contains more than one 0 value.
>
>
For example: If the statement "tmp=(RANDOM()%(5-i+1))+1" at the end of
>
the function (for the range i=1..4) always evaluates to "tmp=1", the
>
result is search_nums[1..4]={1,2,3,0}. This is not correct because it
>
should be a permutation of {1,2,3,4}.
>
>
>
To fix this issue, I would like to replace the function with:
That looks fine. Note that the efficiency/correctness of get_search_arr isn't
really critical - it is basically so that the monsters don't always favor the
same directions.
However, I agree your function is much clearer, and should replace what is
there now.
_______________________________________________
crossfire-devel mailing list
crossfire-devel at lists.real-time.com
https://mailman.real-time.com/mailman/listinfo/crossfire-devel
More information about the crossfire
mailing list