package main; import frame.GameFrame; import objects.Fruit; import objects.Point; import objects.Snake; import threads.Trame; public class Main { public static int score = 0; public static boolean canMove = true; public static boolean during = false; public static short tab[][] = new short[20][20]; public static short tabmv[][] = new short[20][20]; public static GameFrame gf; public static Snake snake; public static Fruit f = null; public static int moves = 0; public static short direction = 0; // 0 BAS 1 HAUT 2 GAUCHE 3 DROITE public static void main(String[] args) { snake = new Snake((short)11, (short)3); initMoves(); initPlateau(snake); f = new Fruit(); gf = new GameFrame(); Trame t = new Trame(); t.start(); snake.up((short)(snake.getX() - 1), (short)(snake.getY() - 2), (short)0); snake.up((short)(snake.getX() - 1), (short)(snake.getY() - 3), (short)0); } public static void initMoves() { for (int i = 0; i < 20; i++) { for (int ii = 0; ii < 20; ii++) { tab[i][ii] = 0; } } } public static void initPlateau(Snake snake) { for (int i = 0; i < 20; i++) { for (int ii = 0; ii < 20; ii++) { tab[i][ii] = 0; } } tab[snake.getY() - 1][snake.getX() - 1] = 2; for (Point p : snake.getPoints()) tab[p.getY()][p.getX()] = 1; if (f != null && tab[f.getY()][f.getX()] != 2) tab[f.getY()][f.getX()] = 3; } public static short isToMove(Point p) { return tabmv[p.getY()][p.getX()]; } public static boolean removeUnusedMoves() { for (short i = 0; i < 20; i++) { for (short ii = 0; ii < 20; ii++) { if (tabmv[i][ii] != 0) { for (Point p : snake.getPoints()) { if (p.getX() == ii && p.getY() == i) { return false; } } tabmv[i][ii] = 0; moves--; } } } return true; } public static boolean gameOver() { for (short i = 0; i < 20; i++) { for (short ii = 0; ii < 20; ii++) { if (tab[i][ii] == 2) return false; } } return true; } }