22 lines
468 B
Kotlin
22 lines
468 B
Kotlin
|
package drills.drill06.exercise4.sensor
|
||
|
|
||
|
import kotlin.random.Random
|
||
|
|
||
|
interface Sampler<T> {
|
||
|
fun getSample(): T
|
||
|
}
|
||
|
|
||
|
class SampleGenerator(seed: Int = 0) : Sampler<Double> {
|
||
|
private val samples = listOf(
|
||
|
6, 4, 3, 2, 4, 10, 18, 20, 22, 24, 20, 15, 10, 7
|
||
|
)
|
||
|
|
||
|
private val random = Random(seed)
|
||
|
|
||
|
private var i = 0
|
||
|
|
||
|
override fun getSample(): Double {
|
||
|
return samples[i++ % samples.size].toDouble() + random.nextDouble(-1.5, 1.5)
|
||
|
}
|
||
|
}
|