給出下面的方向枚舉:在數字鍵盤上的兩個鍵之間尋找方向的算法?
typedef enum {
DirectionNorth = 0,
DirectionNorthEast,
DirectionEast,
DirectionSouthEast,
DirectionSouth,
DirectionSouthWest,
DirectionWest,
DirectionNorthWest
} Direction;
而且類似於數字小鍵盤數字矩陣:
7 8 9
4 5 6
1 2 3
你怎麼會寫一個函數從矩陣返回相鄰數字之間的方向是什麼?你說:
1, 2 => DirectionEast
2, 1 => DirectionWest
4, 8 => DirectionNorthEast
1, 7 => undef
,如果你願意,你可以改變枚舉的數值。首選可讀解決方案。 (不是家庭作業,只是我正在工作的應用程序的算法,我有一個工作版本,但我對更優雅的需求感興趣。)
很好的回答!我會添加一個結果,所以5成爲無效。這樣我就可以把結果看作是從數字小鍵盤中心的方向。 –
@ K-ballo:好的建議,編輯。 – 6502