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.
SnakeGrid
Class: 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
SnakeGrid
with default dimensions of 20x20 cells.
- New instance of the
Methods
boolean isCollision(int x, int y)
- Parameters:
int x
andint y
: The x-coordinate/ y-coordinate of the cell to check.
- Returns:
boolean
:true
if the specified cell is occupied (indicating a potential collision),false
otherwise.
- 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