Страница 1 из 2 12 ПоследняяПоследняя
Показано с 1 по 10 из 11

Тема: Игра жизнь на питоне код: как реализовать эту тему в Python

  1. Игра жизнь на питоне код: как реализовать эту тему в Python

    Привет всем! Я недавно начал изучать программинг на Python, и сразу возникло желание написать что-то интересное. Наткнулся на идею реализовать 'Игра жизнь'.
    Хотел бы узнать у вас, как на Питоне написать код для этой штуки? Может, у кого-то есть примерчики кода или советы, как это лучше сделать? Какие либы использовать? Короче, делитесь опытом, парни!



  2. Ждём вас в нашем чате в Телеграмм ==>> @pythoneer_chat

    А ТАКЖЕ: Канал о Python, статьи и книги ==>>
    @pythoneer_ru

  3. Салют! Окей, вот примерчик кода для 'Игры жизни' на Python с использованием библиотеки numpy.

    Программный код:
    import numpy as np
    import matplotlib
    .pyplot as plt
    import matplotlib
    .animation as animation

    ON 
    255
    OFF 
    0
    vals 
    = [ONOFF]

    def random_grid(N):
    return 
    np.random.choice(valsN*Np=[0.20.8]).reshape(NN)

    def update_grid(frameNumimggridN):
    newGrid grid.copy()
    for 
    i in range(N):
    for 
    j in range(N):
    total sum([grid[i, (j-1)%N],
    grid[i, (j+1)%N],
    grid[(i-1)%Nj],
    grid[(i+1)%Nj],
    grid[(i-1)%N, (j-1)%N],
    grid[(i-1)%N, (j+1)%N],
    grid[(i+1)%N, (j-1)%N],
    grid[(i+1)%N, (j+1)%N]])
    if 
    grid[ij] == ON:
    if (
    total 2) or (total 3):
    newGrid[ij] = OFF
    else:
    if 
    total == 3:
    newGrid[ij] = ON
    img
    .set_data(newGrid)
    grid[:] = newGrid[:]
    return 
    img,

    def main():
    100
    updateInterval 
    50
    grid 
    random_grid(N)

    figax plt.subplots()
    img ax.imshow(gridinterpolation='nearest')
    ani animation.FuncAnimation(figupdate_gridfargs=(imggridN,),
    frames=10interval=updateInterval,
    save_count=50)
    plt.show()

    if 
    __name__ == '__main__':
    main() 
    Библиотеки numpy и matplotlib обязательны. Удачи!)

  4. Цитата Сообщение от Batman
    Салют! Окей, вот примерчик кода для 'Игры жизни' на Python с использованием библиотеки numpy.

    Программный код:
    import numpy as np
    import matplotlib
    .pyplot as plt
    import matplotlib
    .animation as animation

    ON 
    255
    OFF 
    0
    vals 
    = [ONOFF]

    def random_grid(N):
    return 
    np.random.choice(valsN*Np=[0.20.8]).reshape(NN)

    def update_grid(frameNumimggridN):
    newGrid grid.copy()
    for 
    i in range(N):
    for 
    j in range(N):
    total sum([grid[i, (j-1)%N],
    grid[i, (j+1)%N],
    grid[(i-1)%Nj],
    grid[(i+1)%Nj],
    grid[(i-1)%N, (j-1)%N],
    grid[(i-1)%N, (j+1)%N],
    grid[(i+1)%N, (j-1)%N],
    grid[(i+1)%N, (j+1)%N]])
    if 
    grid[ij] == ON:
    if (
    total 2) or (total 3):
    newGrid[ij] = OFF
    else:
    if 
    total == 3:
    newGrid[ij] = ON
    img
    .set_data(newGrid)
    grid[:] = newGrid[:]
    return 
    img,

    def main():
    100
    updateInterval 
    50
    grid 
    random_grid(N)

    figax plt.subplots()
    img ax.imshow(gridinterpolation='nearest')
    ani animation.FuncAnimation(figupdate_gridfargs=(imggridN,),
    frames=10interval=updateInterval,
    save_count=50)
    plt.show()

    if 
    __name__ == '__main__':
    main() 
    Библиотеки numpy и matplotlib обязательны. Удачи!)
    Красава, код отличный! Буду пробовать, может, еще что с matplotlib присоветуешь?

  5. Попробуй еще посмотреть на библиотеку pygame, там тоже можно замутить всякие интересные штуки по этой теме. Например, визуализацию сделать поярче и динамичнее.

  6. Цитата Сообщение от X23
    Попробуй еще посмотреть на библиотеку pygame, там тоже можно замутить всякие интересные штуки по этой теме. Например, визуализацию сделать поярче и динамичнее.
    Говорят, pygame сложно освоить, это так или нет?

  7. Я бы использовал Jupyter Notebook для экспериментов с визуализацией 'Игры жизни'. Это удобно, особенно для новичков, чтобы не бегать между IDE и терминалом.

  8. Цитата Сообщение от CometTail
    Я бы использовал Jupyter Notebook для экспериментов с визуализацией 'Игры жизни'. Это удобно, особенно для новичков, чтобы не бегать между IDE и терминалом.
    Дельный совет, братка, Jupyter и для других задач огонь штука!

  9. Если хочешь чёткий геймплей и графику, залезай в Tkinter. Там найдешь всё необходимое для GUI и можешь гибко строить свои правила игры.

  10. Цитата Сообщение от OlegRemont
    Если хочешь чёткий геймплей и графику, залезай в Tkinter. Там найдешь всё необходимое для GUI и можешь гибко строить свои правила игры.
    На Tkinter GUI реально проще пилить, чем на чём-либо другом?

Страница 1 из 2 12 ПоследняяПоследняя