3 basedir=$(dirname $(readlink -f $BASH_SOURCE))
9 declare -A asteroid_angles
13 # calculate angles to each asteroid from us
14 for asteroid in ${!asteroids[@]}; do
15 if [ $asteroid == $our_asteroid ]; then
19 # otherwise, get the angle from us to there
20 angle=$(get_angle $our_asteroid $asteroid)
22 # see if we've already got this angle as a key, if so append to it,
24 if [ ${asteroid_angles[$angle]+a} ]; then
25 asteroid_angles[$angle]+="|$asteroid"
27 asteroid_angles[$angle]=$asteroid
33 sorted_angles=( "$(get_angles_list asteroid_angles)" )
35 for (( round=0; round<3; round++ )); do
36 for angle in $sorted_angles; do
37 if [ ${asteroid_angles[$angle]+a} ]; then
38 echo "$angle: ${asteroid_angles[$angle]}"
39 closest=$(get_closest_asteroid "${asteroid_angles[$angle]}")
40 #echo " - closest $closest"
41 # blow up the closest!
42 newlist=$(remove_asteroid_from_string ${asteroid_angles[$angle]} $closest)
43 if [ "x$newlist" == "x" ]; then
44 unset asteroid_angles[$angle]
46 asteroid_angles[$angle]=$newlist
48 zapped_count=$((zapped_count+1))
50 echo "$zapped_count: $closest"
52 if [ $zapped_count -eq 200 ]; then
53 echo "The 200th asteroid to be zapped was $closest"
60 echo "And we're done."