ไม่สามารถเล่นวิดีโอนี้
ขออภัยในความไม่สะดวก
Conway's Game of Life in Python
ฝัง
- เผยแพร่เมื่อ 16 ส.ค. 2024
- In this video, we will implement Conway's Game of Life in Python.
◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
📚 Programming Books & Merch 📚
🐍 The Python Bible Book: www.neuralnine...
💻 The Algorithm Bible Book: www.neuralnine...
👕 Programming Merch: www.neuralnine...
🌐 Social Media & Contact 🌐
📱 Website: www.neuralnine...
📷 Instagram: / neuralnine
🐦 Twitter: / neuralnine
🤵 LinkedIn: / neuralnine
📁 GitHub: github.com/Neu...
🎙 Discord: / discord
🎵 Outro Music From: www.bensound.com/
When you declare your numpy arrays, you use the default type of nd.float64. This is over the top, as each item in the array will be 0 or 1. It would be better to use nd.int8
Thank you so much dude for making this video!
Excellent explanation I shall say, I could follow along with each of the steps in almost no time.
I haven't used numpy so it did took me a while to understood the lines using numpy methods, ( guess shall be learning that soon as well :p)
Proud seeing my own Conway Game of Life :)
Thanks!!
Thank you, I felt like I achieved something getting this to run and spotting my mistakes. My first bit of code.
your FIRST ? if true ur insane
DOPE try to make a program to help you program thats what i did i think imma make a vid on it on my other channel good luck!!!
Happy Coding!
Can we get the code? i copied the exact same code but somehow it doesn't work for me
Same here
same here, I think something is missing!
4:19 Why not just np.zeros(cells.shape) ?
here's my code it worked for me.
import time
import pygame
import numpy as np
COLOR_BG = (10, 10, 10,)
COLOR_GRID = (40, 40, 40)
COLOR_DIE_NEXT = (170, 170, 170)
COLOR_ALIVE_NEXT = (255, 255, 255)
pygame.init()
pygame.display.set_caption("conway's game of life")
def update(screen, cells, size, with_progress=False):
updated_cells = np.zeros((cells.shape[0], cells.shape[1]))
for row, col in np.ndindex(cells.shape):
alive = np.sum(cells[row-1:row+2, col-1:col+2]) - cells[row, col]
color = COLOR_BG if cells[row, col] == 0 else COLOR_ALIVE_NEXT
if cells[row, col] == 1:
if alive < 2 or alive > 3:
if with_progress:
color = COLOR_DIE_NEXT
elif 2
Hey Thanks! I copied your code into an editor next to mine to see what I was doing wrong and it turned out to be an indentation in one of my elif statements! Thank you!
Incredible! Thanks for your work!
Everybody is a ganster till you see the MONSTER
Recently, I have noticed that an rgb tuple is way faster in rendering than a #
Everything works fine, but I am unable to drag the mouse across the board and have cells appear. I can only click each individual cell. Any ideas? Also, is there a github repository of NeuralNine's code?
How does your alive calculation handle corner cases, for example, the (0,0) cell? Won't it go out of bound?
Awesome, thanks so much for this clear and consise explanation with all the steps. It works!
Very helpful for beginners like me.
code checked twice and still something it not ok...
all cells disappear completely, please help
hello, i use his method for the main function but when i click with my mouse on the rectangles, that doesn't do anything, i try to copying his code but that doesn't work
It worked, thanks so much! Very clear explanation for a beginner like me.
stfu you liar it didnt work and still have my code the copy of this full tutorial this motherfucker is a scammer just ruinned 30 min of my life trying to coppy this shit and in the end doesent work wtf
code is broken, not working for any of us and we copy exactly the code as he instructed. don't Lie
worked for me here is the code.
import time
import pygame
import numpy as np
COLOR_BG = (10, 10, 10,)
COLOR_GRID = (40, 40, 40)
COLOR_DIE_NEXT = (170, 170, 170)
COLOR_ALIVE_NEXT = (255, 255, 255)
pygame.init()
pygame.display.set_caption("conway's game of life")
def update(screen, cells, size, with_progress=False):
updated_cells = np.zeros((cells.shape[0], cells.shape[1]))
for row, col in np.ndindex(cells.shape):
alive = np.sum(cells[row-1:row+2, col-1:col+2]) - cells[row, col]
color = COLOR_BG if cells[row, col] == 0 else COLOR_ALIVE_NEXT
if cells[row, col] == 1:
if alive < 2 or alive > 3:
if with_progress:
color = COLOR_DIE_NEXT
elif 2
Thank you so much for this video. You are just amazing.
Game of life in Python? More like “Cool information that was right on!” Thanks for sharing.
Great video. How would get cells that leave the right side enter on the left side?
That's so amazing 😍
if I were to have an input of starting alive cell coordinates of the "matrix" that is the board, how could I add that to the game, so that it always starts with these exact same starting cells?
Thanks for sharing
wonderful game of life
"assume periodic boundary conditions
" you did not mention it. can you show how can make it please?
Mine seems to be leaving grey cells behind. Anyone have any idea why?
I think using Cython would provide even more performance.
@Ralph Reilly
Have you tried Cython ?
I find the speed of this app fine. Why would you want it to run faster?
@@gedtoon6451
The faster the better performance for calculations and if statements as well as loops
Hi.
what do you think about the program where we create a kind of "WorldBox"
For example:
two groups *, the first in red, the second in blue.
Each * must "eat", "drink" and strive to reproduce with another * (nice if there were two sexes).
Each could *eat* the same color or a different color - of course it would depend on which one can "eat". The older ones, for example, could easily defeat the younger ones. Some HP loss during combat. Somewhere on the map scattered *(gray) that would be neutral food. Do you think that such a project can teach you a lot?
Hey bro, i just wanted to say that if you have some cool idea, you should try it for yourself instead of being dependent on others. They might not care about you.
Take care.
@@Adi-px8eq😢
Awesome features in this program. I would like to know if this is parallelizable
indeed it is. I have no idea if the youtube comment system will allow code, but using numpy arrays and masks will get this done.
Hi!
Please a video tutorial teaching us how to rename ebooks using python to get their metadata and rename them like author title edition ISBN etc. I think for sure you can use python Calibre package but I didn't find any full tutorial on how to use it. I want to rename many ebooks files in a custom way and also to store metadata information in a database too that's why it should be done using python and not Calibre GUI. Please do such a tutorial. Thank you very much in advance! P.S. I think it is possible to do it with python in other way such using Calibre package but I did just give you a hint.
how do you change the size of the cells
Why does Pip install not work for me help
Am i first?????
Yo man really amazing
I actually did this in c and it was cool in the terminal. And btw i have a plan to do this in terminal without pygame
Everybody is a Gangster till you see the monster
doesn't matter
@@kaarthikarun9199🔥
You can do it. I made an adventure game with ncurses a few years ago, wasn't as bad as I thought it would be.
vsc tell me that main is not defnined :/
how to make a reset button?
Thx.
only 1 cell appears for me
Where is the code?
i am going insane can someone help please
code:
screen = pygame.display.set_mode((800, 600))
cells = np.zeros ((60,80))
error:
TypeError: Cannot interpret '80' as a data type
i looked everywhere and i alweys found people w the same error becouse thei only used 1 bracket after np.zeros
and that makes perfect sense becouse it reads the second input as the data type but with two brackets why in the world should
it read the size as datatype??? please help
try explicitly passing that the types like
np.zeros(shape=(60,80), dtype=int)
Sneko knows python 😂
hmm I didn't know python was fast enough to handle game of life, but since you're using Numpy the speed up may compensate for the performance of the language
wtf i don t understand a simple word you say in this explantion of game!! whats it that?
Just look up "the game of life" you're on the internet
nah man i was first
Nah, may be youtube server is sloww............
my grid wont appear and i cant place cells anywhere
am i missing anything or is anything wrong?
import time
import pygame
import numpy as np
COLOR_BG = (10, 10, 10)
COLOR_GRID = (60, 60, 60)
COLOR_DIE_NEXT = (170, 170, 170)
COLOR_ALIVE_NEXT = (255, 255, 255)
def update(screen, cells, size, with_progress = False):
updated_cells = np.zeros((cells.shape[0], cells.shape[1]))
for row, col in np.ndindex(cells.shape):
alive = np.sum (cells[row-1:row+2, col-1:col+2]) - cells[row, col]
color = COLOR_BG if cells [row, col] == 0 else COLOR_ALIVE_NEXT
if cells[row, col] == 1:
if alive < 2 or alive > 3:
if with_progress:
color = COLOR_DIE_NEXT
elif 2
i even reviewed the code three times
Maybe your indent got wrong.The 'else:' before 'if alive==3:' should correspond to 'if sell[row,col]==1:' and also check lines behind :D
i'm having the same issue but i can't see any cells or place any
I think it is just in the last line : < if __name__ == '__main__' > you just gotta add that two _ next to name
Same problem, the pygame window is not appearing and the code runs for infinity