change to use float for value in heap, and calculate diagonal score as sqrt(2)