// Use this for initialization void Start() { hitBy_type = "none"; game_scr = (Game_script)camera_obj.GetComponent <Game_script>(); snake_len = start_len; faster_speed = snake_speed; CancelInvoke(); // Move the Snake every 300ms if (snake_len >= max_len) { snake_len = max_len; } Vector2 v = transform.position; for (int i = 1; i <= snake_len; i++) { v.x = v.x + 1; // Transform g = (((GameObject)Instantiate(tailPrefab, // v, // Quaternion.identity)).transform); // Keep track of it in our tail list tail.Insert(0, (((GameObject)Instantiate(tailPrefab, v, Quaternion.identity)).transform)); } InvokeRepeating("Move", 0.1f, (0.1f / faster_speed)); num_eat_counter = num_eat; }
void Start() { speed = start_speed; // Initial Velocity game_scrt = camera_obj.GetComponent <Game_script>(); GetComponent <Rigidbody2D>().velocity = Vector2.right * speed; setBallType("white"); }
public bool checkFood(Vector2Int snakeHeadPos) { if (snakeHeadPos == field.foodPos) { Object.Destroy(field.foodObj); spawnFood(); Game_script.updateScore(); return(true); } return(false); }
private void movementHandler() { snake.moveTimer += Time.deltaTime; if (snake.moveTimer >= snake.moveTimerMax) { snake.moveTimer -= snake.moveTimerMax; SnakeMovePos lastMovePos = null; if (bodyPositions.Count > 0) { lastMovePos = bodyPositions[0]; } snake.bodyPositions.Insert(0, new SnakeMovePos(lastMovePos, snake.gridPos, snake.gridDirection)); snake.gridPos += directionVector(); snake.gridPos = Field.field.checkBoundries(snake.gridPos); if (Field.field.checkFood(snake.gridPos)) { SoundManager.playEatSound(); snake.bodySize++; snake.addBody(); } if (snake.bodyPositions.Count >= snake.bodySize + 1) { snake.bodyPositions.RemoveAt(snake.bodyPositions.Count - 1); } foreach (SnakeMovePos snakeMovePos in snake.bodyPositions) { if (snake.gridPos == snakeMovePos.getGridPos()) { SoundManager.playDeathSound(); Game_script.gameOver(); snake.gameOverFlag = true; } } transform.position = new Vector3(gridPos.x, gridPos.y); transform.eulerAngles = new Vector3(0, 0, angleFromVector(directionVector()) - 90); snake.updateBody(); snake.lastMoveDir = snake.gridDirection; } }
// Update is called once per frame void Update() { scoreText.text = Game_script.getScore().ToString(); }
// Start is called before the first frame update void Awake() { handler = this; increment = 1; resetScore(); }