// Update is called once per frame void Update() { // スタート処理 if (isStarting) { if (gameType < 2) { //さいころをいくつか追加 for (int i = 0; i < initDicesNum; i++) { randomDiceGenerate(); } } isStarting = false; if (gameType == 1) { Time.timeScale = 0f; } } int flick = Puni(); //ぷに検知 // キー入力一括制御 if (isRotate_dice == false && isRotate_charactor == false && isGameovered == false) { if (Input.GetKey(KeyCode.RightArrow) || flick == 2) { if (Dice && objDiceController.SetTargetPosition(2)) { VanishDice(objDiceController.X, objDiceController.Z); } objAquiController.SetTargetPosition(2); } else if (Input.GetKey(KeyCode.LeftArrow) || flick == 0) { if (Dice && objDiceController.SetTargetPosition(0)) { VanishDice(objDiceController.X, objDiceController.Z); } objAquiController.SetTargetPosition(0); } else if (Input.GetKey(KeyCode.UpArrow) || flick == 1) { if (Dice && objDiceController.SetTargetPosition(1)) { VanishDice(objDiceController.X, objDiceController.Z); } objAquiController.SetTargetPosition(1); } else if (Input.GetKey(KeyCode.DownArrow) || flick == 3) { if (Dice && objDiceController.SetTargetPosition(3)) { VanishDice(objDiceController.X, objDiceController.Z); } objAquiController.SetTargetPosition(3); } else if (Input.GetKey(KeyCode.K)) { score += 1000; } Debug.Log("board[" + objAquiController.x.ToString() + "," + objAquiController.z.ToString() + "]=" + board[objAquiController.x, objAquiController.z].ToString()); if (objAquiController.x != objDiceController.X || objAquiController.z != objDiceController.Z) { if (board[objAquiController.x, objAquiController.z] != -1) // 移動先にサイコロが存在するならば { Dice = dices[board[objAquiController.x, objAquiController.z]]; objDiceController = Dice.GetComponent <DiceController>(); objDiceController.isSelected = true; //選択 } } } timeElapsed += Time.deltaTime; if (gameType != 2) { if (gameType == 0) { //ソロモードの速さ if (level > 21) { //現状レベル21で速さは打ち止め if (timeElapsed >= (1.2 + (0.3 * Mathf.Sin(Mathf.PI * level / 4)))) { randomDiceGenerate(); timeElapsed = 0.0f; } } // さいころ追加 スタートは3秒ごと、ゴールは1.25秒ごと else if (timeElapsed >= (3f - (1 / 12f) * level)) //1/12は(初速-最高速)/レベルで求められた { randomDiceGenerate(); timeElapsed = 0.0f; } } if (gameType == 1) { //対戦モードの速さ if (level > 21) { //現状レベル21で速さは打ち止め if (timeElapsed >= 1.5) { randomDiceGenerate(); timeElapsed = 0.0f; } } // さいころ追加 スタートは3.5秒ごと、ゴールは1.5秒ごと else if (timeElapsed >= (3.5f - (2 / 21f) * level)) { randomDiceGenerate(); timeElapsed = 0.0f; } } } }