SlotMachine class

A class that creates the slot machine.

It currently only creates slot machines with 5 slot lines, 10 images each. The slot machine is visualized through 2 DOM elements. canvasEl shows the slot machine itself, with rotating slots. resultEl is a span element that automatically populates with the current outcome in real time.

The SlotMachine is single-serving, i.e. it cannot be rolled more than once.

Constructors

SlotMachine(num probability, {Result predeterminedFirstResult, AnimationFrameFunction animationFrame, bool rerollable: false, String rerollEffectDescription})
Create a slot machine animation with given probability of success. [...]
factory
SlotMachine.fromProbability(num probability, {Result predeterminedResult, AnimationFrameFunction animationFrame})
Create a slot machine animation with probability of success (of the whole machine) being probability.
factory

Properties

allowCriticalFailure bool
Whether or not to allow this slot machine to return critical failures.
final
allowCriticalSuccess bool
Whether or not to allow this slot machine to return critical successes.
final
canvasEl CanvasElement
The canvas element that this library creates and that should be added to the DOM by the library's user.
read / write
hashCode int
The hash code for this object. [...]
read-only, inherited
rerollable bool
Whether or not this SlotMachine allows rerolling. If so, rerollEffectDescription must not be null.
final
rerollEffectDescription String
What to show to user as the 'cost' of reroll. [...]
final
rerollEl DivElement
Element that the slot machine populates with buttons when reroll is in order.
read / write
resultEl SpanElement
The result element that this library updates with current result (i.e. what the slot machine would output if it was immediately halted, frozen in current state). [...]
read / write
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
width int
The width of each reel in pixels.
final

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
play() Future<Result>
Start the slot machine session. This will roll the reels to completion once and will return the result of the first roll. [...]
rerollIfNeeded() Future<SessionResult>
This method returns the final SessionResult. It may allow the user to reroll if that is needed.
roll() Future<Result>
Start rolling the slot machine. Returns with the text of the result.
@Deprecated('Use play() instead')
toString() String
Returns a string representation of this object.
inherited

Operators

operator ==(dynamic other) bool
The equality operator. [...]
inherited

Constants

reelCount → const int
The number of reels (vertical lines) per each machine.
5
symbolCount → const int
Number of symbols in each reel.
10