myvariable is the base speed of the water. As you hold down fire, the base speed at which it is created increases. The expression min() returns the smallest of the two values, in this case either myvariable+50, or 2000. This constrains the maximum of myvariable to 2000. If myvariable is already 2000, myvariable+50=2050. So min(2050,2000) will give you the smaller number, or 2000.
As a result, as long as the mouse is held down, myvariable will increase 50 every tick until 2000.
Okay thanks for the explaining, but I'm still not sure why the myvariables is set as 0?
EDIT.
OKAY, i figured it out, meaning myvariable = 0 is the starting of a value before the increment of 50 ? am i right
But still, why do you need to add " Sprite bullet speed to myvariables+random() ? " when the speed increment value is 50... right?