Python Simulation Tutorial - Conway's Game of Life

Поделиться
HTML-код
  • Опубликовано: 24 дек 2024

Комментарии • 49

  • @DJ-ct6so
    @DJ-ct6so 2 месяца назад +1

    Good work Tim, as always. Many thanks for this tutorial, I haven't used pygame before, hence I learned a significant amount.
    Back in the 1970s I encountered John Conway's game of 'Life' in an edition of Scientific American, and later wrote a similar simulator using QBASIC. I further developed it into a 2-4 player game where each player could add new live cells, in an attempt to grow additional cells of their chosen color, keep their existing cells alive, and/or overpopulate and thus destroy their opponent's cells. After each player had a turn, Conway's rules were applied. There were some adjacency rules regarding where a player was permitted to add new cells, which also meant that if a player had no more live cells, they were eliminated. Last remaining player wins.
    Compared to QBASIC, Python's native constructs and concepts (lists, sets, etc) keep the required coding, for a project of this type, more simple, tidy, and readable.

  • @rcflyer40plus1
    @rcflyer40plus1 Месяц назад

    Worked like a charm. Enough room to create a Gosper Glider Gun and watch it spawn walkers. My first project on Raspberry PI - thank you!!!

  • @bp-ob8ic
    @bp-ob8ic Год назад +3

    Conway's Game of Life has always fascinated me.
    Gonna work through this in the morning. Thanks for this tutorial.
    I was able to follow the logic, and it mostly matched the pseudo code I had blocked out. Now I just have to learn more pygame.

  • @esrx7a
    @esrx7a Год назад +5

    What a concept!
    I had been breaking my head to understand the concept & this happens finally. Thank you Tim

  • @StreakyFly
    @StreakyFly Год назад +1

    I was waiting for you to make Conway's game of life and finally, here it is. Great video! :D

  • @NicolasFleury-ww5ut
    @NicolasFleury-ww5ut 7 месяцев назад

    It is working perfectly well! Thank you Tim.
    However, please note that on line 21 of the code, you should invert GRID_WIDTH and GRID_HEIGHT for correct random position generation, especially for different screen width and height.

  • @void_presence
    @void_presence 11 месяцев назад +1

    fantastic, just the thing i was looking for: python implementation of Conway's Life with clickable nodes

  • @bakerboyplayz5254
    @bakerboyplayz5254 4 месяца назад

    thank you so much tim, this will help me a lot to develop my school project :)

  • @timeWaster76
    @timeWaster76 10 месяцев назад

    best coder vid's on youtube

  • @vizionthing
    @vizionthing Год назад

    Outstanding Tim, loved this one.

  • @westudy9180
    @westudy9180 Год назад +1

    i really like these kind of video please make more of these video i am looking forward for that thank you once again....👏🏻🙌🏻👏🏻

  • @eNit0x
    @eNit0x 8 месяцев назад

    thank you for the tutorial works perfectly fine !

  • @BsktImp
    @BsktImp Год назад

    Didn't realise set() data structure and methods were so useful.

  • @programm_mister9692
    @programm_mister9692 Год назад +1

    Thanks bro, otherwise I ran into a bunch of bugs when developing the game "life" on my game engine.

  • @plinketharry7469
    @plinketharry7469 Год назад

    this was great, cheers

  • @17crescent
    @17crescent Год назад +1

    Great video. Slight correction as 39+1 can never be > 40 in your example grid. Plus added a wrap-around:
    def get_neighbors(pos):
    x, y = pos
    neighbors = []
    for dx in [-1, 0, 1]:
    if x + dx < 0:
    x += GRID_WIDTH
    elif x + dx == GRID_WIDTH:
    x -= GRID_WIDTH
    for dy in [-1, 0, 1]:
    if y + dy < 0:
    y += GRID_HEIGHT
    elif y + dy == GRID_HEIGHT:
    y -= GRID_HEIGHT
    if dx == 0 and dy == 0:
    continue
    neighbors.append((x + dx, y + dy))
    return neighbors

  • @ashirwadsingh6926
    @ashirwadsingh6926 Год назад

    amazing video keep up the good work

  • @paulthomas1052
    @paulthomas1052 Год назад

    Very interesting - great code as usual. Thanks !

  • @richardsifeanyi6766
    @richardsifeanyi6766 Год назад

    Thanks Tim

  • @gamerfisch5117
    @gamerfisch5117 Год назад

    great video 👍

  • @pathapativarshitha1780
    @pathapativarshitha1780 Год назад

    Hii, really useful video... like always :)

  • @elenasavchenkova2601
    @elenasavchenkova2601 5 месяцев назад

    Hi. What PyCharm theme are you using here?

  • @jerryedept2022
    @jerryedept2022 10 месяцев назад +1

    Does anyone please have a version of this code with ezgraphics?

  • @foqsi_
    @foqsi_ Год назад +11

    I had to recreate this in Java for school. Sucked. lol

  • @MrMysterious31
    @MrMysterious31 Год назад

    Hi tim, I want to simulate how an object of certain pounds would react on the different planets with different gravity.. kindly make a video if possible.. regards:)

  • @fruitStall
    @fruitStall Год назад

    Hey. I followed the tutorial and everything works until I try to run the simulation. I get the error "not enough values to unpack (expected 2, got 1)" at line 58 (x, y = pos in the get_neighbors function)
    Any idea why this happens and how to fix it?

  • @Car2hell975
    @Car2hell975 11 месяцев назад

    How Can i make simulation like Project jdm and math Floyd can you make a video or tell me where to start

  • @miichanshi
    @miichanshi Год назад

    can you make a tutorial on reflex or pynecone

  • @Digital_Anime_Creator0709
    @Digital_Anime_Creator0709 Год назад

    heloo sir can u create a digitmatch that can predict the last number randomly for example entry spot 12345 the last is 5 then the last exit result lexit spot
    is 5 also can u make it this sir?

  • @meim6028
    @meim6028 Год назад

    Hey Tim, can help help the community to create a product web app

  • @Pramix
    @Pramix Год назад

    Insaine!! how do you learn programming like this?? 🤯

    • @Suto_Ko
      @Suto_Ko Год назад +2

      he practice, practice, practice. Programming is a skill that improves with hands-on experience. Start with the basics, like learning a programming language, understanding concepts, and solving small coding problems. Build projects, join coding communities, and never stop learning. It takes time and effort, but it's worth it.

  • @jeffreyepiscopo
    @jeffreyepiscopo Год назад

    Why pygame instead of pygame-ce?

    • @Suto_Ko
      @Suto_Ko Год назад

      pygame-ce is a community-driven fork of pygame that aims to continue development and address some of the issues in the original pygame. While pygame-ce offers some improvements, the choice between pygame and pygame-ce ultimately depends on your specific needs and preferences. Both libraries can be used to create games and multimedia applications in Python.

    • @jeffreyepiscopo
      @jeffreyepiscopo Год назад +2

      @@Suto_Ko is this chat gpt

  • @mehtabsinghgiran6531
    @mehtabsinghgiran6531 Год назад

    first comment i think
    😆😅

  • @nakulgaming2537
    @nakulgaming2537 Год назад +1

    Hello

    • @TechWithTim
      @TechWithTim  Год назад +2

      Hey!

    • @nakulgaming2537
      @nakulgaming2537 Год назад +1

      I was tried your all projects of python nd it really helped me very much❤️

  • @cosmicman00
    @cosmicman00 4 месяца назад

    do boid simulation

  • @no99mnecfw
    @no99mnecfw Год назад

    Please stop saying actually so much.