def positions(inputGame, panel, ignored=0):
    obj = BrasileiroGame(inputGame)
    players = obj.getPlayers()
    gameObj = obj.getGameStruct()
    panel.figure.clf()
    graphical = panel.figure.gca()

    len_gameRounds = obj.getNumberRounds()
    for player in players:
        x = list(range(1+ignored,len_gameRounds+1))
        y = []
        for index in range(0+ignored,len_gameRounds):
            round = obj.getRound(index+1)
            count = 0
            for item_tuple in round[1]:
                count = count + 1
                if item_tuple.playerCode == player:
                    y.append(count)
            pass
        graphical.plot(x,y,'o-',lineWidth=2)
        #print(player,y,"<----")

    graphical.set_yticks(list(range(0,len(players)+1)))
    graphical.set_ylabel("Position")
    graphical.set_xlabel("Round")
    graphical.invert_yaxis()
    panel.draw()
def points(inputGame, panel, ignored=0):
    obj = BrasileiroGame(inputGame)
    players = obj.getPlayers()
    gameObj = obj.getGameStruct()
    panel.figure.clf()
    graphical = panel.figure.gca()

    len_gameRounds = obj.getNumberRounds()
    for player in players:
        x = list(range(1+ignored,len_gameRounds+1))
        y = []
        for index in range(0+ignored,len_gameRounds):
            round = obj.getRound(index+1)
            for item_tuple in round[1]:
                if item_tuple.playerCode == player:
                    y.append(item_tuple.totalScore)
            pass
        graphical.plot(x,y,'o-',lineWidth=2)
        #print(player,y,"<----")
    graphical.set_ylabel('Points')
    graphical.set_xlabel('Round')
    panel.draw()
if __name__ == '__main__':
    wb = Workbook()
    planilha = wb.active
    planilha.append(['ano','Drama by Path', 'Drama by Points', 'Drama by position'])
    games = Game.retrieveList()
    for game in games:
        genGame = BrasileiroGame(game)
        
        dramaPath = DramaByPaths(game=genGame, ignored=0).getMeasureValue() 
        dramaPoints = DramaByPointsUp2First(game=genGame, ignored=0, normScores=True).getMeasureValue()
        dramaPosition = DramaByPositionUp2First(game=genGame, ignored=0).getMeasureValue()
        planilha.append([game.year, dramaPath, dramaPoints, dramaPosition])
        
        
        winner = genGame.getWinner()
        nPlayers = len(genGame.getPlayers())
        nRounds = genGame.getNumberRounds()
        winnerPath = []
        for i in range(1, nRounds + 1):
            gameRound = genGame.getRound(i)[1]
            for r in gameRound:
                if r.playerCode == winner:
                    winnerPath.append(gameRound.index(r)+1)
                    break
        plt.figure(game.year)
        plt.plot(np.arange(1,nRounds+1), winnerPath, '-b', linewidth=1.5)
        plt.xlim(1,nRounds)
        plt.ylim(0, nPlayers)
        plt.yticks(np.arange(1, nPlayers, 3))
        plt.gca().invert_yaxis()
        plt.gca().set_title(str(game.year))