private TileForList getNextMove() { if (isOutOfPosition) { prepareAI(); } if (difficulty == (int)difficultyEnum.Perfect || 0 < numberOfPerfectMoves) { if (difficulty != (int)difficultyEnum.Perfect) { numberOfPerfectMoves--; } return(optimalSolution.Pop()); } else { bool doneMove = false; TileForList modified = optimalSolution.Pop(); Vector2Int position = new Vector2Int((int)carScript.transform.position.x, (int)carScript.transform.position.y); while (!doneMove) { int randomValue = (int)Random.Range(0, 5); Debug.Log("Random Value " + randomValue); if (!doneMove && randomValue == 0 && carScript.canAccelerate()) { modified.thisAction = "Accelerate"; doneMove = true; } else if (!doneMove && randomValue == 1 && carScript.canDeaccelerate()) { modified.thisAction = "Deaccelerate"; doneMove = true; } else if (!doneMove && randomValue == 2 && carScript.canDoNothing()) { modified.thisAction = "Do Nothing"; doneMove = true; } else if (!doneMove && randomValue == 3 && carScript.canMoveUp()) { modified.thisAction = "Move Up"; doneMove = true; } else if (!doneMove && randomValue == 4 && carScript.canMoveDown()) { modified.thisAction = "Move Down"; doneMove = true; } } isOutOfPosition = true; return(modified); } }
public void activatePlayer() { if (!playerIsActive) { currentSpeed.text = "Current Speed: " + playerCarScript.CurrentSpeed; playerIsActive = true; if (playerCarScript.canAccelerate()) { activateButton(accelerateButton); } else { deactivateButton(accelerateButton); } if (playerCarScript.canDeaccelerate()) { activateButton(deaccelerateButton); } else { deactivateButton(deaccelerateButton); } if (playerCarScript.canDoNothing()) { activateButton(doNothingButton); } else { deactivateButton(doNothingButton); } if (playerCarScript.canMoveUp()) { activateButton(moveUpButton); } else { deactivateButton(moveUpButton); } if (playerCarScript.canMoveDown()) { activateButton(moveDownButton); } else { deactivateButton(moveDownButton); } } }