I hope watching these videos will teach me JavaScript through osmosis.
@cashel1111
6 жыл бұрын
try practice instead of osmosis, its free and all the code is in front of you, that is VERY rare for these type of videos
@FederationStarShip
7 жыл бұрын
Mathematician here. To maintain area, the new radii should have been found by divided by sqrt (2)~1.4. I know that's beyond the scope of this video though.
@TheCodingTrain
7 жыл бұрын
+USS Trekky oh thanks for the correction! Much appreciated.
@FederationStarShip
7 жыл бұрын
No problem. These are excellent videos!
@RigatoniModular
7 жыл бұрын
I had the same issue with this. The resulting cells were too small!
@marcoscarballal5407
7 жыл бұрын
This is immediately what I thought of! I had to double check the equation in my head for area. Very well done!
@FederationStarShip
7 жыл бұрын
Marcos Carballal I was thinking about it again and it occurred to me that if they represent actual (3D) cells then you'd need to divide by the cube root of 2 but then it wouldn't look as cool in the 2D canvas.
@stefanofacchin
8 жыл бұрын
These coding challenge videos are great. They keep you hooked and the pace is fast to make you focus while learning common pitfalls at the same time. Amazing. Thanks a million!
@BSRKER
6 жыл бұрын
I decided to become a programmer.. I started an online course last week... and Im starting to understand more and more by watching your videos... very helpful ...thanks for uploading .
@einarkjellback9731
7 жыл бұрын
Your enthusiasm for errors is remarkable! I imagine you make these errors on purpose just so you can solve them :D
@TheCodingTrain
7 жыл бұрын
I wish that were true, but I just make a lot of mistakes!
@emynzeg1812
7 жыл бұрын
Been following your Nature of Code book and used this video to give javascript a shot. I enjoy the way you teach, I've been at this for so long I probably some day will have watched every video on your channel. Also great to see that you are getting so much subscribers now, truly truly deserved. Keep it up Daniel!
@arkfille
7 жыл бұрын
at line 14 It should be if(d < this.r/2) note the /2, without the division the radius actually acts as a diameter meaning you can click way outside the cell
@Daniel20030
7 жыл бұрын
The "real" way to make optional arguments is function(x = 0, y = 0) { // The arguments gets overwritten if parameters gets passed in. }
@Kitulous
5 жыл бұрын
actually, the arguments get the default value if the parameter is equal to undefined. Consider these examples: > function test(x=10, y=20) { console.log(x, y) } > test() 10 20 > test(13) 13 20 > test(undefined, 35) 10 35 > test(undefined, undefined) 10 20
@leyshonrr
Жыл бұрын
This was my thinking too. I tried it with default parameter values for Cell but this did not work.
@willd773
7 жыл бұрын
wait wait wait you're the one who wrote the nature of code... small world. I just came across these videos through recommended, love the work keep it up
@MechEng61
7 жыл бұрын
I have no idea about coding but I enjoy just watching 😋
@gaymerjerry
7 жыл бұрын
I pretty much spent the whole time yelling that he forgot to multiply the radius by 2 when drawing the cell and yes that does matter because that means the clicked function is checking a circle twice the size of whats being drawn
@Blazeorite
7 жыл бұрын
Damn dude you are blowing up, I subscribed to you yesterday at like 50k subscribers
@TheCodingTrain
7 жыл бұрын
+Sujith Nakkala I know! Can't figure out why. But enjoying it.
@Blazeorite
7 жыл бұрын
Daniel Shiffman it's youtubes algorithm, all of a sudden everybody has your videos in their suggestions
@TheCodingTrain
7 жыл бұрын
Amazing how much influence the suggestions have. I wonder if it will last!
@RevzSM
7 жыл бұрын
ur content is amazing dude
@epthelyn
7 жыл бұрын
Hopefully! If more people see your channel more people may become interested in programming, which is great. Even as someone who is reasonably experienced in this sort of stuff it's interesting to see different approaches to problems, and then of course sympathise entirely about the never-ending for-loop writing.
@XGamersGonnaGameX
8 жыл бұрын
You should have multiplied the size of the separated cells by sqrt2 / 2, which would give perfectly half the area of the original cell
@josephb3344
3 жыл бұрын
Been watching some of your videos on ES6 and p5 since I've been out of school for a while and wanted to see if I'd missed anything. Great walk-throughs for beginners/the somewhat familiar! I can't comment on some of the videos though, they just go over my head. Anyway, back to my original reason for coming here: in the event you have a long FOR loop (or several consecutive ones) replacing: VAR < OBJ.length with L=OBJ.length ... VAR < L Can save a significant amount of time, just a thought :p it side-steps the initialization of OBJ.length (only use when applicable! If your array is growing/shrinking during the loop then you will need to use OBJ.length)
@luisfelipe847
4 жыл бұрын
Inspired from this video I coded a Pygame version in python. With controls of initial population, colors, size of screen and cells, mortality rate, title, icon etc in a json file. Here's the GitHub repo: github.com/luisfelipesdn12/pytosis-simulator Comments, suggestions and stars are wellcome! :)
This is true nerd-dom, and I fully support that :) Please, don't stop doing this
@TheCodingTrain
7 жыл бұрын
Thanks, very little chance of that!
@aaro1268
7 жыл бұрын
Great videos and I think they show the creative element of interface programming very well! I think often you're building with extraordinarily low-level abstractions, but that's exactly what your audience needs to see to learn from :) For example, you don't really develop reusable higher level concepts like sprites, scene graphs, or engines. Checking what is clicked is perhaps more effectively solved by allowing a click to be 'consumed' by an object, but I like that you explain these bugs that beginners often encounter.
@Kino-Imsureq
7 жыл бұрын
i kinda suggest something like this this.move = function() { var rx = floor(random(0,1)); var ry = floor(random(0,1)); var mv; //mv = distance of 1 step if(rx == 0) this.pos.x += mv; if(rx == 1) this.pos.x -= mv; if(ry == 0) this.pos.y += mv; if(ry == 1) this.pos.y -= mv; this.pos.x = constrain(this.pos.x, 0, width); this.pos.y = constrain(this.pos.y, 0, width); } You can add another function like this to make some linear interpolation.
@kevnar
6 жыл бұрын
Instead of the new cells being half the radius, they should be half the area. You have to compute the area of the existing circle, given the radius, divide THAT by 2, and then compute the new radius given that area. It would look much more natural. area = π * radius² radius = math.sqrt(area / π)
@PreKGraduate
6 жыл бұрын
7:41 Not me! I have auto completing for loops in my sublime editor :D
@JordanShackelford
7 жыл бұрын
You're the only person I've seen use p5.js. I do all my animations with setInterval XD (i'm a noob)
@EnderElohim
8 жыл бұрын
omg you so hyperactive :D
@EnderElohim
8 жыл бұрын
Arcadia Official my problem is i cant focus to code :D
@maxdukhovskoy1406
3 жыл бұрын
First time, huh?
@EnderElohim
3 жыл бұрын
@@maxdukhovskoy1406 not anymore XD
@kamoroso94
8 жыл бұрын
Rather than pushing cellA and cellB and removing cells[i], you can replace cells[i] with cellA and push cellB. The splice operation requires shifting the array, but this way you only need to push one object.
@beardedjb2273
6 жыл бұрын
Came back to reference something and absolutely nearly wet myself at "I want to try and finish this up in about 10 minutes" I'm not sure that finishing on time has ever happened in the history of the coding rainbow/train.
@RogerKeulen
7 жыл бұрын
24:40 What you want is to change the initial velosity of the cell. Change the move function from random relative velosity to acceleration. Take the current vector and rotate it 180 degrees and give it some minimal speed.
@prestonhall5171
6 жыл бұрын
I was thinking that maybe you could just have a simulation where each cell grows, and when their radius is a certain size, they split in two. That’s more like real life, so it could be interesting.
@chandlerzhu9735
3 жыл бұрын
you could also use nullish coalescing operator (??) to give pos/r/c a default value
@greatgamegal
3 жыл бұрын
To make order optional now you may, with object destructing, do the following. function z({x=0, y=0} = {}) { // Do stuff with x and y. } z(); // valid due to the "= {}" otherwise this would error. z({}); // Functionally the same as the line above, x and y will both be 0. z({y: 2}); // x is 0 and y is 2.
@richardbrown3651
8 жыл бұрын
Coding Challenge idea: In the DNA class in your excellent 'Evolution Ecosystem' example (Nature of Code), you comment " // Has more features for two parent mating (not used in this example)". I'd love to see you explore a scenario where to objects (they could be cells, rainbows...) 'get together' and exchange DNA making a new child-object that has a randomized contribution from both 'parents'. So not just random mutation but something inspired by MEIosis.
6 жыл бұрын
#21:00 or assign cells.length to a variable before the loop, so it doesn't gets evaluated every time during for-loop run.
@MrKraignos
7 жыл бұрын
Around 05:00 you talk about steering behaviours. Yes ! Would be great to see more on that topic please ! =)
@scorix_
7 жыл бұрын
Checking if the distance is less than the radius divided by half gives the right action
@GoldenGreene
7 жыл бұрын
I don't understand anything that's happening but I'm loving it.
@Splatpope
7 жыл бұрын
it shouldn't make two cells with half the parent's radius : simplified cell division divide weight by two and weight is tied to area in a 2D context, which means that since area = pi * radius ^2, you need cells with radius = sqrt(2)/2 * parent radius
@TheCodingTrain
7 жыл бұрын
+Splatpope yes indeed thanks for the correction!
@darkhank942
7 жыл бұрын
Daniel! just found your channel, amazing stuff you have done here. Words can't express much. Love your enthusiasm I was wondering if you could use Bayesian Theorem in your coding in your next video, it would be very helpful to see such a mathematical method interpreted into the code. Cheers! P.S. You remind me a lil bit of Tyler Oakley xD
6 жыл бұрын
#15:30 Important is to understand how boolean expression evaluation works. If there's A || B || C... and A evaluates to true, whole expression evaluates to true no matter what B or C evaluates to, so B and C are not run at all. This can have important side effects.
@Iowahurler82
7 жыл бұрын
Probably been mentioned but I am still watching, but halving the radius does not give half the area. For example radius 10 gives area of 314 but a radius of 5 gives an area of 78.5.
@jhpk4495
6 жыл бұрын
Ooh Great you gave me an idea of creating new things! Thanks a lot awesome i've just downloaded p5.js and i started working with!
@etieneadriano5957
7 жыл бұрын
thank you a lot you're great, i've learned a lot with you, you're the best programmer in the world!
@greatgamegal
3 жыл бұрын
"You are doomed to type for var i equals zero i is less than blank dot length i plus plus for the rest of your life." for(... in ...) and for(... of ...) be stepping up. Side note: For in loops are actually notably by a significant margin the fastest option on SpiderMonkey (Firefox's Engine) though traditional incrementing for loops are slightly better on V8 (Roughly everything else besides Safari)
@avenger123321
8 жыл бұрын
I remember trying to modify the ArrayList / Array in Processing while following Nature of Code (Particle Systems I recall), it didn't allow me to mutate the array while it was being iterated through. Guess JS is much more versatile.
@phillipvance864
6 жыл бұрын
Hi Dan love love love your videos, thank you so much. You may know this by now but instead of a for loop you should be able to use: cells.forEach(function(cell){ cell.move() cell.show() })
@TRGaming1994
6 жыл бұрын
That's simply amazing, Is there any way to think like this on the fly, because it takes me more than a week to finish this amount of code. By the way your videos are great, also could you try to implement these challenges with any other language like python for example... :)
@dr.dank5765
4 жыл бұрын
I would love to see a coding challenge but you can't format at all. You can't use any spaces, tabs, or enters unless it's necessary to not get an error.
@jialiu518
7 жыл бұрын
Love this. Struggling a bit to understand the exact mistake around 18:00 - why did we need to use pos.copy()? I distantly remember Dan's summary of pass by value (primitive variables) vs. by reference (objects), so I know it has something to do with that, but would love a more explicit breakdown of the problem / solution, if anyone can help with that. Thanks!
@muenzis
7 жыл бұрын
All 3 Cells use the same vector object. But what we want is that each object has its own vector, thats what you achieve by using clone. That way each vecor can be changed seperately and each cell can go where it pleases :D
@AKASHSOVIS
4 жыл бұрын
if (d < this.r) { return true; } else { return false; } \\ Instead of this you can write... return (d < this.r);
@thematrix4730
8 жыл бұрын
Oh that's is really amazing lesson. Shiffman, are you going to make a video about the interactive fish pond using kinect and processing ? You have added it to your list more than month ago. I have posted the code in processing forum , and some people tried to help me , but they don't know that much about the kinect.
@TheCodingTrain
8 жыл бұрын
+sepan alfauony The kinect videos are particularly tricky b/c I have to set up an environment to be able to demonstrate them. I appreciate your enthusiasm for the subject and patience but it may be at least a month or longer before I get to more kinect videos.
@thematrix4730
8 жыл бұрын
+Daniel Shiffman , you are right . Could you look at my question in processing forum , I have posted the code there. You might know a way to help me . Thanks in advanced
@TheCodingTrain
8 жыл бұрын
+sepan alfauony Sure thing, please post a link to your forum post here.
But that is not what you did. You passed a reference to a constructor and didn't just call the clone function. So, you didn't need a "ÏF" statement just "fix" your constructor call with: return new Cell(this.pos.copy()......
@ionutradulazar8984
6 жыл бұрын
You could make a custom shape which will split in 2 when u click
@Manapoker1
6 жыл бұрын
thx you very much for your videos, this one was really fun to follow and to code with you :). Greetings!
@metavercenary
7 жыл бұрын
18:58 would've been a great spot for a ternary operator!
@carljohansson9615
7 жыл бұрын
On your offtopic theme were you mention the constructor choice. What would happen if you switched sides on the OR commande ie "constant || var" wouldnt this meant that it will always choose the "constant" because its always true because you read the values from left to right?
@hoomama3799
7 жыл бұрын
Love your video!
@JosueGarcia-dq3iv
7 жыл бұрын
i love your videos, specially this series. my trying to get my bachelors in computer science. do you maybe have any recommendations for how to learn java? a book or something. id highly appreciate it 😌
@kozaki5749
7 жыл бұрын
Josue Garcia There are tons of books for that. Just go into a bookshop's programming section and you'll find a lot
@RhoTrepaan
5 жыл бұрын
Awesome! So many ideas
@richardbrown3651
8 жыл бұрын
Another suggestion (something I've been wrestling with in a personal project): integrating the dat.gui control library as an alternative to the sliders & controls in p5. In particular, the neat color-selector tool (making it work together with HSB colorMode) workshop.chromeexperiments.com/examples/gui/#1--Basic-Usage
@3mroos4
8 жыл бұрын
Sir thank you so much for this cool lesson! I'd really like to start working on it and develop it even further but I'm afraid I have too many projects for my college. I was wondering, what do you think about ES6? And can you make a coding challenge featuring it?
@TheCodingTrain
8 жыл бұрын
+3mroos4 There are some great features in ES6! I will think about what might make sense in a video.
@TheDogn
7 жыл бұрын
Hi, I'm newly subscribed and I've only seen a few of your videos. This video is the first one in which you've said anything about using an outside library. I typically struggle to understand them and their function/implimentation. Since you noted briefly that this library includes 'a setup and a draw', and I have yet to see you explain exactly how this processing program your using works, I am currently thinking the p5 library has something to do with the apparent accessibility of your whole rig here. Would you kindly explain to me in the way you capably explain everything else, what exactly the p5 does for you and how it works? Or perhaps send me to a video or two which would clear up both the subjects of my confusion? Thank you
@barkekev
7 жыл бұрын
Using outside libraries is similar to how he used the "cell.js" file in his "sketch.js" file, except he created the "cell.js" library himself. He also made a point to his "index.html" page to both of those .js files along to the p5 library files (which are just .js files too). p5.js is a pre-existing library that has tons of easy to use features, some of which includes the "setup and draw' functions. you might want to read the documentation on p5's website about each function and object he uses from their library but that is the basic idea of what a library is, a collection of functions or objects that can be used by the programmer.
@Meyckx
7 жыл бұрын
Does it make more sense to programm in a "normal" editor? You know, when you know the basic stuff, but still forget much. Would be this editor contraproductiv?
@kennyPAGC
7 жыл бұрын
in terms of OOP, although this is JS so I guess I'll say modularity, I think it would have been better to define the clicked function in the sketch, because it doesn't really have anything to do with a cell, but rather with the canvas itself
@Vivo-cp2rb
6 жыл бұрын
whouldnt the size of the ellipse be ellipse(x,y, r*2, r*2) ? It looks like your radius is the diameter :D
@K-Cylion
8 жыл бұрын
Hey man, I was wondering should recommend me to start out on your A-Z program or the other one that also covers html?
@TheCodingTrain
7 жыл бұрын
If you are new to programming start with the "foundations of javascript playlist"
@seanthebean99
7 жыл бұрын
If it benefits the group (or myself, if this is wrong), I usually make my objects in constructor functions push themselves into an array containing that object type within the constructor function itself. So, to avoid all that pushing every time you declare a cell, I would just put cells.push(this); at the end of your constructor function. I there a reason not to do this?
@Mohr4787
7 жыл бұрын
Not that into js, but as a java programmer, is it not possible to have two constructors for the cell instead of that awful-looking ||-style? -like: function Cell(){ this.pos = CreateVector(stuff); this.r = 60; this.c = color(random stuff); } function Cell(pos, r, c){ this.pos = pos; this.r = r; this.c = c; }
@iforgot669
7 жыл бұрын
Maybe not he most efficient but this will encourage cells to separate from each other. I scaled them to be a bit faster versus the normal moving speed by multiplying by 3 at the bottom of the function this.move = function(){ var vel = p5.Vector.random2D(); for(c in cells){ var c = cells[c]; if( this === c) continue; var d = dist(this.pos.x, this.pos.y, c.pos.x, c.pos.y); if(d < this.r + c.r){ while(d > dist(this.pos.x + vel.x, this.pos.y + vel.y, c.pos.x, c.pos.y)){ var vel = p5.Vector.random2D(); } vel.x *= 3; vel.y *= 3; break; } } this.pos.add(vel); }
@Vijay-bs2gf
3 жыл бұрын
Thank you! This is awesome!
@richardbrown3651
8 жыл бұрын
Hi Dan, Thanks for yet another great video. Is this a good place to ask questions about the code? I hope so.... One thing I find slightly confusing is the difference between using "createVector" (like you do for pos) and just declaring that a variable = p5.Vector... (like you do for vel). this.pos = createVector(random(value), random(value)); var vel = p5.Vector.random2D(); I'm not sure exactly what I'm confused about (it's the confused variety of confusion) but I'd appreciate some explanatory words. I've read the p5js.org/reference/#/p5.Vector page (& the one for createVector) but there's still a nagging feeling of uncertainty.
@TheCodingTrain
8 жыл бұрын
+Richard Brown I agree this is quite confusing, I should do a tutorial on vectors in p5.js by itself. createVector() is a helper function to make vectors. p5 could also have a function called createRandom2DVector() which would make a random one. But it just some happens it does not. Instead in the p5.Vector object there happens to be a random2D() function which does this. And so it has to be called p5.Vector.random2D(). In other words createVector() is a global p5 function and can be called on its own, random2D() is a function part of p5.Vector and so has to be referred to it that way. You can also make random vectors using createVector() as you suggest, p5.Vector.random2D() is just there for convenience.
@richardbrown3651
8 жыл бұрын
+Daniel Shiffman I think you've made a lot of great examples with vectors, but it's such a big topic, so I'm sure it wouldn't hurt with a few more. I personally like the idea of mapping other variables onto the heading and magnitude of vectors (e.g. of moving objects) - to modulate colour or scaling of a drawn object etc. (hue in HSB colorMode)
@michaelthelliez7242
7 жыл бұрын
I've tried to simulate an ants colony looking for food with Scratch...Ants follow pheromons that the first one who have found food let on the ground. These pheromons are volatile and the ants follow the most impregnated way (that way, they can find the shortest way to food). I didn't succeed to do it . Would you be able to ?
@redoneredploux7046
7 жыл бұрын
Nice work men I think I'ill try the hardware does it is on W10 64bits ? Or only on Mac
@batfan1939
7 жыл бұрын
RedOne He's using JavaScript, which is platform-independent. JS is actually intended for building websites, so any web browser should run this code… even if it looks slightly different, like viewing a doc file in Word vs OpenOffice.
@ZachtheCanadian
7 жыл бұрын
hope i was good at coding.. I dont even know the basics. is seems sooo cool!
@atfa
7 жыл бұрын
what about cells.forEach ? great videos!
@bluebear2345
5 жыл бұрын
Or for...of loops
@alanb2912
4 жыл бұрын
Isn't it kind of redundant to put else return false in the this.clicked function? Wouldn't just having return true be enough because its a boolean?
@kennyPAGC
7 жыл бұрын
any insight on how I can control that mouse pressed events don't fire more than once? I am trying to push a new cell when clicking on empty space, but this is happening multiple times rather than just the one
@iNerdier
8 жыл бұрын
Have you considered starting to use some functional programming techniques rather than just imperative ones? You can escape endlessly writing for loops you know...
@TheCodingTrain
8 жыл бұрын
+iNerdier good point! I have considered this but for now am using this particular style for ease of teaching. Will think about other ways for the future.
@iNerdier
8 жыл бұрын
I would actually really value some videos on functional approaches to things like update loops in animation if you were up for doing them! Somehow I can never get object oriented ideas nearly as easily as pure functions that don't have so many unintended consequences.
@TODR34M
7 жыл бұрын
thanks for your videos!
@captunch380
4 жыл бұрын
You took 25 minutes to do this But i must take 25 years to understand it.
@adamjones7497
5 жыл бұрын
Array.forEach() === not doomed to write out for loops.
@Splatpope
7 жыл бұрын
21:25 just put a break at the end of the if block and it'll break out of the loop, jeez
@manuelboca1461
7 жыл бұрын
I would say that for a real game, that is bad practice. what if it will need to remove 2 of them? No point to break a loop until it's finished
@Splatpope
7 жыл бұрын
Manuel Boca wot ? the break keyword was invented exactly to do this
@manuelboca1461
7 жыл бұрын
ok, then. I admit, i never used it and have no idea how it really works :)
@Splatpope
7 жыл бұрын
break is used to exit a loop early, generally inside a if statement. Basically, something in your algorithm can cause it to be complete early, you should use a break to save on computing time (in this example, looping through the table backwards can be good, but ultimately stops being intuitive)
6 жыл бұрын
The whole problem is that cells.length is evaluated every time cycle is run, which reacts to array changes. Assign the length to variable before the loop and inside loop check against that variable.
@gustaf_2611
4 жыл бұрын
7:42 did he think about for(let i in array) {}
@MenOfPurposeHQ
5 жыл бұрын
The teacher I never had...
@NKY5223
2 жыл бұрын
for (let cell of cells)? or was this video made before that
@Jjunior130
7 жыл бұрын
I translated this to clojurescript. Behaves identically to the video. jjunior130.github.io/coding-challenges/#/mitosis Sketch: github.com/Jjunior130/coding-challenges/blob/master/src/cljs/coding_challenges/mitosis/views.cljs Cell: github.com/Jjunior130/coding-challenges/blob/master/src/cljs/coding_challenges/mitosis/cell.cljs
@DrMonsieurMan
7 жыл бұрын
Please.... return (d < r) Not : if(d < r) return true; else return false; This is horrible.
@DrNitroGecko
3 жыл бұрын
I would have created just one new cell, and make the clicked one smaller... :P
@Daniel20030
6 жыл бұрын
10:53 He clicks right outside the ellipse, and says "nothing". This is a mistake. Solution: Multiply the radius when creating the ellipse (it takes the diameter, not the radius).
@fredg8328
7 жыл бұрын
Can you code DNA replication in 25 minutes ?
@einar5367
7 жыл бұрын
can you make a video on how to settup p5 js on Linux?
@niharraote234
8 жыл бұрын
The links to the code do not work!!!! I need some examples about p5 to link for my school presentation
@mathblank
8 жыл бұрын
The links are now fixed. Thank you!
@Isee-vn4go
7 жыл бұрын
What would be the best language to learn coding?
@jumpmancw
7 жыл бұрын
Depends on what you want to do! What you really want to learn is the fundamentals of programming itself rather than the language, which can be learned in most languages. Python is pretty beginner friendly. Javascript is powerful and flexible (what's being used in this video). Languages like java or C are harder but are very powerful and learning other languages will be easier. I recommend starting here: automatetheboringstuff.com/
@thefunnybuddy4138
2 жыл бұрын
I get annoyed every time he does if x return true else return false Instead of return x
@thedankatheist3466
6 жыл бұрын
You need to devide the circles area not the radius. You are technically loosing material
@TheCodingTrain
6 жыл бұрын
Yes, good point, thank you!
@phuanhuynh8888
2 жыл бұрын
How can you just know the bug after getting the error for 2 second
@bedkapotmatrasgescheurd1093
8 жыл бұрын
which tutorial Should I see if I can learn Javascript programming but I do have some experience in Python
@TheCodingTrain
8 жыл бұрын
I might start with the p5.js playlists kzitem.infoplaylists?view=50&sort=dd&shelf_id=14. You might be able to skip through some of the very early ones.
@maxbot6344
8 жыл бұрын
What ide are you using? really interesting video.
@voleNTV
8 жыл бұрын
Sublime 3
@ramireini
8 жыл бұрын
that is not an ide, that's a text editor.
@thisismyalias
8 жыл бұрын
mexO Pretty sure it's 'Atom'.
@sebastiangudino9377
7 жыл бұрын
None! He is using Sublime Text 3 as his Text Editor and Watching the execution of the programa in Chrome with a premade HTML file on "localhost"
@thisismyalias
7 жыл бұрын
Yes sorry, its Sublime of course.
@aarshshah484
7 жыл бұрын
you should have conserved the volume or area of that circle
@TheCodingTrain
7 жыл бұрын
Good point!
@Awertnex
7 жыл бұрын
i have a sweet idea, what if you click on the cell and it gets deleted and replaced with 2 new cells that are half of the size and then they keep getting bigger and you have to keep clicking the cells that get big and you have to make sure that all the cells are under a specific size otherwise you'd loose the game, hmmmmm!!!
Пікірлер: 228