═нлллл┬┬┬╛╙╙╙╛┬┬┬╛ллл╛люл╛люл╛люлллЛН┬┬лН╙╙юН┬╗юНл╛юлю╛ююю╛ююю╛ююнлллл┬┬┬╛╙╙╙╛┬┬┬╛ллл╛ллл╛люл╛люлллЛН┬┬лН╙╙юН┬╗юНл╛юлл╛ююю╛ююю╛юю╛ллл╛╙╙╙╛╙╛╙╛╙йл╛╙╙╙▄┬┬┬люлнллнл╛л╙╙юЛ╛╙юН╙╙юН╙╙юН┬┬лНюЛНллНН╛ллл╛╙╙╙╛╙╛╙╛╙йл╛╙╙╙▄┬┬┬люлнллнл╛л╙╙юЛ╛╙юН╙╙юН╙╙юН┬┬лНюЛНллНН =@r@│@q@┌@t@└@t@└@r@┌@v@└@q@┌@u@┘@r@│@t@├@r@┌@u@┘@u@┘@r@│@q@┌ю?лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллю ллллллллллллллллллллл юллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юлллллллллллллллллллллю ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл л люллллллллллллллллллллллллллллллллллллллл ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллююллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юллллллллююллллллллллллллллллллллллллллллллллллллллл лл ллллллллллллллллллллллллллллллллллллллллллллллллллюлллллллллллл юлллллллл лллллллллллллллллллллллллллллллллллллллллл лл ллллллллллллллллллллллллллллллллллллллллллллллллллюллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл лл ллллллллллллллллллллллллллллллллллллллллллллллллллюллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл ллллллллл ллллллллллллллллллллллллллллллллллллллллллллллллл ллллллллллллллллллллллллллллллллллллллллллллллллюлюллю лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюллллллллллллллллллллллллллллллюлюллллллл лл ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюллллю лллллллл лл лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюлллл лю лллллл лл лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюлллллллюлллллллюлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл лллллллллллллллллллллллллюлллллллллллллллл лллллл ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллююллллллллллллллллллллллллюллллллллллллюл юлллллллллллллллллллллллллллллллллллл юлллллллллллллллллллллллл юллллллллллллююлллллллллллллллллллллллллллллллллл юллю ллллллллллллллллллллллллллллллллллллл юлллллллллллллллллллллллл юлллллллллллл лллллллллллллллллллллллллллллллллллюллл ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл лллллллллллллллллллллллллюлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юллллллллллю ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюлл люллю ллллллллллю ллллллллллллллллллллллююллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл ллл лллллл юллллллллллюллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юлллллллллллллллллллюлл лллллллллллллллллллл юллллллллллюлллллллллллллллллллллллллллллллллллллллллллллллллллллллллю лллллллллллллллллл юлллюллллл лллллллллллллллюллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юлллллллллллллллллллюлллллллллююлллллллллллллююлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл ллллллллллююлллллллллллллюллллллюлллллллллллллллллллллллллллллллллллл юллллллллллллллллллллллллллллллллллллллллллллллллллллллллл ллллллллллллллллллллллллллллллллллллллллллллллллллллллллюлл лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюллллллллллллллюлллллллллллюллллллю ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюллллллллллллллюлллллллллллллллллл ю ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюллллллллллллллюлллллллллллллллллл ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл ллллллллллллллллллллллллллллллллллл ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллююлллллллл юлллюлюллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юлллллллл юлллллллллллллллллллллллллллллллллллллллллллллллллллллллл ллллллллллллллллллллллллллллллллллллллл лллллллллллллллллллллллллллюлллллллллллллллллллллллллллллллллллллллллллллллл ю люлллллллллллллллллллллллллллллллллллллл юллллллллллллллллллллллллллюллллллллллллллллллллллллллллллллллллллл лллллллл юл юллллллллллллллллллллллллллллллллллллюлллллллллллюллллллллллллллюлллллллллллллллллллллллллллллллллллллллюлллллллл ллюллллллллллллллллллллллллллллллллллллл ллллллллллюллллллллллллллллллллллллллллллллллллллллллллллллллллл юлллллллллллюлюлллллллллллллллллллллллллллллллллл юллллллллллюлллллллллллллллллллллллллллллллллллллллллллллллллллллюлл юлллллллл ллллллллллллллллллллллллллллллллллллллл ююлллллллллллллллллллллллллллллллллллллл юлллллллллллллллллллллл ллллюлллллллллллллюллюлллллллллллллллллллллллллллллл юлллллллллллллллллллллллллллллллллллллю ю лллллллллллллллллллллллллллллллллллллллюлллллллллллллллллллллллллллллллл л юлллллллллллл лл лллллллллллллллллллллл юллллллллллллллллллллюл юлл юлллллллллллюлюллюлллллллллллллллллллллллллллюл юллллллллллллююлююлллллллллллллллллллюл люллллллллллллллллллллл юлллю лллллллллллллюллюллллллллллллллллллллллллллл люлллллллллллл лллл лллллллллллллллллллю юллл лллллллллллллллллллл юлл юл юллллллюллюллю ллллллллллллллллллллллллллюллллллллллллллл лллл лллллллллллллллллллллллллл лллллллллллллллллллл юлллллю ллллллллллллллллюллллллллллллллллллллллллллллллллллллллллллл лллллллллллллллллл ллллллллллллллллллллллллллллллллл юлллллллллллю лл лллллллллллллллллл ллллллллллллллллллллл юл лллллллллллллллллллллллллллллллллллллллллллллл юллллллллллллллллл юлюллллллллллллллюллллллллллллюлллллллллллюллюлюллюллллллллллллл лл лллллллллллллллллл люллллллююлю юл ллллллллллллл лллюллллллллллллл ллллллллллл лллллллллл юлл лллллллллллллллл лл ллллллллллллллллллллллллллллллююллю ллллллллллллллюлюлллллллллллллюлюююлллллллюлюлллллллллллюлюлю юллллллллллллл лл лллллюллллллллллллллллллллллллл юлллюллллллллллллллллллллллллллллллююлю лллллллюлюллллллллллллюлллюлллллллллллллллллллллллллллллллллллллллллллл ллл юллллллюллллллллллюлллллллллллллллллл лллл ллллллл люллллллллллллюлллюлллллллл юлллллл лллллллллллллллллллллллллююлл юллллюл юллллллллллллллллллллллллллллллллюю ллллллллюллллллллллллллюлюллллллллл юлллллллллллллллллллллллллллллллл ллл юллллюлюлллллллллл юллллллллллллллллллллллллллллллллллллллллллллл лллллллллллллллллллллллллллллллллллллллллллллюллю юлллллллллллллл ллюллллллллллллллллллллллллллллллюллллллллллллллллюллллллллллллллллллллллллллллллллллллллллллллл юлллл юлюллллллллллллллллллллллллллллллллллллллллллллюлллллллллллллллллллллллюллллллллллллллллллллллллллллллллллллллллл юллллююлллллллллллюл лллллллллллллллллллллллллллллюлллллллллллллллллллллл ллллллллллллл юлллллллллллллллллллллллл ллллл лллллллллллллллюллллллллллллллллл лллллллллллллллллллллллллллллллл ллллллллллллл юлллллллллллллллллллллллллл ююлллюлю лллллллллллюлллллллллллллллллллю ллллллл юллллллллллллллллллллллллюлллллллллллллллллллллллллллллллллллллллллллл юллллллллллллллллллллллллллллллллл люллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юлллл ллллллллллллю юллллллллллллллллю юлллллллл юлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл ююлюлл люлллллллллллл юллллллллллллл юлллллллл люллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл лллл лллю ллллллллллллллллллллллл юллллллллллюллллллллллллллллллллл люлллллллллллллллллллллллллллллллллллллллллллл лл ллл ю ллллллллл лл юллллллллллю люл ллллллюллюлллллюлллюллллллллллллллллллллллллюлллллллллллллллллллллллллллллл юллллю ллллллллллллл лллллллллллюллл ллллллллл лллллллллллллллллллллллллллллллллюлллллллллллллллллллллллллллллллюлюллллллл ллллллллллл юллюлллллллюлюлл юлюллллл юл ллллюлл лллллллллллллллллллллллллюллллллллллллллллллл лллллллллллюлюллллл лллллллллл лллл ллллл ллл юллллллллюллллллл юллллллллллллллллллллллллллллллллллллллллллллл ллллллллллл лл лллю ллллллллллл юлюлюлллллюлллллллюллллллллллллл ллллюллллллллллллллллллллллюлюллллллллллллллллл ллллллллллллллл л юллллллллллллллю юллллл ю ллллллллллллллллллллл ллллллюллллллллллллллллллллллллллллллллллллллллллллллллллюлллллллл л л лллллллллллллллллюллл лллллллюлллллллллллллюлллллллллллллллллллллллллллллюлллллллллллллллллллллллллл ллллллллл л ю лллллллллллллююл ю люл юл лл ллллллллллллююлллю лллллллллллллллллллллллюлллллллллллллллллллллллллл люлллллл л ллллллллллллллл юл ююлюлллл юлллллллллллллллллллл лллллллллллллллллллллллюлллллллллллллллллллллллллллллллллллллллллллллллллллллллюл лллюл л юю юллл лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юлллллллл лллл юллллллллллл юллллллллюлл юллл лллллллллллллл лллллллллллллллллллллллллллллллллллллллллллллллллллллююллллллллюллллю ллллллл юллллллллллллю ллюлллююлллл юлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юл ллллллллллллл лллллллю ллллллллл ю ллл ллл ллллл юллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл ллюллллллллллллллюллллллл л лллллллл юлллл лл люллл юлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл люлллллллллллллллллллллюлюл лллллллллл лллю л лл юлюлллюллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юллллллллллл л л ллллллллллллллллююлл л ллллю лллллллллллюлллллллллллллллюллллллллллллллллллллллллллллллллллллллллллю ллллллллллл люлююлллллллюллллллллл ллллл ллл лллллллллл лллллллллллллллюллллллллллллллллллллллллллллллллллл лл лл юлллллллллллл л ллллллл лллллллллллллюлллл лллллллллл лллллллллллллллюллллллллллллллллллллллллллллллллллл л лллллллллллллллююллллллллю ллллллллллллллюлллл люллллллллллюлллллллллллллллллллллллллллллллллллллллллллллллллл ллюллллллллллллллллллллю ллллллллююлюллллллллл юлллллюл ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл лю ллллллллллллллл юлллллллллл лллл люллллю лллю ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл лл люллллллллллллллллллллллллллллллллл ллллл лллюю юлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл люлллллллллллллллллллллллллллллллллллллюллллллюллл ююлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл лллллллллллллллллллллллллллл юлллллллллллллллллллллллллллллллллллллллллллллллллллллл юллллллллллллллллллллллллллллллллллллллллллллллюллллллллллллл ллюлллллллллллллллллллллллллллллюллллллллллллллллллллллллю ллллллллллллллллллллллллллллллллллллллллллллл лллллллллллллллллюллллллллллллллллллллллллллллюллллллллллллллллллллллллю лллллллллллллллллллллллллллллллллллллллллллл ллллллллллллл юллюллллллллллллллююллллллллллллюлллллллллллллллллллллллл лллллллллллллллллллллллллллллллллллллллллллллюлллллллллллллллл ллллллллллллллл лллллллллллллллллллллллллллллллллллллл юлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл ллллллллллллл л юллллллллллллллллллллллллллллллллллллллюллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юллллллллллллюлл лллллллллллллллллллллллллллллллллллллл ллллллллллллллллллллллллллллллллллллллллллллллллллллл лллллл ю ллю юллллллюлю ллллллллллллллюллллллллллллллллллллллллюлллллллллллллллллллллллллллллллллллллллллллллллллллллю лллллл юл л лллллллюлюллллллллллллл ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллю лллллл юллю юллллллл лллллллллллллллюлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл лллл лл юю ллюлллллл юллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл л л ю л юллллллюлллллллллллллллююлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюллл ллюлюлл л лллллл лллллллллллллл ююллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл л юлллллююлл юлллллллллллллллллллллл ююлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл л л лллюллллллллллллллллллллллллллллллюллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл ллюлллл юллллюлллллллллллллллллллллллл ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюлллюлюлллллллллюлллллллллллллллллллллллл л лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюлллллллллллллллллллллллллллллюллллллл лллллллллллллллллллллллллллл ллллллллллллллллллллллллллллллллллллллллллллллл юю юлллл ллллллллллллллллллллллюлллллллл ллллллллллллллллллллллллллллл ллллллллллллллллллллллллллллллллллллллллллллллл ллюлллююлллллллллллллллллллллюллллллллллллллллллллллллллллллллллллл лллллллллллллллллллллллллллллллллллллллллллллллл ююлллююллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюл юллл лллллллллллллллллллллллюлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юлл ллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл лллллллллллллллллллл юллююллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл л лл юллллллллллллллллллллююллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюллллллллллллллллллллллллллллллллллл юлллллллллллллллллллл лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл лллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюллюлллллллллллллллллллллллллллллллл лллллллююллллллллллллллллллллллл юлллллллллллллллллллллллллллллл лллллллллллллллллюллюллллллллллллллллллллллллллллллллююлллллл юллллллллллллллллллллллюллллллллллллллллллллллллллллллллююллллллллллллллллюллюллллллллллллллллллллллллллллллллююллллллллллллллллллллллл люллллл л лллллллллллллллллюллллллллллллююлллллллллллллллллллллллллллллллллллллллллллллллллллл ллллллллллллллллллллллллллллллл юлллллллллллллллллюл юллллллллл ллллллллллллллллллюлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюлюлюллллллллллллллллллллллллллллллллллллллллл лллллллллллллллллллллллллллллллллллл юллллллллллллллллллллллллллллллллллллюллюлллллллллллллллллллллллллллллллллллллллл лллллллллллллллллллллллллллллллллллл юлллллллллллллллюллллллллллллллллллллллл юлллл юллллллллллллллллллллллллллллллллл ллллллллллллллллллллллллллллллллллллллллллллллллллллллюлллллл лллллллллллллюлл лллюлюллллллллллллллллллллллллюлл лллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юллллллююлллллллллллллл лл л юллллллллллллллллллллллллллллююллллллллллллллллллллллллллллллллллллллллллллллллллллллллллюллллллююллллллллллллл ллюл люлллллллллллллллл юлллллллллл юллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юлллллл ллллллллллллллллюл ллллллллллллллллл юлллллллллллююллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юллллллллллллллллллллллл л лллллллллллллллллллллллллллл ююлюлллллллллллллллллллллллллллллллллллллллллллллллллллллллллл ллллллллллллллллллллллююлллллллллллллллллллллллллллллллл юлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл лллллллллллллллллллллюлллллллл юлюлллллллллллллллллллллллллллл лллллллллллллллллллллллллл ю юююллллллллллллллллллюлллллллллллллллллллллллюллллллл юлллююллллллллллллллллллллллллллллююллллллллл юлллллллллллллллл юлллллллллллллллллллллллллллллллллллллллллллллюллллллл юлллллллллллллллллллллллллллллллллююллллллллл юлллллллллллллллллллюллллллллллллллллллллллллллллллллллллллллллллллллллл ююлллллллллллллллллллллллллллллллл лллллллллллллллллллллллллллл лллллллллллллллллллллллллллллллллллллллллллюлюлллллл юллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллл юлллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллллЙ -- title: Conway's Game of Life -- author: Aleksandr Hovhannisyan -- desc: Implementation of Conway's Game of Life in Lua -- script: lua function BOOT() -- The TIC() function runs at 60 FPS FPS_TIC=60 -- Change this to run the game slower FPS_DESIRED=60 -- Screen dimensions (engine constants) Screen={ WIDTH =240, HEIGHT =136, } -- Color palette Color={ BLACK=0, WHITE=12, } -- Frame/generation counter, increments at TIC_FPS generation=0 -- Likelihood of a cell spawning alive in gen 0 ALIVE_SPAWN_CHANCE=0.1 -- Possible cell states CellState={ DEAD =false, ALIVE =true, } -- Map cell states to colors CellColor={ [CellState.ALIVE]=Color.BLACK, [CellState.DEAD] =Color.WHITE, } -- Game rules Threshold={ OVERPOPULATION=3, UNDERPOPULATION=2, REPRODUCTION=3, } -- Track cell state for every pixel -- in a 1D array (which we'll interpret -- as a 2D screen when drawing). oldCells={} for index=0,Screen.WIDTH*Screen.HEIGHT do local diceRoll=math.random() local state=CellState.DEAD if diceRoll<=ALIVE_SPAWN_CHANCE then state=CellState.ALIVE end oldCells[index]=state end -- Track old and new generation in -- separate tables upfront to avoid -- creating a new table each frame newCells={} CopyTable(oldCells,newCells) end -- Only works if values are primitive, -- but they are in our case. If each cell -- was itself a table, we'd need to modify this function CopyTable(source,target) for k,v in pairs(source) do target[k]=v end end -- Returns the number of alive neighbor cells for the cell at the given index function GetNumAliveNeighbors(cells,index) local numAliveNeighbors=0 -- row 0: 0 1 2 3 ... 238 239 -- row 1: 240 241 242 243 ... 478 479 local neighbors={ -- No need to check that these indices are in bounds since -- tables in Lua can have any index, so if the index is out of -- bounds, then the value we'll look at will just be nil left =index-1, right =index+1, top =index-Screen.WIDTH, topLeft =index-Screen.WIDTH-1, topRight =index-Screen.WIDTH+1, bottom =index+Screen.WIDTH, bottomLeft =index+Screen.WIDTH-1, bottomRight =index+Screen.WIDTH+1, } for direction,neighborIndex in pairs(neighbors) do if cells[neighborIndex]==CellState.ALIVE then numAliveNeighbors=numAliveNeighbors+1 end end return numAliveNeighbors end -- Game update loop. Implements game rules -- and draws cells on the display. function Update() for index,state in pairs(oldCells) do local numAliveNeighbors=GetNumAliveNeighbors(oldCells,index) local newState=state -- Currently alive if state==CellState.ALIVE then if numAliveNeighborsThreshold.OVERPOPULATION then newState=CellState.DEAD end -- Currently dead else if numAliveNeighbors==Threshold.REPRODUCTION then newState=CellState.ALIVE end end newCells[index]=newState DrawCell(index,newState) end -- This "new" generation will be the next -- generation's old generation, so copy it now CopyTable(newCells,oldCells) end function DrawCell(index,state) poke(0x00000+index,CellColor[state],4) end function TIC() if generation%(FPS_TIC/FPS_DESIRED)==0 then Update() end generation=generation+1 end