/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