예제 #1
0
    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())
예제 #2
0
    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='[ ]')