APACHE-2.0 License
Java library to solve tetris M2 puzzle.
To use this template, you just need to click on "Use this template" at the top of the main page of this repository, or you can copy/paste this repository.
gpg --armor --export-secret-key <key-id> > privkey.asc
classDiagram
class TetrisSolver{
+solve(PuzzlePiece firstPuzzlePieces)$ HashMap<Integer, >
-solve(HashSet~Solution~ backTrack, int board, int nbUsePz1, int nbUsePz2, int nbUsePz3, int nbUsePz4, int nbUsePz5, int nbUsePz6)$
}
class Board{
+toString(int board)$ String
+canPutPuzzlePieceOnBoard(int board, int puzzlePiecePlacement)$ bool
}
Board ..> PuzzlePiece
Board ..> CoordinateCalculator
class CoordinateCalculator{
+getColomnIndex(int listIndex)$ int
+getRowIndex(int listIndex)$ int
+getListIndex(int rowIndex, int colomnIndex)$ int
}
class PuzzlePiece{
<<enumeration>>
STICK
SQUARE
L
INVERSED_L
MINI_SQUARE
Z
+getShape() int
+getAllPossiblePlacementInTheBoard() int[]
}
PuzzlePiece <|-- PuzzlePieceInterface
PuzzlePiece --> PuzzlePieceInterface
class PuzzlePieceInterface{
<<interface>>
+getShape() int
+getAllPossiblePlacementOnTheBoard() int[]
}
class Stick{
+getShape() int
+getAllPossiblePlacementOnTheBoard() int[]
}
Stick <|-- PuzzlePieceInterface
class Square{
+getShape() int
+getAllPossiblePlacementOnTheBoard() int[]
}
Square <|-- PuzzlePieceInterface
class L{
+getShape() int
+getAllPossiblePlacementOnTheBoard() int[]
}
L <|-- PuzzlePieceInterface
class Inversed_L{
+getShape() int
+getAllPossiblePlacementOnTheBoard() int[]
}
Inversed_L <|-- PuzzlePieceInterface
class Mini_Square{
+getShape() int
+getAllPossiblePlacementOnTheBoard() int[]
}
Mini_Square <|-- PuzzlePieceInterface
class Z{
+getShape() int
+getAllPossiblePlacementOnTheBoard() int[]
}
Z <|-- PuzzlePieceInterface