Snake Grid - UQcsse3200/2024-studio-2 GitHub Wiki
Overview
The SnakeGrid class is a designed specifically for the Snake mini-game. This extends the general Grid class and provides additional functionality such as checking for collisions and having grid positions for rendering.
Class: SnakeGrid
Package
package com.csse3200.game.components.minigame.snake;
Imports
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.math.Vector2;
import com.csse3200.game.components.minigame.Grid;
Description
The SnakeGrid class represents a grid specifically tailored for the Snake mini-game. It includes default dimensions and methods that assist with snake-specific functionality, such as detecting collisions and having grid positions for rendering.
Constructor
SnakeGrid()
- Description:
- New instance of the
SnakeGridwith default dimensions of 20x20 cells.
- New instance of the
Methods
boolean isCollision(int x, int y)
- Parameters:
int xandint y: The x-coordinate/ y-coordinate of the cell to check.
- Returns:
boolean:trueif the specified cell is occupied (indicating a potential collision),falseotherwise.
- Description:
- Checks whether a particular cell on the grid is occupied. This is primarily used to detect collisions with the snake's body or other obstacles.
Vector2 tileToWorldPosition(Vector2 gridPosition, int cellSize)
- Parameters:
Vector2 gridPosition: The position on the grid that needs to be converted to world coordinates.int cellSize: The size of each cell in pixels.
- Returns:
Vector2: The corresponding world position for rendering.
- Description:
- Calculate the offset to centre the grid and calculate the world position