org.kde.koala
Class KRandomSequence
public
class
KRandomSequence
extends Object
implements QtSupport
A class to create a pseudo-random sequence
Given a seed number, this class will produce a sequence of
pseudo-random numbers. This would typically be used in
applications like games.
In general, you should instantiate a KRandomSequence object and
pass along your seed number in the constructor. From then on,
simply call getDouble() or getLong() to obtain the next
number in the sequence.
Author: Sean Harmer
UNKNOWN: A class to create a pseudo-random sequence
| Method Summary |
| void | dispose() Delete the wrapped C++ instance ahead of finalize() |
| protected void | finalize() Deletes the wrapped C++ instance |
| boolean | getBool()
Get a booleanean from the pseudo-random sequence. |
| double | getDouble()
Get the next number from the pseudo-random sequence. |
| long | getLong(long max)
Get the next number from the pseudo-random sequence. |
| boolean | isDisposed() Has the wrapped C++ instance been deleted? |
| void | modulate(int i)
Modulate the random sequence.
|
| void | setSeed(long lngSeed)
Restart the sequence based on lngSeed. |
| void | setSeed() |
protected KRandomSequence(Class dummy)
public KRandomSequence(long lngSeed)
Creates a pseudo-random sequence based on the seed lngSeed.
A Pseudo-random sequence is different for each seed but can be
reproduced by starting the sequence with the same seed.
If you need a single value which needs to be unpredictable,
you need to use kapp.random() instead.
Parameters: lngSeed Seed to initialize the sequence with.
If lngSeed is 0, the sequence is initialized with a value from
KApplication.random().
UNKNOWN: Creates a pseudo-random sequence based on the seed lngSeed.
public KRandomSequence()
Copy constructor
UNKNOWN: Copy constructor
public void dispose()
Delete the wrapped C++ instance ahead of finalize()
protected void finalize()
Deletes the wrapped C++ instance
public boolean getBool()
Get a booleanean from the pseudo-random sequence.
Returns: a boolean which is either true or false
UNKNOWN: Get a boolean from the pseudo-random sequence.
public double getDouble()
Get the next number from the pseudo-random sequence.
Returns: a pseudo-random double value between [0,1[
UNKNOWN: Get the next number from the pseudo-random sequence.
public long getLong(long max)
Get the next number from the pseudo-random sequence.
Returns: a pseudo-random integer value between [0, max[
with 0 <= max < 1.000.000
UNKNOWN: Get the next number from the pseudo-random sequence.
public boolean isDisposed()
Has the wrapped C++ instance been deleted?
public void modulate(int i)
Modulate the random sequence.
If S(i) is the sequence of numbers that will follow
given the current state after calling modulate(i),
then S(i) != S(j) for i != j and
S(i) == S(j) for i == j.
This can be useful in game situation where "undo" restores
the state of the random sequence. If the game modulates the
random sequence with the move chosen by the player, the
random sequence will be identical whenever the player "redo"-s
his or hers original move, but different when the player
chooses another move.
With this scenario "undo" can no longer be used to repeat a
certain move over and over again until the computer reacts
with a favorable response or to predict the response for a
certain move based on the response to another move.
Parameters: i the sequence identified
UNKNOWN: Modulate the random sequence.
public void setSeed(long lngSeed)
Restart the sequence based on lngSeed.
Parameters: lngSeed Seed to initialize the sequence with.
If lngSeed is 0, the sequence is initialized with a value from
KApplication.random().
UNKNOWN: Restart the sequence based on lngSeed.
public void setSeed()