アナログ時計の実装で角度を与えたら時間を算出したい
少しアドバイスいただければ幸いです。
下記の実装はSwiftですが、どんな言語でも構いません。
アナログ時計の時針で角度を与えたら12時から11時までの正しい時間を割り出してくれる実装をしているのですが、(例えば、角度0度を与えたら12という数字帰ってくるようにしたいです)いまいち綺麗な書き方が思い当たりません。今現、一番良さげだと思っているのは、下記のようなディクショナリーで角度と時間を辞書にして角度を与えたら時間が取れるというものです。
func AngleToTime() {
var test = [0:12, 30:1, 60:2, 90:3, 12:4, 150:5, 180:6, 210:7, 240:8, 270:9, 300:10, 330:11]
let testtest = 0
print("今\(test[testtest]!)時だよ!")
}
理想的には、関数にして、引数で角度であるintを受け取ったら、ごにょごにょ計算した結果、時間がでるという形にしたいです。今は時針なので上記の実装でもなんとかなりますが、分針や秒針になった時に、困らないようにしたいです。