rnd

Creator: coderz1093

Last updated:

Add to Cart

Description:

rnd

rnd package #
Makes working with random values in Dart / Flutter easier:

It provides an easy to access, global instance of Random.
It adds helpful extension methods to Random.

Global instance #
To make it easy to set up and propagate a Random instance throughout your app, the rnd package exposes a
global instance via the rnd property. This makes generating a random value as simple as:
import 'package:rnd/rnd.dart';
rnd(10); // random double between 0-10
rnd.getBool(0.8); // 80% chance to get true
copied to clipboard
You can also get and set the seed for the global instance via rndSeed.
Extension methods on Random #
Adds the following methods to all instances of Random. Read the docs for more info.

getInt(min, max, {curve}) // see "Curves" below
getDouble(min, max, {curve})
getBool(chance)
getBit(chance) // 0 or 1
getSign(chance) // -1 or 1
getDeg() // 0-360
getRad() // 0-2pi
getColor({...}) // see docs for params
getItem(list, {remove, curve})
shuffle(list, {copy}) // randomize list

It also defines a call method, which lets you get a random double value by calling a Random instance directly:
Random myRandom = new Random();
print(myRandom()); // double between 0-1
print(myRandom(10)); // 0-10
print(myRandom(5,10)); // 5-10
copied to clipboard
This pairs well with the global instance for quickly getting random values:
new Point(rnd(maxX), rnd(maxY))
copied to clipboard
Curves #
The getDouble, getInt, and getItem methods support a curve param which transforms the value distribution. For example:
rnd.getInt(0, 100, curve: Curves.easeIn)
copied to clipboard
This would favor values nearer to 0, whereas easeOut would favor values nearer to 100. The included example app visualizes the effect of different curves.
Hue #
The included Hue class provides named hue values for use with getColor. For example:
rnd.getColor(hue: Hue.red); // red, green, blue, yellow, cyan, magenta
copied to clipboard

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.