Tobias Krause
|
c6e0d83d70
|
tictactoe: hard AI prevents opponents win in row
|
3 years ago |
Tobias Krause
|
01f94e3198
|
tictactoe: countCharsInDiag throws IndexOutOfBoundsException for invalid index
|
3 years ago |
Tobias Krause
|
cce28aacd0
|
tictactoe: countCharsInDiag counts number of given char in specific diagonal
|
3 years ago |
Tobias Krause
|
525754409a
|
tictactoe: added method countCharsInDiag
|
3 years ago |
Tobias Krause
|
36b8cdfcac
|
tictactoe: countCharsInCol counts number of given char in specific col
|
3 years ago |
Tobias Krause
|
8c89d0edd6
|
tictactoe: added method countCharsInCol
|
3 years ago |
Tobias Krause
|
9029de6c12
|
tictactoe: countCharsInRow counts number of given char in specific row
|
3 years ago |
Tobias Krause
|
ddf9aebb8f
|
tictactoe: added method countCharsInRow
|
3 years ago |
Tobias Krause
|
4456251b07
|
tictactoe: hard AI sets edge in second move
|
3 years ago |
Tobias Krause
|
7c7e134ad9
|
tictactoe: hard AI sets middle field if it hasnt been set yet
|
3 years ago |
Tobias Krause
|
93591f47c0
|
tictactoe: hard AI chooses edge field if field in the middle was already set
|
3 years ago |
Tobias Krause
|
88d559c6c9
|
tictactoe: added hard AI
|
3 years ago |
Tobias Krause
|
bd561b7024
|
tictactoe: AIEasy never sets a field which was already set
|
3 years ago |
Tobias Krause
|
a786eb7496
|
tictactoe: added easy AI
|
3 years ago |
Malte Schellhardt
|
972fcd97a6
|
tictactoe: added setter for playfield and changed internal board datatype to char
|
3 years ago |
Malte Schellhardt
|
27cadc4097
|
tictactoe: refactored test code
|
3 years ago |
Malte Schellhardt
|
4e425ff54b
|
tictactoe: added restriction for board sizes below three
|
3 years ago |
Malte Schellhardt
|
edbbefc7ff
|
tictactoe: fixed fieldCountTest. Now works with different playfield sizes
|
3 years ago |
Malte Schellhardt
|
60ec15241b
|
tictactoe: refactored board management and added constructor to handle different playfield sizes
|
3 years ago |
Malte Schellhardt
|
068bed8357
|
tictactoe: added method to count playing fields
|
3 years ago |
Malte Schellhardt
|
d6b0153491
|
tictactoe: added getter for game board
|
3 years ago |
Malte Schellhardt
|
4e743e694e
|
tictactoe: added class for gamelogic
|
3 years ago |
Lorenz Hohmann
|
2c299f689a
|
Added GameManager and check if GameState is correct after start function call
|
3 years ago |
Lorenz Hohmann
|
66f48dd8d1
|
Added GameManager and check if GameState is correct after start function call
|
3 years ago |
Tobias Krause
|
c325e68dbd
|
leaderboard: getTop10Players returns the 10 players with the most points sorted by points
|
3 years ago |
Tobias Krause
|
1e724d8e80
|
leaderboard: getTop10Players returns first 10 Elements of sorted list
|
3 years ago |
Tobias Krause
|
21b07d077f
|
leaderboard: getTop10Players returns elements of sorted list
|
3 years ago |
Tobias Krause
|
1155d7c0d3
|
leaderboard: added method getTop10Players
|
3 years ago |
Lorenz Hohmann
|
40455d9ac6
|
Added GameManager and check if GameState is correct after start function call
|
3 years ago |
Lorenz Hohmann
|
f753e07ac1
|
Refactoring MatchfieldShipTest class
|
3 years ago |
Lorenz Hohmann
|
3ff4b665f6
|
Implemented method to random position ships on matchfield
|
3 years ago |
Lorenz Hohmann
|
a05c6c09b9
|
Added Test case when one coordinate is hit, but others on free field (isFreePosition() method)
|
3 years ago |
Lorenz Hohmann
|
8915964ed0
|
Added Test case when no ship is within the coordinates (isFree() method)
|
3 years ago |
Lorenz Hohmann
|
0419b89aaa
|
Refactoring: MatchfieldShipTest class
|
3 years ago |
Lorenz Hohmann
|
7830143d4b
|
Added isFreePosition() with first test case when position is filled
|
3 years ago |
Lorenz Hohmann
|
353c68c358
|
Fixed JUnit Imports (Maven didn't compile correctly)
|
3 years ago |
Lorenz Hohmann
|
bed8f71879
|
Implemented gameOver() function in GUI with test case
|
3 years ago |
Lorenz Hohmann
|
8e92a1caee
|
Added third test for areAllShipsHit() when a ship is not fully hit
|
3 years ago |
Lorenz Hohmann
|
aae87e50e1
|
Refactoring MatchfieldShipTest class: added description for tests and outsourced multiple tests into more functions
|
3 years ago |
Lorenz Hohmann
|
27e7a96ba7
|
Added second test case for areAllShipsHit() - all ships hit test
|
3 years ago |
Lorenz Hohmann
|
abeaff8d7b
|
Implemented areAllShipsHit() with first test case if no ship was hit
|
3 years ago |
Lorenz Hohmann
|
805c233108
|
Fixed GameLogicTest with new test parameter in start() function
|
3 years ago |
Lorenz Hohmann
|
b11262ba56
|
Changed whole GUI layout to two matchfields
|
3 years ago |
Lorenz Hohmann
|
d472759a1c
|
Implemented logic after ai made move and player made move
|
3 years ago |
Lorenz Hohmann
|
79f90946a5
|
Refactored LogicTest: No longer useful with general game loop
|
3 years ago |
Lorenz Hohmann
|
cc34afa847
|
Added test case when field was already hitted
|
3 years ago |
Lorenz Hohmann
|
4d69cc3e76
|
Added test case when field was already shot (expect false)
|
3 years ago |
Lorenz Hohmann
|
8c49de9767
|
New test case for shoot(): Check if field was already shot
|
3 years ago |
Lorenz Hohmann
|
dd87d19b18
|
Added second test case to shoot(): Call on Coordinate without ship
|
3 years ago |
Lorenz Hohmann
|
fadf708556
|
Added shoot() function to Coordinate class with first test case
|
3 years ago |