Conway의 인생 게임을 공유하세요

3795 단어 watercoolershowdev
슬프게도 John Horton Conway에는 passed away이 있습니다. 수년에 걸쳐 계산 수학에 대한 Conway의 기여는 많고 절충적이지만, 많은 야심 찬 코더는 구현이 비교적 간단한 셀룰러 자동 장치인 Conway's Game of Life을 통해 그의 작업에 소개됩니다.

Game of Life에서 셀의 정사각형 그리드에 초기 상태 또는 시드를 제공합니다. 각 셀은 "켜짐"또는 "꺼짐"이며 다음 규칙을 통해 그리드의 다음 상태가 계산됩니다.
  • 2~3개의 살아있는 이웃이 있는 살아있는 세포는 살아남습니다.
  • 3개의 살아있는 이웃이 있는 죽은 세포는 살아있는 세포가 됩니다.
  • 다른 모든 살아있는 세포는 다음 세대에서 죽습니다. 마찬가지로 다른 모든 죽은 세포는 죽은 상태로 유지됩니다.

  • 이것은 논리를 작성하기가 비교적 간단하기 때문에 많은 프로그래머가 경력 초기에 그러한 프로그램을 구현하는 데 시도합니다. mine on GitHub은 2017년 7월부터 제 첫 번째 Rust 프로그램 중 하나입니다. 하지만 터미널에 텍스트로 된 세계 상태를 렌더링하기 때문에 보기에는 그리 흥미롭지 않습니다. 그러나 핵심 논리가 다음과 같이 작성하는 것이 얼마나 사소한지 보여줍니다.

    
    //tick_cell takes a Coord and a World and returns the next state of the cell
    fn tick_cell(c: &Coord, w: &World) -> bool {
        let s = moore_sum(c, w);
        if get_cell(c, w) {
            match s {
                2 | 3 => true, //ALIVE
                _ => false, //overcrowded or starved
            }
        } else {
            match s {
                3 => true, //3 gives birth
                _ => false, //barren
            }
        }
    }
    


    우리에게 보여줄 삶의 게임이 있습니까? 우리가 할 수 있는 구현에 대한 보너스 포인트 - 내 항목을 다운로드하고 컴파일해야 하지만 web-dev-y 유형 중 일부는 더 상호 작용할 수 있는 것이 있다고 확신합니다!

    가장 좋아하는 씨앗은 무엇입니까? 관심 있는 다른 셀룰러 오토마타가 있습니까?

    또는 다른 John Conway 작업에서 영감을 받은 작업은 무엇입니까? this redditor에 따르면 Conway는 Game of Life가 그의 가장 잘 알려진 공헌이라는 사실에 좌절했습니다. 그를 기억하는 또 다른 이유는 무엇입니까?

    이미지: wikimedia commons

    좋은 웹페이지 즐겨찾기