Conway's Game of Life in Python

  Рет қаралды 50,787

NeuralNine

NeuralNine

Күн бұрын

Пікірлер: 79
@vikrantsinghbhadouriya4367
@vikrantsinghbhadouriya4367 2 жыл бұрын
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!!
@gedtoon6451
@gedtoon6451 Жыл бұрын
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
@unrealkalel3130
@unrealkalel3130 2 ай бұрын
That makes sense, but how would one implement this? and at what stage in the code? is this sth to write in every array? if you could help me out here, that would be great, still trying to learn :D
@gedtoon6451
@gedtoon6451 2 ай бұрын
@@unrealkalel3130 You just need to change the initialisation of 'updated_cells' in the method 'update'. Change it to this: updated_cells = np.zeros((height, width), dtype=np.int8) Thats it. No other changes needed.
@redouanha
@redouanha 2 жыл бұрын
Can we get the code? i copied the exact same code but somehow it doesn't work for me
@nyhrocx
@nyhrocx 11 ай бұрын
Same here
@aramrashid5752
@aramrashid5752 6 ай бұрын
same here, I think something is missing!
@nervous711
@nervous711 Жыл бұрын
4:19 Why not just np.zeros(cells.shape) ?
@nasrulislam1968
@nasrulislam1968 Жыл бұрын
How does your alive calculation handle corner cases, for example, the (0,0) cell? Won't it go out of bound?
@thedeparted_one
@thedeparted_one Жыл бұрын
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?
@GHOST_WARRIOR321
@GHOST_WARRIOR321 2 жыл бұрын
code checked twice and still something it not ok... all cells disappear completely, please help
@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 Жыл бұрын
your FIRST ? if true ur insane
@hezziacGames
@hezziacGames 10 ай бұрын
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!
@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
@mksmvnv
@mksmvnv Жыл бұрын
Incredible! Thanks for your work!
@Iuigi_t
@Iuigi_t Жыл бұрын
Recently, I have noticed that an rgb tuple is way faster in rendering than a #
@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?
@gedtoon6451
@gedtoon6451 Жыл бұрын
Great video. How would get cells that leave the right side enter on the left side?
@kaarthikarun9199
@kaarthikarun9199 2 жыл бұрын
Everybody is a ganster till you see the MONSTER
@harmplat7771
@harmplat7771 11 ай бұрын
Awesome, thanks so much for this clear and consise explanation with all the steps. It works! Very helpful for beginners like me.
@jacobbiscuitsuuu
@jacobbiscuitsuuu Жыл бұрын
Why does Pip install not work for me help
@Mr.somebody.
@Mr.somebody. 2 жыл бұрын
how do you change the size of the cells
@Mr.somebody.
@Mr.somebody. 2 жыл бұрын
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 11 ай бұрын
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!
@jackjenny8111
@jackjenny8111 2 жыл бұрын
Mine seems to be leaving grey cells behind. Anyone have any idea why?
@CoolMoonCat
@CoolMoonCat 2 жыл бұрын
It worked, thanks so much! Very clear explanation for a beginner like me.
@readynice9972
@readynice9972 2 жыл бұрын
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 2 жыл бұрын
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. 2 жыл бұрын
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
@farisplaysgames
@farisplaysgames Ай бұрын
Line 17 has syntax error for some reason
@PunmasterSTP
@PunmasterSTP 2 жыл бұрын
Game of life in Python? More like “Cool information that was right on!” Thanks for sharing.
@apoorvsinha5193
@apoorvsinha5193 2 жыл бұрын
That's so amazing 😍
@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 Жыл бұрын
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 Жыл бұрын
​@@Adi-px8eq😢
@aitsadinassima8469
@aitsadinassima8469 Жыл бұрын
Thank you so much for this video. You are just amazing.
@SkyFly19853
@SkyFly19853 2 жыл бұрын
I think using Cython would provide even more performance.
@SkyFly19853
@SkyFly19853 Жыл бұрын
@Ralph Reilly Have you tried Cython ?
@gedtoon6451
@gedtoon6451 Жыл бұрын
I find the speed of this app fine. Why would you want it to run faster?
@SkyFly19853
@SkyFly19853 Жыл бұрын
@@gedtoon6451 The faster the better performance for calculations and if statements as well as loops
@Chamxppy
@Chamxppy Жыл бұрын
vsc tell me that main is not defnined :/
@suzerain_k
@suzerain_k Жыл бұрын
Awesome features in this program. I would like to know if this is parallelizable
@DrummingDivingPythonProgrammer
@DrummingDivingPythonProgrammer Жыл бұрын
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.
@Mr.somebody.
@Mr.somebody. 2 жыл бұрын
how to make a reset button?
@justinmuhindomussa7942
@justinmuhindomussa7942 2 жыл бұрын
wonderful game of life "assume periodic boundary conditions " you did not mention it. can you show how can make it please?
@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.
@elmondo.
@elmondo. 2 жыл бұрын
Thanks for sharing
@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.
@philtoa334
@philtoa334 2 жыл бұрын
Thx.
@Its_Zer0here
@Its_Zer0here 2 жыл бұрын
only 1 cell appears for me
@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
@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)
@Carm744hr7
@Carm744hr7 Жыл бұрын
Sneko knows python 😂
@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
@jurijjuras410
@jurijjuras410 2 жыл бұрын
nah man i was first
@somerandomuserfromootooob
@somerandomuserfromootooob 2 жыл бұрын
Nah, may be youtube server is sloww............
@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 2 жыл бұрын
i'm having the same issue but i can't see any cells or place any
@yousseflaidouni7531
@yousseflaidouni7531 2 жыл бұрын
I think it is just in the last line : < if __name__ == '__main__' > you just gotta add that two _ next to name
@adnanmahmud8691
@adnanmahmud8691 2 жыл бұрын
Same problem, the pygame window is not appearing and the code runs for infinity
A COMPUTER in COMWAY's GAME of LIFE | Prime Reacts
31:08
ThePrimeTime
Рет қаралды 53 М.
Game of Life - Leetcode 289 - Python
17:36
NeetCode
Рет қаралды 44 М.
How Strong Is Tape?
00:24
Stokes Twins
Рет қаралды 96 МЛН
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
SymPy is REVOLUTIONARY For Mathematical Tasks
25:15
NeuralNine
Рет қаралды 70 М.
Cellular Automata in Python - Complexity From Simplicity
35:07
Python Simulation Tutorial - Conway's Game of Life
41:13
Tech With Tim
Рет қаралды 37 М.
Inventing Game of Life (John Conway) - Numberphile
11:05
Numberphile
Рет қаралды 1,1 МЛН
Твоя ПЕРВАЯ НЕЙРОСЕТЬ на Python с нуля! | За 10 минут :3
18:31
Хауди Хо™ - Просто о мире IT!
Рет қаралды 290 М.
The Game of Life.
34:02
EGO
Рет қаралды 2,6 МЛН
Let’s BUILD a COMPUTER in CONWAY's GAME of LIFE ⠠⠵
23:33
Alan Zucconi
Рет қаралды 1 МЛН
Python Itertools For Advanced Iteration
14:00
NeuralNine
Рет қаралды 10 М.
Running "Hello World!" in 10 FORBIDDEN Programming Languages
18:07