mirror of
https://github.com/Cpt-Adok/SNAKE.git
synced 2026-01-25 12:34:07 +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 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.
|
- `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)
|
# IA (Q-Learning)
|
||||||
|
|
||||||
## - Explications
|
## - Explications
|
||||||
|
|||||||
2
run.bat
2
run.bat
@@ -15,5 +15,5 @@ if %errror_size% gtr 0 (
|
|||||||
|
|
||||||
del /Q %error_file%
|
del /Q %error_file%
|
||||||
|
|
||||||
pause > null
|
pause
|
||||||
exit
|
exit
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
|
import display.Display;
|
||||||
import environnements.*;
|
import environnements.*;
|
||||||
import game.Terminal;
|
import game.Terminal;
|
||||||
import personnages.*;
|
import personnages.*;
|
||||||
@@ -18,10 +19,13 @@ public class Main {
|
|||||||
new Player(new int[] {grid[0].length - 1, grid.length - 1}, "Luke Skywalker")
|
new Player(new int[] {grid[0].length - 1, grid.length - 1}, "Luke Skywalker")
|
||||||
};
|
};
|
||||||
|
|
||||||
map.addObjects(Item.FRAISE, 3, 5);
|
map.addObjects(Item.WALL, 19, 7);
|
||||||
map.addObjectsRandomize(new Item[] {Item.FRAISE, Item.WALL}, 3);
|
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
|
// lancer en ligne
|
||||||
else {
|
else {
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package display;
|
package display;
|
||||||
|
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
import environnements.Grid;
|
import environnements.Grid;
|
||||||
import personnages.Personnage;
|
import personnages.Personnage;
|
||||||
import types.Item;
|
import types.Item;
|
||||||
@@ -51,8 +53,13 @@ public class Display {
|
|||||||
(x < map[y].length - 1) ? map[y][x + 1] == Item.WALL : false,
|
(x < map[y].length - 1) ? map[y][x + 1] == Item.WALL : false,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// System.out.println(Arrays.toString(position));
|
||||||
|
|
||||||
for(Wall value : Wall.values()) {
|
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,25 +1,29 @@
|
|||||||
package display;
|
package display;
|
||||||
|
|
||||||
import java.util.Arrays;
|
|
||||||
|
|
||||||
public enum Wall {
|
public enum Wall {
|
||||||
ALL("\u2550\u256C\u2550", new boolean[] {true, true, true, true}),
|
ALL("\u2550\u256C\u2550", new boolean[] {true, true, true, true}),
|
||||||
AUCUN("\u2550\u256C\u2550", new boolean[] {false, false, false, false}),
|
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}),
|
||||||
GAUCHE_DROITE("\u2550\u2550\u2550", new boolean[] {false, false, true, true}),
|
BAS("\u2551 ", new boolean[] {false, true, false, false}),
|
||||||
|
|
||||||
HAUT_GAUCHE("\u255D ", new boolean[]{true, false, true, false}),
|
|
||||||
HAUT_DROITE("\u255A", new boolean[]{true, false, false, true}),
|
|
||||||
|
|
||||||
BAS_GAUCHE("\u2557 ", new boolean[]{false, true, true, false}),
|
|
||||||
BAS_DROITE("\u2554", new boolean[] {false, true, false, true}),
|
|
||||||
|
|
||||||
HAUT_BAS_DROITE("\u2560", new boolean[] {true, true, false, true}),
|
|
||||||
HAUT_BAS_GAUCHE("\u2563", new boolean[] {true, true, true, 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("\u2550\u255D ", new boolean[]{true, false, true, false}),
|
||||||
|
HAUT_DROITE("\u255A\u2550", new boolean[]{true, false, 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\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}),
|
HAUT_GAUCHE_DROITE("\u2550\u2569\u2550", new boolean[] {true, false, true, true}),
|
||||||
BAS_GAUCHE_DROITE("\u2550\u2566\u2550", new boolean[] {false, true, true, true});
|
BAS_GAUCHE_DROITE("\u2550\u2566\u2550", new boolean[] {false, true, true, true});
|
||||||
|
|
||||||
private final boolean[] POSITION;
|
private final boolean[] POSITION;
|
||||||
private final String ASCII;
|
private final String ASCII;
|
||||||
@@ -34,7 +38,14 @@ public enum Wall {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public boolean isEqual(boolean[] position) {
|
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() {
|
public boolean[] getPosition() {
|
||||||
|
|||||||
Reference in New Issue
Block a user