# -*- coding:utf-8 -*-

GRID_SIZE = (20, 14) # maxi (20, 14)
DELAY = 300 # maj toutes les 0.3 secondes

# fichier d'enregistrement des scores
SCORES_FILE_NAME = ".scores01"

# obstacles
walls_coord_list = [(0,y) for y in range(0,GRID_SIZE[1])] + \
                   [(GRID_SIZE[0]-1,y) for y in range(0,GRID_SIZE[1])] + \
                   [(x,0) for x in range(1,GRID_SIZE[0]-1)] + \
                   [(x,GRID_SIZE[1]-1) for x in range(1,GRID_SIZE[0]-1)] + \
                   [(8,3),(10,3),(11,3)] + \
                   [(4,3),(4,5),(5,7),(6,8),(7,8),(12,7),(3,12)] + \
                   [(18,10),(17,10),(16,10),(16,9),(16,8)] + \
                   [(6,11),(7,11),(8,11),(9,11),(10,11)] # obstacles interieurs

# nourriture

CHERRY1_DELAY = 3
CHERRY1_WAITING = [0,0]
# il faut stabiliser player apres appel de cette fonction
# on peut mettre des valeur aleatoire dans les champs avec random
def cherry1_effect(player):
    player.alter_energy(2)
    player.alter_points(1)
    player.snake.alter_length(1)
    return player

CHERRY2_DELAY = 5
CHERRY2_WAITING = [0,0]
def cherry2_effect(player):
    player.alter_energy(3)
    player.alter_points(1)
    player.snake.alter_length(1)
    return player

CHERRY3_DELAY = 8
CHERRY3_WAITING = [0,0]
def cherry3_effect(player):
    player.alter_energy(4)
    player.alter_points(1)
    player.snake.alter_length(1)
    return player

CHERRYMINUS_DELAY = 3
CHERRYMINUS_WAITING = [i for i in range(1,9)] # 8 en tout
def cherryminus_effect(player):
    player.alter_energy(-5)
    player.alter_points(1)
    player.snake.alter_length(1)
    return player

HEART_DELAY = 10
HEART_WAITING = [10]
def heart_effect(player):
    player.alter_energy(11)
    player.snake.alter_length(1)
    return player
    
EGG_DELAY = 250
EGG_WAITING = [80]
def egg_effect(player):
    player.life += 1
    player.snake.alter_length(-3)
    return player
    
# snake_config init:
SNAKE_COORD_LIST = [(x,8) for x in range(0, -3, -1)]
SNAKE_IMAGE_LIST = ["E","EW","E"]
SNAKE_LENGTH = 3
SNAKE_OLD_DIREC = "E"
SNAKE_DIREC = "E"
# snake config
SNAKE_LENGTH_MIN = 3
SNAKE_LENGTH_MAX = 80

# player_config init:
PLAYER_ENERGY = 60
PLAYER_LIFE = 1
# player config
PLAYER_ENERGY_MAX = 80
PLAYER_LIFE_MAX = 4
PLAYER_DUREE_EXPLOSION = 5

# listes simplifiant le passage des parametres a player et snake
SNAKE_CONFIG_INIT = [SNAKE_COORD_LIST, SNAKE_IMAGE_LIST, SNAKE_LENGTH, SNAKE_OLD_DIREC, SNAKE_DIREC]
SNAKE_PARA = [SNAKE_LENGTH_MIN, SNAKE_LENGTH_MAX]
PLAYER_CONFIG_INIT = [PLAYER_ENERGY, PLAYER_LIFE]
PLAYER_PARA = [PLAYER_ENERGY_MAX, PLAYER_LIFE_MAX, PLAYER_DUREE_EXPLOSION]

objectifs = [unicode("manger 60 cerises", "utf-8")]
def player_pass_level(player):
    return player.points >= 60

# le resultat peut dependre des autres champs de player
def player_note(player):
    return player.points                 
