diff --git a/src/CollisionUtils.java b/src/CollisionUtils.java new file mode 100644 index 0000000..7f9b171 --- /dev/null +++ b/src/CollisionUtils.java @@ -0,0 +1,29 @@ +package com.snakegame; + +import java.awt.Point; + +public class CollisionUtils { + public static boolean checkWallCollision(Point head, GameConfig config) { + if (!config.isWallCollisionEnabled()) { + if (head.x < 0) { + head.x = config.getWidth() - 1; + } + if (head.x >= config.getWidth()) { + head.x = 0; + } + if (head.y < 0) { + head.y = config.getHeight() - 1; + } + if (head.y >= config.getHeight()) { + head.y = 0; + } + return false; + } else { + return head.x < 0 || head.x >= config.getWidth() || head.y < 0 || head.y >= config.getHeight(); + } + } + + public static boolean checkSelfCollision(Point head, java.util.LinkedList body) { + return body.subList(1, body.size()).contains(head); + } +} \ No newline at end of file