Conway's Game of Life in Python

  Рет қаралды 46,914

NeuralNine

NeuralNine

Күн бұрын

In this video, we will implement Conway's Game of Life in Python.
◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾◾
📚 Programming Books & Merch 📚
🐍 The Python Bible Book: www.neuralnine.com/books/
💻 The Algorithm Bible Book: www.neuralnine.com/books/
👕 Programming Merch: www.neuralnine.com/shop
🌐 Social Media & Contact 🌐
📱 Website: www.neuralnine.com/
📷 Instagram: / neuralnine
🐦 Twitter: / neuralnine
🤵 LinkedIn: / neuralnine
📁 GitHub: github.com/NeuralNine
🎙 Discord: / discord
🎵 Outro Music From: www.bensound.com/

Пікірлер: 76
@vikrantsinghbhadouriya4367
@vikrantsinghbhadouriya4367 Жыл бұрын
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!!
@mksmvnv
@mksmvnv 7 ай бұрын
Incredible! Thanks for your work!
@gedtoon6451
@gedtoon6451 6 ай бұрын
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
@pjtren1588
@pjtren1588 Жыл бұрын
Thank you, I felt like I achieved something getting this to run and spotting my mistakes. My first bit of code.
@alyme_r
@alyme_r 9 ай бұрын
your FIRST ? if true ur insane
@hezziacGames
@hezziacGames 5 ай бұрын
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!
@harmplat7771
@harmplat7771 6 ай бұрын
Awesome, thanks so much for this clear and consise explanation with all the steps. It works! Very helpful for beginners like me.
@lucamanfroi9111
@lucamanfroi9111 Жыл бұрын
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?
@nasrulislam1968
@nasrulislam1968 8 ай бұрын
How does your alive calculation handle corner cases, for example, the (0,0) cell? Won't it go out of bound?
@leandronobili9558
@leandronobili9558 Жыл бұрын
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
@GHOST_WARRIOR321
@GHOST_WARRIOR321 2 жыл бұрын
code checked twice and still something it not ok... all cells disappear completely, please help
@thedeparted_one
@thedeparted_one 11 ай бұрын
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?
@gedtoon6451
@gedtoon6451 6 ай бұрын
Great video. How would get cells that leave the right side enter on the left side?
@aitsadinassima8469
@aitsadinassima8469 Жыл бұрын
Thank you so much for this video. You are just amazing.
@nervous711
@nervous711 11 ай бұрын
4:19 Why not just np.zeros(cells.shape) ?
@jackjenny8111
@jackjenny8111 2 жыл бұрын
Mine seems to be leaving grey cells behind. Anyone have any idea why?
@luigidabro
@luigidabro Жыл бұрын
Recently, I have noticed that an rgb tuple is way faster in rendering than a #
@Mr.somebody.
@Mr.somebody. Жыл бұрын
how do you change the size of the cells
@redouanha
@redouanha 2 жыл бұрын
Can we get the code? i copied the exact same code but somehow it doesn't work for me
@michabuijs2095
@michabuijs2095 5 ай бұрын
Same here
@aramrashid5752
@aramrashid5752 Ай бұрын
same here, I think something is missing!
@apoorvsinha5193
@apoorvsinha5193 2 жыл бұрын
That's so amazing 😍
@PunmasterSTP
@PunmasterSTP 2 жыл бұрын
Game of life in Python? More like “Cool information that was right on!” Thanks for sharing.
@elmondo.
@elmondo. 2 жыл бұрын
Thanks for sharing
@justinmuhindomussa7942
@justinmuhindomussa7942 Жыл бұрын
wonderful game of life "assume periodic boundary conditions " you did not mention it. can you show how can make it please?
@jacobbiscuitsuuu
@jacobbiscuitsuuu 7 ай бұрын
Why does Pip install not work for me help
@suzerain_k
@suzerain_k Жыл бұрын
Awesome features in this program. I would like to know if this is parallelizable
@DrummingDivingPythonProgrammer
@DrummingDivingPythonProgrammer 8 ай бұрын
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.
@CoolMoonCat
@CoolMoonCat 2 жыл бұрын
It worked, thanks so much! Very clear explanation for a beginner like me.
@readynice9972
@readynice9972 Жыл бұрын
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
@sebastianpolo6271
@sebastianpolo6271 Жыл бұрын
code is broken, not working for any of us and we copy exactly the code as he instructed. don't Lie
@Mr.somebody.
@Mr.somebody. Жыл бұрын
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
@Mr.somebody.
@Mr.somebody. Жыл бұрын
how to make a reset button?
@kaarthikarun9199
@kaarthikarun9199 2 жыл бұрын
Everybody is a ganster till you see the MONSTER
@jm9378
@jm9378 Жыл бұрын
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?
@Adi-px8eq
@Adi-px8eq 9 ай бұрын
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.
@moris933
@moris933 9 ай бұрын
​@@Adi-px8eq😢
@enriquesuazo7592
@enriquesuazo7592 7 ай бұрын
vsc tell me that main is not defnined :/
@philtoa334
@philtoa334 2 жыл бұрын
Thx.
@prem4302
@prem4302 Жыл бұрын
Where is the code?
@Krisler12
@Krisler12 2 жыл бұрын
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.
@SkyFly19853
@SkyFly19853 2 жыл бұрын
I think using Cython would provide even more performance.
@SkyFly19853
@SkyFly19853 Жыл бұрын
@Ralph Reilly Have you tried Cython ?
@gedtoon6451
@gedtoon6451 6 ай бұрын
I find the speed of this app fine. Why would you want it to run faster?
@SkyFly19853
@SkyFly19853 6 ай бұрын
@@gedtoon6451 The faster the better performance for calculations and if statements as well as loops
@OrdinarySonicfanMmKay
@OrdinarySonicfanMmKay Жыл бұрын
only 1 cell appears for me
@riccardoromeo5346
@riccardoromeo5346 2 жыл бұрын
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
@lmjlucas
@lmjlucas 2 жыл бұрын
try explicitly passing that the types like np.zeros(shape=(60,80), dtype=int)
@somerandomuserfromootooob
@somerandomuserfromootooob 2 жыл бұрын
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
@kaarthikarun9199
@kaarthikarun9199 2 жыл бұрын
Everybody is a Gangster till you see the monster
@sahilrajwar4997
@sahilrajwar4997 2 жыл бұрын
doesn't matter
@somerandomuserfromootooob
@somerandomuserfromootooob 2 жыл бұрын
@@kaarthikarun9199🔥
@redchief94
@redchief94 Жыл бұрын
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.
@TheBuilder
@TheBuilder 2 жыл бұрын
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
@Homelander_69420_
@Homelander_69420_ 10 ай бұрын
Sneko knows python 😂
@jurijjuras410
@jurijjuras410 2 жыл бұрын
nah man i was first
@somerandomuserfromootooob
@somerandomuserfromootooob 2 жыл бұрын
Nah, may be youtube server is sloww............
@tcgvsocg1458
@tcgvsocg1458 2 жыл бұрын
wtf i don t understand a simple word you say in this explantion of game!! whats it that?
@Synthetic_geth
@Synthetic_geth 2 жыл бұрын
Just look up "the game of life" you're on the internet
@Mr.somebody.
@Mr.somebody. Жыл бұрын
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
@michaeltheisen
@michaeltheisen 5 ай бұрын
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!
@erichsimon5258
@erichsimon5258 2 жыл бұрын
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
@erichsimon5258
@erichsimon5258 2 жыл бұрын
i even reviewed the code three times
@u4rr837
@u4rr837 2 жыл бұрын
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
@MaxChip101
@MaxChip101 Жыл бұрын
i'm having the same issue but i can't see any cells or place any
@yousseflaidouni7531
@yousseflaidouni7531 Жыл бұрын
I think it is just in the last line : < if __name__ == '__main__' > you just gotta add that two _ next to name
@adnanmahmud8691
@adnanmahmud8691 Жыл бұрын
Same problem, the pygame window is not appearing and the code runs for infinity
Coding Challenge #85: The Game of Life
38:20
The Coding Train
Рет қаралды 682 М.
Python Simulation Tutorial - Conway's Game of Life
41:13
Tech With Tim
Рет қаралды 32 М.
УГАДАЙ ГДЕ ПРАВИЛЬНЫЙ ЦВЕТ?😱
00:14
МЯТНАЯ ФАНТА
Рет қаралды 3,8 МЛН
Double Stacked Pizza @Lionfield @ChefRush
00:33
albert_cancook
Рет қаралды 80 МЛН
DEFINITELY NOT HAPPENING ON MY WATCH! 😒
00:12
Laro Benz
Рет қаралды 59 МЛН
Slow motion boy #shorts by Tsuriki Show
00:14
Tsuriki Show
Рет қаралды 8 МЛН
System Tray Icon in Python
9:26
NeuralNine
Рет қаралды 24 М.
Let's code 3D Engine in Python from Scratch
14:55
Coder Space
Рет қаралды 379 М.
Python Sockets Explained in 10 Minutes
9:32
NeuralNine
Рет қаралды 8 М.
Modern Graphical User Interfaces in Python
11:12
NeuralNine
Рет қаралды 1,5 МЛН
3D Game Development in Python with Ursina
19:31
NeuralNine
Рет қаралды 207 М.
Progress Bars in Python Terminal
11:54
NeuralNine
Рет қаралды 101 М.
Looks very comfortable. #leddisplay #ledscreen #ledwall #eagerled
0:19
LED Screen Factory-EagerLED
Рет қаралды 1,8 МЛН
1$ vs 500$ ВИРТУАЛЬНАЯ РЕАЛЬНОСТЬ !
23:20
GoldenBurst
Рет қаралды 1,8 МЛН
S24 Ultra and IPhone 14 Pro Max telephoto shooting comparison #shorts
0:15
Photographer Army
Рет қаралды 9 МЛН
НОВЫЕ ФЕЙК iPHONE 🤯 #iphone
0:37
ALSER kz
Рет қаралды 42 М.
Я купил первый в своей жизни VR! 🤯
1:00