Python의 생명 게임

여기요!
제가 가장 좋아하는 언어인 Python으로 Game OF Life 시뮬레이션을 코딩하는 방법을 보여드리겠습니다.
처음에는 Wikipedia뿐만 아니라 여러 리소스에서 Game Of Life가 무엇인지 완전히 이해하지 못했습니다 😄- 아이디어를 모았고 단계별로 전체 개념이 드러났습니다. Evolution!

제 채널을 구독해 주세요. 매주 동영상을 게시합니다. 말하지 않고 묵묵히 코딩하면서 제가 아는 것을 공유하려고 노력합니다.

코드는 다음과 같습니다 🙂



''This is Game Of Life (Thrones 😄) 
   simulation coded in Python '''

from random import choice
from turtle import *
import turtle
from freegames import square

cells = {}

# 1 Initialization function
def initialize():
    '''Here, we will randomly initialize the cells'''
    for x in range( -200, 200, 10):
        for y in range( -200, 200, 10):
            cells[x,y] = False

    for x in range(-50, 50, 10):
        for y in range(-50, 50 ,10):
            cells[x,y] = choice([True, False])

# 2 Step function
def step():
    '''Here, we will compute one step in the game of life.'''
    neighbors = {}

    for x in range(-190, 190, 10):
        for y in range(-190, 190, 10):
            count = -cells[x,y]
            for h in [-10, 0, 10]:
                for v in [-10, 0, 10]:
                    count += cells[ x + h, y + v ]
            neighbors[x,y] = count

    for cell, count in neighbors.items():
        if cells[cell]:
            if count < 2 or count > 3:
                cells[cell] = False 
        elif count == 3:
            cells[cell] = True


# 3 The drawing function
def draw():
    '''Here, we are going to draw all the green squares, i choose green to match the channel's theme 😄'''
    step()
    clear()
    for (x,y), alive in cells.items():
        color = 'green' if alive else 'black'
        square(x,y,10,color)
    update()
    ontimer(draw, 100)

'''Setting up the turtle window'''
turtle.title("Game of life")
setup(420, 420, 370, 0)
hideturtle()
tracer(False)
initialize()
draw()
done() 

좋은 웹페이지 즐겨찾기