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.
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.
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.
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
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:)
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?
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?
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.
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.
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.
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!!!
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.
What a concept!
I had been breaking my head to understand the concept & this happens finally. Thank you Tim
I was waiting for you to make Conway's game of life and finally, here it is. Great video! :D
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.
fantastic, just the thing i was looking for: python implementation of Conway's Life with clickable nodes
thank you so much tim, this will help me a lot to develop my school project :)
best coder vid's on youtube
Outstanding Tim, loved this one.
Thank you!
i really like these kind of video please make more of these video i am looking forward for that thank you once again....👏🏻🙌🏻👏🏻
thank you for the tutorial works perfectly fine !
Didn't realise set() data structure and methods were so useful.
Thanks bro, otherwise I ran into a bunch of bugs when developing the game "life" on my game engine.
this was great, cheers
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
amazing video keep up the good work
Very interesting - great code as usual. Thanks !
Glad you liked it!
Thanks Tim
No problem :)
great video 👍
Hii, really useful video... like always :)
Hi. What PyCharm theme are you using here?
Does anyone please have a version of this code with ezgraphics?
I had to recreate this in Java for school. Sucked. lol
same lol what school u go to?
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:)
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?
How Can i make simulation like Project jdm and math Floyd can you make a video or tell me where to start
can you make a tutorial on reflex or pynecone
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?
Hey Tim, can help help the community to create a product web app
Insaine!! how do you learn programming like this?? 🤯
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.
Why pygame instead of pygame-ce?
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.
@@Suto_Ko is this chat gpt
first comment i think
😆😅
Hello
Hey!
I was tried your all projects of python nd it really helped me very much❤️
do boid simulation
Please stop saying actually so much.
I think ur the only one bothered