
Peg Jumping

The Pin Game is a puzzle that consists of a board with cross-shaped holes, initially filled with pins, except for an empty hole in the center. The goal is to perform valid movements to remove the pins until only one remains. A move is valid if a pin (pivot) can jump horizontally of vertically over an adjacent pin (target) towards an empty hole (target), removing the target pin.
You are given a board configuration as a list of 7 strings, each representing a line on the board. Each string contains exactly 7 characters, with '-' (hyphen) in the first two and last two characters of lines 1, 2, 6 and 7, 'o' (lowercase letter) representing a pin, or '.' (dot) representing a hole.
Your program should determine the number of possible valid moves.
Input: List of strings (str).
Output: Integer.
Examples:
assert ( peg_jump( ["--.o.--", "--o.o--", "....o..", "....o..", "o.o.o..", "--o.o--", "--o.o--"] ) == 2 ) assert ( peg_jump( ["--ooo--", "--oo.--", "ooo.ooo", "oo...oo", "ooo.ooo", "--o.o--", "--ooo--"] ) == 11 ) assert ( peg_jump( ["--ooo--", "--oo.--", "oo.o.oo", "o..o..o", "oo.o.oo", "--oo.--", "--ooo--"] ) == 8 ) assert ( peg_jump( ["--ooo--", "--o.o--", "oo.oooo", "o..o..o", "oooo.oo", "--o.o--", "--ooo--"] ) == 10 )