Log In  

cs
by dw817
Cart #cs-1 | 2019-12-25 | Code ▽ | Embed ▽ | License: CC4-BY-NC-SA
5


TO LOAD THIS CART in Pico-8, type in immediate mode:

load #cs

Methods of drawing snow have come a long way, haven't they ?

If there's one feature of Pico-8 I have learned about and enjoyed over the years are the two commands ADD and DEL.

With them you can add and delete elements inside an array without having to plug them up with other data or manually skip over them by setting a flag later.

This can especially be seen in my latest offering, "Component Snow."

And it does follow a set of rules.

  1. The snow falls vertically.
  2. If it is obstructed, that is there is snow directly beneath it, a comparison is made.
  3. Can it slide down to the left but the right side is blocked, yes ? Slide down to the left.
  4. Can it slide down to the right but the left side is blocked, yes ? Slide down to the right.
  5. Can it slide down either left or right ? Choose a direction randomly and do so.
  6. Can it not slide down at all ? Draw it then TERMINATE the array element carrying it.

And you can see what happens. Snow falls and it trickles down the edges if there's room for it to do so.
It does not stack itself up in vertical lines but slides down a slippery slope when it can find the chance to. The path of least resistance.

The number to the left shows the current number of active snowflakes. This is the number of snowflakes the computer is keeping track of at the time.

The number to the RIGHT shows the propensity of the snow. Use LEFT and RIGHT arrow keys to change this from a gentle drift to a blizzard.

Some interesting questions to ponder:

  1. What are the maximum number of snowflakes that can be active at any one time ?
  2. How would you write your code to ensure that the snow does not fall off the edges of the screen ?

Please enjoy and ...

MERRY CHRISTMAS

P#71398 2019-12-25 20:51 ( Edited 2019-12-27 16:44)


[Please log in to post a comment]

Follow Lexaloffle:          
Generated 2024-03-29 05:15:13 | 0.009s | Q:12