Loading jeuAssemblage/maps.tetriste +1 −1 Changes for jeuAssemblage/maps.tetriste: 1 added line, 1 removed line. Original line number Diff line number Diff line 12;13;6;2001265384976310272 0;0;0;0;shesh10;10 jeuAssemblage/src/main/App.java +12 −2 Changes for jeuAssemblage/src/main/App.java: 12 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -5,6 +5,8 @@ import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.SwingUtilities; import model.arrangement.Arrangement; import model.arrangement.ArrangementList; import view.MainFrame; public class App { Loading @@ -15,8 +17,16 @@ public class App { public static void main(String[] args) throws Exception { //PlayBoard p = PlayBoard.constructPlayBoard(Long.parseLong("2392006401451300864"), 10, 11, 5); //new AIStrategy(p); //FUTURS TESTS QUI FAUT METTRE DANS LES JUNITS /* Arrangement a = new Arrangement(0, 0, 0, 0, "shesh", 0); Arrangement b = new Arrangement(0, 0, 0, 0, "shesh10", 10); ArrangementList.addArrangement(a); PlayBoard p = PlayBoard.constructPlayBoard(Long.parseLong("2392006401451300864"), 10, 11, 5); new AIStrategy(p); */ SwingUtilities.invokeLater(() -> { Loading jeuAssemblage/src/model/PlayBoard.java +6 −0 Changes for jeuAssemblage/src/model/PlayBoard.java: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import factory.OFactory; import factory.PieceFactory; import factory.TFactory; import factory.ZFactory; import model.arrangement.Arrangement; import model.listener.IPlayBoardListenable; import model.listener.IPlayBoardListener; import observer.AbstractListenableHM; Loading Loading @@ -303,7 +304,12 @@ public class PlayBoard extends AbstractListenableHM implements Listener, IPlayBo @Override public boolean equals(Object p) { if (!(p instanceof PlayBoard) || p == null) { return false; } PlayBoard pBoard = (PlayBoard) p; if (this.seed != pBoard.seed) return false; if (this.sizeX != pBoard.sizeX) return false; if (this.sizeY != pBoard.sizeY) return false; Loading jeuAssemblage/src/model/Arrangement.java→jeuAssemblage/src/model/arrangement/Arrangement.java +33 −4 Changes for jeuAssemblage/src/model/arrangement/Arrangement.java: 33 added lines, 4 removed lines. Original line number Diff line number Diff line package model; package model.arrangement; public class Arrangement { private int sizeX; Loading @@ -6,8 +6,8 @@ public class Arrangement { private int pieceCount; private long seed; private String username; private int score; protected String username; protected int score; public Arrangement(int sizeX, int sizeY, int pieceCount, long seed, String username, int score) { this.sizeX = sizeX; Loading @@ -15,9 +15,38 @@ public class Arrangement { this.pieceCount = pieceCount; this.seed = seed; this.username = username; this.seed = seed; this.score = score; } public void setUsername( String username ) { this.username = username; } public void setScore( int score ) { this.score = score; } @Override public boolean equals(Object o) { if (!(o instanceof Arrangement) || o == null) { return false; } Arrangement a = (Arrangement) o; if (this.sizeX != a.sizeX || this.sizeY != a.sizeY) { return false; } if (this.pieceCount != a.pieceCount || this.seed != a.seed) { return false; } return true; } @Override public String toString() { return this.sizeX + ";" + this.sizeY + ";" + this.pieceCount + ";" + this.seed + ";" + this.username + ";" + this.score; } } No newline at end of file jeuAssemblage/src/model/arrangement/ArrangementList.java 0 → 100644 +105 −0 Changes for jeuAssemblage/src/model/arrangement/ArrangementList.java: 105 added lines, 0 removed lines. Original line number Diff line number Diff line package model.arrangement; import java.util.List; import java.util.ArrayList; import java.util.Scanner; import java.io.*; import java.nio.file.Path; import java.nio.file.Paths; public class ArrangementList { private static List<Arrangement> arrangements; static { ArrangementList.arrangements = ArrangementList.getArrangementList(); } public static List<Arrangement> getArrangements() { return ArrangementList.arrangements; } public static void addArrangement(Arrangement arrangement) { Arrangement copy = ArrangementList.exist(arrangement); if (copy != null) { if (copy.score < arrangement.score) { copy.score = arrangement.score; copy.username = arrangement.username; } } else { ArrangementList.arrangements.add(arrangement); } ArrangementList.registerArrangement(); } private static Arrangement exist(Arrangement arrangement) { for (Arrangement a : ArrangementList.arrangements) { if (a.equals(arrangement)) return a; } return null; } private static void registerArrangement() { File f = new File(ArrangementList.getPath() + "/maps.tetriste"); if (!f.exists()) { try { f.createNewFile(); } catch (Exception e) { e.printStackTrace(); } } String str = ""; for (Arrangement a : ArrangementList.arrangements) { str += a.toString() + "\n"; } try { BufferedWriter writer = new BufferedWriter(new FileWriter(f)); writer.append(str); writer.close(); } catch (Exception e) { e.printStackTrace(); } } private static ArrayList<Arrangement> getArrangementList() { ArrayList<Arrangement> retLst = new ArrayList<Arrangement>(); File f = new File(ArrangementList.getPath() + "/maps.tetriste"); if (!f.exists()) return retLst; try { Scanner sc = new Scanner(f); while (sc.hasNext()) { String[] vals = sc.nextLine().split(";"); int sizeX = Integer.parseInt(vals[0]);; int sizeY = Integer.parseInt(vals[1]); int pieceCount = Integer.parseInt(vals[2]); long seed = Long.parseLong(vals[3]); String username = vals[4]; int score = Integer.parseInt(vals[5]); retLst.add(new Arrangement(sizeX, sizeY, pieceCount, seed, username, score)); } sc.close(); } catch (Exception e) { e.printStackTrace(); } return retLst; } private static String getPath() { Path path = Paths.get(""); return path.toAbsolutePath().toString(); } } Loading
jeuAssemblage/maps.tetriste +1 −1 Changes for jeuAssemblage/maps.tetriste: 1 added line, 1 removed line. Original line number Diff line number Diff line 12;13;6;2001265384976310272 0;0;0;0;shesh10;10
jeuAssemblage/src/main/App.java +12 −2 Changes for jeuAssemblage/src/main/App.java: 12 added lines, 2 removed lines. Original line number Diff line number Diff line Loading @@ -5,6 +5,8 @@ import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.SwingUtilities; import model.arrangement.Arrangement; import model.arrangement.ArrangementList; import view.MainFrame; public class App { Loading @@ -15,8 +17,16 @@ public class App { public static void main(String[] args) throws Exception { //PlayBoard p = PlayBoard.constructPlayBoard(Long.parseLong("2392006401451300864"), 10, 11, 5); //new AIStrategy(p); //FUTURS TESTS QUI FAUT METTRE DANS LES JUNITS /* Arrangement a = new Arrangement(0, 0, 0, 0, "shesh", 0); Arrangement b = new Arrangement(0, 0, 0, 0, "shesh10", 10); ArrangementList.addArrangement(a); PlayBoard p = PlayBoard.constructPlayBoard(Long.parseLong("2392006401451300864"), 10, 11, 5); new AIStrategy(p); */ SwingUtilities.invokeLater(() -> { Loading
jeuAssemblage/src/model/PlayBoard.java +6 −0 Changes for jeuAssemblage/src/model/PlayBoard.java: 6 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -20,6 +20,7 @@ import factory.OFactory; import factory.PieceFactory; import factory.TFactory; import factory.ZFactory; import model.arrangement.Arrangement; import model.listener.IPlayBoardListenable; import model.listener.IPlayBoardListener; import observer.AbstractListenableHM; Loading Loading @@ -303,7 +304,12 @@ public class PlayBoard extends AbstractListenableHM implements Listener, IPlayBo @Override public boolean equals(Object p) { if (!(p instanceof PlayBoard) || p == null) { return false; } PlayBoard pBoard = (PlayBoard) p; if (this.seed != pBoard.seed) return false; if (this.sizeX != pBoard.sizeX) return false; if (this.sizeY != pBoard.sizeY) return false; Loading
jeuAssemblage/src/model/Arrangement.java→jeuAssemblage/src/model/arrangement/Arrangement.java +33 −4 Changes for jeuAssemblage/src/model/arrangement/Arrangement.java: 33 added lines, 4 removed lines. Original line number Diff line number Diff line package model; package model.arrangement; public class Arrangement { private int sizeX; Loading @@ -6,8 +6,8 @@ public class Arrangement { private int pieceCount; private long seed; private String username; private int score; protected String username; protected int score; public Arrangement(int sizeX, int sizeY, int pieceCount, long seed, String username, int score) { this.sizeX = sizeX; Loading @@ -15,9 +15,38 @@ public class Arrangement { this.pieceCount = pieceCount; this.seed = seed; this.username = username; this.seed = seed; this.score = score; } public void setUsername( String username ) { this.username = username; } public void setScore( int score ) { this.score = score; } @Override public boolean equals(Object o) { if (!(o instanceof Arrangement) || o == null) { return false; } Arrangement a = (Arrangement) o; if (this.sizeX != a.sizeX || this.sizeY != a.sizeY) { return false; } if (this.pieceCount != a.pieceCount || this.seed != a.seed) { return false; } return true; } @Override public String toString() { return this.sizeX + ";" + this.sizeY + ";" + this.pieceCount + ";" + this.seed + ";" + this.username + ";" + this.score; } } No newline at end of file
jeuAssemblage/src/model/arrangement/ArrangementList.java 0 → 100644 +105 −0 Changes for jeuAssemblage/src/model/arrangement/ArrangementList.java: 105 added lines, 0 removed lines. Original line number Diff line number Diff line package model.arrangement; import java.util.List; import java.util.ArrayList; import java.util.Scanner; import java.io.*; import java.nio.file.Path; import java.nio.file.Paths; public class ArrangementList { private static List<Arrangement> arrangements; static { ArrangementList.arrangements = ArrangementList.getArrangementList(); } public static List<Arrangement> getArrangements() { return ArrangementList.arrangements; } public static void addArrangement(Arrangement arrangement) { Arrangement copy = ArrangementList.exist(arrangement); if (copy != null) { if (copy.score < arrangement.score) { copy.score = arrangement.score; copy.username = arrangement.username; } } else { ArrangementList.arrangements.add(arrangement); } ArrangementList.registerArrangement(); } private static Arrangement exist(Arrangement arrangement) { for (Arrangement a : ArrangementList.arrangements) { if (a.equals(arrangement)) return a; } return null; } private static void registerArrangement() { File f = new File(ArrangementList.getPath() + "/maps.tetriste"); if (!f.exists()) { try { f.createNewFile(); } catch (Exception e) { e.printStackTrace(); } } String str = ""; for (Arrangement a : ArrangementList.arrangements) { str += a.toString() + "\n"; } try { BufferedWriter writer = new BufferedWriter(new FileWriter(f)); writer.append(str); writer.close(); } catch (Exception e) { e.printStackTrace(); } } private static ArrayList<Arrangement> getArrangementList() { ArrayList<Arrangement> retLst = new ArrayList<Arrangement>(); File f = new File(ArrangementList.getPath() + "/maps.tetriste"); if (!f.exists()) return retLst; try { Scanner sc = new Scanner(f); while (sc.hasNext()) { String[] vals = sc.nextLine().split(";"); int sizeX = Integer.parseInt(vals[0]);; int sizeY = Integer.parseInt(vals[1]); int pieceCount = Integer.parseInt(vals[2]); long seed = Long.parseLong(vals[3]); String username = vals[4]; int score = Integer.parseInt(vals[5]); retLst.add(new Arrangement(sizeX, sizeY, pieceCount, seed, username, score)); } sc.close(); } catch (Exception e) { e.printStackTrace(); } return retLst; } private static String getPath() { Path path = Paths.get(""); return path.toAbsolutePath().toString(); } }