parent
458907da11
commit
1ff0612e7a
@ -0,0 +1,14 @@
|
||||
package model;
|
||||
|
||||
import javafx.beans.property.ObjectProperty;
|
||||
|
||||
public class CapteurCPU extends CapteurAbstrait {
|
||||
CapteurCPU(int id, String nom) {
|
||||
super(id, nom);
|
||||
}
|
||||
|
||||
@Override
|
||||
public ObjectProperty<Double> genTemp() {
|
||||
return null;
|
||||
}
|
||||
}
|
@ -0,0 +1,34 @@
|
||||
package model;
|
||||
|
||||
import javafx.beans.property.ObjectProperty;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class CapteurIntervalle extends CapteurAbstrait{
|
||||
/*
|
||||
Un capteur peut générer une température dont la valeur est aléatoire;
|
||||
Les températures ne pouvant descendre sous un certain seuil, on veut
|
||||
aussi un capteur plus réaliste qui génère des températures dont la valeur
|
||||
est comprise dans un certain intervalle défini à la création (et dont le
|
||||
minimum ne peut être inférieur à 0°K);
|
||||
*/
|
||||
public CapteurIntervalle(int id, String nom, Double minVal, Double maxVal){
|
||||
super(id,nom);
|
||||
// si min inférieur a zero, alors passe a 0
|
||||
if(minVal < 0){
|
||||
minVal = (double) 0;
|
||||
}
|
||||
this.minVal = minVal;
|
||||
this.maxVal = maxVal;
|
||||
}
|
||||
|
||||
private Double minVal;
|
||||
private Double maxVal;
|
||||
@Override
|
||||
public ObjectProperty<Double> genTemp() {
|
||||
Random rand = new Random();
|
||||
double randomValue = rand.nextDouble(this.maxVal - this.minVal) + minVal;
|
||||
this.setTemp(randomValue);
|
||||
return this.getTemp();
|
||||
}
|
||||
}
|
@ -0,0 +1,40 @@
|
||||
package model;
|
||||
|
||||
import javafx.beans.property.ObjectProperty;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class CapteurRealiste extends CapteurAbstrait{
|
||||
/*
|
||||
Pour rendre les variations plus réalistes on veut un capteur qui génère des
|
||||
températures dont la variation est bornée en fonction d'un intervalle [-d;+d]
|
||||
et d'une température initiale T (tous deux définis à la création)
|
||||
|
||||
t0 = T
|
||||
ti+1 = ti + random(-d,+d)
|
||||
*/
|
||||
public CapteurRealiste(int id, String nom, double tZero, double borne) {
|
||||
super(id, nom);
|
||||
this.borne = borne;
|
||||
this.tZero = tZero;
|
||||
this.setTemp(tZero);
|
||||
}
|
||||
|
||||
private Double borne;
|
||||
private Double tZero;
|
||||
|
||||
@Override
|
||||
public ObjectProperty<Double> genTemp() {
|
||||
Random rand = new Random();
|
||||
|
||||
double randomValue = rand.nextDouble() * 2 * this.borne - this.borne;
|
||||
/* rand.nextDouble fait un double entre 0 et 1.
|
||||
* Ensuite on fait * 2*borne pour que l'intervale soit entre 0 et 2*borne.
|
||||
* On soustrait borne après comme ça on a un nombre entre -borne et borne.
|
||||
*/
|
||||
|
||||
double newTemp = this.getTemp().getValue() + randomValue; //tzero + random entre -borne et borne
|
||||
this.setTemp(newTemp);
|
||||
return this.getTemp();
|
||||
}
|
||||
}
|
Loading…
Reference in new issue