Escape-sprowe / TODO.txt
TODO.txt
Raw
X Make EscapeGameManagerImpl instance
X Make Board instance

X Make Coordinate

# Basic moves (piece on 4,4)
X [4,4] -> [4,4] false (Cannot move to current space)
X [4,4] -> [4,5] true

X Retrieving piece from board

# Advanced moves square
X [1,1] -> [1,2] false (no piece)
# Refactored Basic moves section so they check for existing piece on spaces
X [4,4] -> [50,50] false (out of bounds)
X [4,4] -> [4,5] | [4,4] -> [4,5] false (no piece)
X [4,4] -> [50,50] false (OOB) | [4,4] -> [4,5]
X [4,4] -> [9,9] false (out of range)

X Add error messages to console

# Pathfinding
# Put a bunch of blocks in the way of a Dog that can move 2 spaces
X [7,12] -> [5,12] false (out of range)
# Put a bunch of pieces in the way of a Dog that can move 2 spaces
X [3,12] -> [5,12] false (out of range)
# Have a Horse that can move 7 spaces path around the obstacles
X [9,12] -> [5,12]


# Rules
X Add rules to EscapeGameManagerImpl
# Test ScoreLimit
X [9,12] -> [5,12] 'PLAYER 1 wins' | [10,12] -> [5,12] false (Game Over)
# Test Ownership
X [10,12] -> [5,12] false (Not PLAYER 1's piece)
# Test TurnLimit
X [4,4] -> [4,5] | [10,12] -> [8,12]
| [4,5] -> [4,6] | [8,12] -> [5,11] 'Game Over' | [4,6] -> [4,7] false (Game Over)

# Test Basic Hex, uses test1Hex.egc
X [1,1] -> [2,2] false (out of range)

# Refactor packages

# Release 2, uses test2.egc unless stated otherwise

# Implement destination checking (No block, REMOVE)
X [3,4] -> [3,5] false (Destination invalid, block space)
X [4,12] -> [4,11] | [4,11] -> [4,10] false (Not PLAYER 2's piece)
X [3,4] -> [4,4] false (Can't remove own piece)

# Uses test1.egc
X [7,12] -> [9,12] false (piece on location)

# Unblock, exit too far unless going through blocks
X [7,12] -> [5,12]

# Implement Fly
# Bird with Fly 3 behind wall of blocks and a frog, would need 4 to go around
X [8,12] -> [5,12]

# Implement Linear movement pattern
X [5,9] -> [5,12] | [3,3] -> [1,1] | [3,2] -> [1,1] false (No path available)
# Uses test2Hex.egc
X [-3,0] -> [0,0] | [0,-3] -> [0,0] | [-2,1] -> [0,0] false (No path available)
# Uses test2Hex.egc
X [-2,-2] -> [0,0] false (No path available, block in way)

# Implement Value
# Uses test2Hex.egc
X [1,0] -> [0,0] | [0,-3] -> [0,0] false (Game over)

# Implement observers
# Refactor MoveValidator and EscapeGameManagerImpl to throw EscapeExceptions during events
# Create EscapeObserver instance
X [1,0] -> [0,0] PLAYER 1 wins | [0,-3] -> [0,0] Game is over and PLAYER1 has won
X X [7,12] -> [9,12] Move Error: Cannot land on a piece