/M Cotter Enloe Hs
/Sr Div C#4
/Python
columns =
{"A":0,"B":1,"C":2,"D":3,"E":4,"F":5,"G":6,"H":7}
rev_col =
{0:"A",1:"B",2:"C",3:"D",4:"E",5:"F",6:"G",7:"H"}
directions =
[[0,1],[1,0],[0,-1],[-1,0],[1,1],[1,-1],[-1,-1],[-1,1]]
TESTING = {1:"6E,6F,5F,4F,4G,##",
2:"6F,7G,6E,4F,8H,##",
3:"7C,7E,7G,##",
4:"2E,3E,3F,4F,3D,1E,##",
5:"7C,3F,3C,6C,6F,4C,5C,##"}
def flipper(x,y,dx,dy,piece,enemy,grid):
if x <= 7 and
x>=0 and y <= 7 and y >=0 and grid[y][x] == enemy:
data =
flipper(x+dx,y+dy,dx,dy,piece,enemy,grid)
elif not(x <=
7 and x>=0 and y <= 7 and y >=0):
return
[False,0]
elif grid[y][x]
== 0:
return
[False,0]
elif grid[y][x]
== piece:
return
[True,0]
if data[0] ==
True:
grid[y][x] =
piece
data[1] += 1
return data
for z in range(5):
# A B C D E F G H
grid =
[[0,0,0,0,0,0,0,0],#1
[0,0,0,0,0,0,0,0],#2
[0,0,0,0,0,0,0,0],#3
[0,0,0,2,1,0,0,0],#4
[0,0,0,1,2,0,0,0],#5
[0,0,0,0,0,0,0,0],#6
[0,0,0,0,0,0,0,0],#7
#grid[1][A]
[0,0,0,0,0,0,0,0]]#8
print
TESTING.get(z+1)
input = TESTING.get(z+1).split(',')
y=0
moves = []
while not
input[y] == "##":
num =
int(input[y][0]) - 1
let =
columns.get(input[y][1])
moves.append((let,num))
y+=1
counter = 0
player = False
for move in
moves:
grid[move[1]][move[0]] = int(player)+ 1
for dir in
directions:
count =
flipper(move[0]+dir[0],move[1]+dir[1],dir[0],dir[1],player+1,(not
player)+1,grid)[1]
counter
+= count
player = not
player
print counter