def __init__(self, nlins=NLINS, ncols=NCOLS, pop_baixa=BAIXA_POP, pop_alta=ALTA_POP): if nlins < 0: raise ValorEstruturalInvalido("Numero de linhas menor que zero!") if ncols < 0: raise ValorEstruturalInvalido("Numero de colunas menor que zero!") self._nlins = nlins self._ncols = ncols # A representacao interna da matriz de jogo e um vetor unidimensional. # O metodo par_coord_para_unidim e responsavel pela conversao de # coordenadas bidimensionais para unidimensionais self._matriz_jogo = [] self._tamanho_total = nlins * ncols # Pelas regras do jogo, qualquer celula viva com menos do que # pop_baixa vizinhos morre por solidao, e com mais do que # pop_alta vizinhos morre por superpopulacao. Celulas vivas # so permanecem vivas com um pop_baixa <= n <= pop_alta, n # sendo o numero de vizinhos. Celulas mortas se tornam vivas # com pop_alta vizinhos. self._pop_baixa = pop_baixa self._pop_alta = pop_alta # Preenche o jogo inicial com celulas vazias for i in range(0, self._tamanho_total): self._matriz_jogo.append(CelulaJogoDaVida())
def __init__(self, nlins=NLINS, ncols=NCOLS, pop_low=LOW_POP, pop_high=HIGH_POP): if nlins < 0: raise classException("Number of lines less than zero!") if ncols < 0: raise classException("Number of collumns less than zero!") self._nlins = nlins self._ncols = ncols self._game_board = [] self._full_size = nlins * ncols self._pop_low = pop_low self._pop_high = pop_high # Initilize for i in range(0, self._full_size): self._game_board.append(CelulaJogoDaVida())
def setUp(self): self.celula = CelulaJogoDaVida(viva=False, simbolo_viva='[X]', simbolo_morta='[ ]')