   
   func updateRotation(radian: Double) {
     
-    let current_deg = self.radiansToDegrees(radian)
+    let currentDeg = self.radiansToDegrees(radian)
+//    let variation = Float(prevDeg - current_deg)
+    let _variation = variation(prevDeg, current: currentDeg)
     
     arrow.transform = CGAffineTransformMakeRotation(CGFloat(radian))
     
     switch playerType {
     case PlayerType.OneShot:
       // OneShot
-      let passed_index = self.getSlitIndexInRange(self.prevDeg, current: current_deg)
-      if 0 < passed_index.count {
-        for slit_index in passed_index {
-          
+      let passed_slit = slitIndexInRange(prevDeg, current: currentDeg)
+      
+      if 0 < passed_slit.count {
+        NSLog("--------------------------")
+        NSLog("passed_slit:\(passed_slit)")
+        NSLog("prev:\(prevDeg),current:\(currentDeg)")
+        NSLog("_variation:\(_variation)")
+        NSLog("current_index:\(current_index)")
+        NSLog("---")
+        let audioIndexes = Array(0..<audioFiles.count) // 0 - 15
+        var passed_players: Array<Int> = []
+        
+        if 0<_variation {
+          NSLog("+")
+          for i in 0..<passed_slit.count {
+            passed_players += [audioIndexes[passed_slit.get(i)!]]
+          }
+          current_index = audioFiles.relativeIndex(current_index+audioIndexes.count)
+        }
+        else {
+          NSLog("-")
+          for i in 0..<passed_slit.count {
+            passed_players += [audioIndexes[passed_slit.get(i)!]]
+          }
+          current_index = audioFiles.relativeIndex(current_index-audioIndexes.count)
+        }
+        NSLog("current_index:\(current_index)")
+        NSLog("passed_players:\(passed_players)")
+        
+        
+        for slit_index in passed_slit {
           // Sound
           let audioFile: AVAudioFile = audioFiles[slit_index] as AVAudioFile
           let player: AVAudioPlayerNode = oneShotPlayers[slit_index] as AVAudioPlayerNode

      // LongShot
      // 変化量
      // TODO 実際の車輪のスピードの範囲とうまくマッピングする
      let variation = Float(prevDeg - current_deg)
      if 0 < variation {
        longShotPlayers[0].volume = 0
        longShotPlayers[1].volume = abs(variation)
      }
      else {
        longShotPlayers[0].volume = abs(variation)
        longShotPlayers[1].volume = 0
      }
      // TODO Konashi通信

      else {
        setTonePlayerType(PlayerType.OneShot)
        
        for i in 1..<itemsCount+1 {
          let num = NSString(format: "%02d", isLeft ? itemsCount+1 - i : i) // 左車輪の音だったら反転し、２桁で0埋め
          let url = NSBundle.mainBundle().pathForResource("tones/\(toneDir)/\(num)", ofType: "wav")!
          let audioFile = AVAudioFile(forReading: NSURL(fileURLWithPath: url), error: nil)
          audioFiles += [audioFile]
