回転の処理が分からないなら、あらかじめ全パターンを配列にいれておくのがよいかと。
計算して回転させるのも「むりやり」じゃなくてフツーだよ。
まぁ、やるなら最初にプログラム内で回転させたパターンを全部生成して、それを
使うのが一番良いと思うが。