예제 #1
0
파일: grid.py 프로젝트: Vultaire/gol
 def iterate(self):
     new_grid = Grid()
     for x, y in self.get_candidate_cells():
         neighbors = self.get_num_of_neighbors(x, y)
         alive_now = self[(x, y)]
         alive_next = alive_next_turn(neighbors, alive_now)
         if alive_next:
             new_grid[(x, y)] = True
     return new_grid
예제 #2
0
파일: grid.py 프로젝트: Vultaire/gol
 def iterate(self):
     new_grid = Grid()
     for x, y in self.get_candidate_cells():
         neighbors = self.get_num_of_neighbors(x, y)
         alive_now = self[(x, y)]
         alive_next = alive_next_turn(neighbors, alive_now)
         if alive_next:
             new_grid[(x, y)] = True
     return new_grid
예제 #3
0
def test_statusquo_2_neighbors_and_alive_stays_alive():
    assert alive_next_turn(2, True)
예제 #4
0
def test_underpop():
    assert not alive_next_turn(1, True)
예제 #5
0
def test_overpop():
    assert not alive_next_turn(4, True)
예제 #6
0
def test_birth():
    assert alive_next_turn(3, False)
예제 #7
0
def test_statusquo_2_neighbors_and_dead_stays_dead():
    assert not alive_next_turn(2, False)
예제 #8
0
파일: test_rules.py 프로젝트: Vultaire/gol
def test_statusquo_3_neighbors_and_alive_stays_alive():
    assert alive_next_turn(3, True)
예제 #9
0
파일: test_rules.py 프로젝트: Vultaire/gol
def test_statusquo_2_neighbors_and_dead_stays_dead():
    assert not alive_next_turn(2, False)
예제 #10
0
파일: test_rules.py 프로젝트: Vultaire/gol
def test_underpop():
    assert not alive_next_turn(1, True)
예제 #11
0
파일: test_rules.py 프로젝트: Vultaire/gol
def test_overpop():
    assert not alive_next_turn(4, True)
예제 #12
0
파일: test_rules.py 프로젝트: Vultaire/gol
def test_birth():
    assert alive_next_turn(3, False)