Merge: src: fix null receiver error on useless-signature warning
[nit.git] / examples / rosettacode / boxthecompass.nit
1 #!/usr/bin/env nit
2 #
3 # This file is part of NIT ( http://www.nitlanguage.org ).
4 # This program is public domain
5
6 # Task: Box The Compass
7 # SEE: <http://rosettacode.org/wiki/Box_the_compass>
8
9 var names = ["North", "North by east", "North-northeast", "Northeast by north", "Northeast","Northeast by east",
10 "East-northeast", "East by north", "East", "East by south", "East-southeast", "Southeast by east", "Southeast",
11 "Southeast by south", "South-southeast", "South by east", "South", "South by west", "South-southwest", "Southwest by south",
12 "Southwest", "Southwest by west", "West-southwest", "West by south", "West", "West by north", "West-northwest",
13 "Northwest by west", "Northwest", "Northwest by north", "North-northwest", "North by west", "North"]
14
15 var degrees = [0.0, 16.87, 16.88, 33.75, 50.62, 50.63, 67.5,
16 84.37, 84.38, 101.25, 118.12, 118.13, 135.0, 151.87, 151.88,
17 168.75, 185.62, 185.63, 202.5, 219.37, 219.38, 236.25, 253.12,
18 253.13, 270.0, 286.87, 286.88, 303.75, 320.62, 320.63, 337.5,
19 354.37, 354.38]
20
21 for d in degrees do
22 var h = (d / 11.25 + 0.5).floor.to_i % 32
23 print "{h+1} {names[h]} {d}"
24 end