mirror of
https://github.com/Cpt-Adok/SNAKE.git
synced 2026-01-25 10:34:06 +00:00
correction de probleme
This commit is contained in:
@@ -38,8 +38,9 @@ Pour lancer le jeu en multijoueur avec Makefile (mot1 et mot2 sont des mots à c
|
||||
- `Make channel=mot1 adversaire=mot2` : compile tout le programme et le lance en multijoueur.
|
||||
- `Make run channel=mot1 adversaire=mot2` : lance uniquement le programme en multijoueur.
|
||||
|
||||
Sur windows, vous avez une autre option que personnellement je vous encourage, c'est l'utilisation du `run.bat`. Ce programme va lancer
|
||||
Sur windows, vous avez une autre option que personnellement je vous encourage, c'est l'utilisation du `run.bat`. Ce programme va lancer le Makefile mais aussi le faite de mettre l'utf-8 sur la session. Si vous utilisez pas le `run.bat`, vous aurez possiblement certains problèmes avec certains caractères qui seront remplacés par des "?", pour lancer le programme run.bat (mot1 et mot2 sont des mots à changer en fonction du canal):
|
||||
|
||||
- `run.bat mot1 mot2` : il va uniquement lancer `Make channel=mot1 adversaire=mot2` et en même temps lancer `chcp 65001` qui va mettre l'utf-8.
|
||||
# IA (Q-Learning)
|
||||
|
||||
## - Explications
|
||||
|
||||
2
run.bat
2
run.bat
@@ -15,5 +15,5 @@ if %errror_size% gtr 0 (
|
||||
|
||||
del /Q %error_file%
|
||||
|
||||
pause > null
|
||||
pause
|
||||
exit
|
||||
@@ -1,3 +1,4 @@
|
||||
import display.Display;
|
||||
import environnements.*;
|
||||
import game.Terminal;
|
||||
import personnages.*;
|
||||
@@ -18,10 +19,13 @@ public class Main {
|
||||
new Player(new int[] {grid[0].length - 1, grid.length - 1}, "Luke Skywalker")
|
||||
};
|
||||
|
||||
map.addObjects(Item.FRAISE, 3, 5);
|
||||
map.addObjectsRandomize(new Item[] {Item.FRAISE, Item.WALL}, 3);
|
||||
map.addObjects(Item.WALL, 19, 7);
|
||||
map.addObjects(Item.WALL, 19, 6);
|
||||
map.placeObjects();
|
||||
Display.printMap(map.addEdges());
|
||||
Display.printMapName(grid);
|
||||
|
||||
new Terminal(map, personnages).run();
|
||||
// new Terminal(map, personnages).run();
|
||||
}
|
||||
// lancer en ligne
|
||||
else {
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package display;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
import environnements.Grid;
|
||||
import personnages.Personnage;
|
||||
import types.Item;
|
||||
@@ -51,8 +53,13 @@ public class Display {
|
||||
(x < map[y].length - 1) ? map[y][x + 1] == Item.WALL : false,
|
||||
};
|
||||
|
||||
// System.out.println(Arrays.toString(position));
|
||||
|
||||
for(Wall value : Wall.values()) {
|
||||
if(value.isEqual(position)) map[y][x].updateStringCode(value.getAscii());
|
||||
if(value.isEqual(position)) {
|
||||
map[y][x].updateStringCode(value.getAscii());
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,21 +1,25 @@
|
||||
package display;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
public enum Wall {
|
||||
ALL("\u2550\u256C\u2550", new boolean[] {true, true, true, true}),
|
||||
AUCUN("\u2550\u256C\u2550", new boolean[] {false, false, false, false}),
|
||||
|
||||
HAUT_BAS("\u2551", new boolean[] {true, true, false, false}),
|
||||
HAUT("\u2551 ", new boolean[] {true, false, false, false}),
|
||||
BAS("\u2551 ", new boolean[] {false, true, false, false}),
|
||||
|
||||
GAUCHE("\u2550\u2550\u2550", new boolean[] {false, false, true, false}),
|
||||
DROITE("\u2550\u2550\u2550", new boolean[] {false, false, false, true}),
|
||||
|
||||
HAUT_BAS("\u2551 ", new boolean[] {true, true, false, false}),
|
||||
GAUCHE_DROITE("\u2550\u2550\u2550", new boolean[] {false, false, true, true}),
|
||||
|
||||
HAUT_GAUCHE("\u255D ", new boolean[]{true, false, true, false}),
|
||||
HAUT_DROITE("\u255A", new boolean[]{true, false, false, true}),
|
||||
HAUT_GAUCHE("\u2550\u255D ", new boolean[]{true, false, true, false}),
|
||||
HAUT_DROITE("\u255A\u2550", new boolean[]{true, false, false, true}),
|
||||
|
||||
BAS_GAUCHE("\u2557 ", new boolean[]{false, true, true, false}),
|
||||
BAS_DROITE("\u2554", new boolean[] {false, true, false, true}),
|
||||
BAS_GAUCHE("\u2550\u2557 ", new boolean[]{false, true, true, false}),
|
||||
BAS_DROITE("\u2554\u2550", new boolean[] {false, true, false, true}),
|
||||
|
||||
HAUT_BAS_DROITE("\u2560", new boolean[] {true, true, false, true}),
|
||||
HAUT_BAS_DROITE("\u2560\u2550 ", new boolean[] {true, true, false, true}),
|
||||
HAUT_BAS_GAUCHE("\u2563", new boolean[] {true, true, true, false}),
|
||||
|
||||
HAUT_GAUCHE_DROITE("\u2550\u2569\u2550", new boolean[] {true, false, true, true}),
|
||||
@@ -34,7 +38,14 @@ public enum Wall {
|
||||
}
|
||||
|
||||
public boolean isEqual(boolean[] position) {
|
||||
return Arrays.equals(this.POSITION, position);
|
||||
boolean[] positionAscii = this.getPosition();
|
||||
|
||||
for (int i = 0; i < position.length; i++) {
|
||||
if (positionAscii[i] != position[i]) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public boolean[] getPosition() {
|
||||
|
||||
Reference in New Issue
Block a user