Graal Forums

Graal Forums (https://forums.graalonline.com/forums/index.php)
-   Code Gallery (https://forums.graalonline.com/forums/forumdisplay.php?f=179)
-   -   Generic Sorting (https://forums.graalonline.com/forums/showthread.php?t=74117)

Novo 05-22-2007 04:34 AM

Generic Sorting
 
For those who wanted to know what use does variable functions do... Here's an example:

class: math-sort
PHP Code:

function defaultSortsideAsideB )
  {
  return (
sideA sideB);
  }

function 
sortList( list, compFunc )
  {
  
this.sortFunc = ( compFunc == null this.defaultSort compFunc );

  for ( 
temp.0temp.< list.size() - 1temp.i++ )
    {
    
temp.min temp.i;
    for ( 
temp.temp.1temp.< list.size(); temp.++ )
      {
      if ( 
sortFunc( list[temp.j], list[temp.min]) )
        
temp.min temp.j;
      }

    
temp.= list[temp.i];
    list[
temp.i] = list[temp.min];
    list[
temp.min] = temp.b;
    }

  return list;
  } 

PHP Code:

function onCreated()
  {
  
join("math-sort");
  
temp.= {{1,3},{3,2},{2,1},{4,2} };

  
temp.func = function(sideAsideB)
    {
    return ( 
sideA[0] < sideB[0] );
    };

  
temp.list = sortListtemp.ltemp.func );
  echo( 
temp.list ); // {{1, 3}, {2, 1}, {3, 2}, {4, 2}}
  


You could have them sorted by this function...

A practical use of this is sorting a list of NPCs with respect to how far it is!
One way to do this is simply defining this function:

PHP Code:

  temp.func = function(sideAsideB)
    {
    return ( (
sideA.this.x)^+ (sideA.this.y)^< (sideB.this.x)^+ (sideB.this.y)^);
    }; 


zokemon 05-22-2007 12:49 PM

Good job Novo!
I didn't think of using it that way :)

xAndrewx 05-22-2007 09:53 PM

You suck, at trying to disappoint me that is!

sam_is_me 05-23-2007 06:32 PM

lol, i really cant read that script...
but if it works, hey, good job.


All times are GMT +2. The time now is 07:14 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions Inc.
Copyright (C) 1998-2019 Toonslab All Rights Reserved.