Commit 97d98e20 authored by Paul Esteve's avatar Paul Esteve
Browse files

Quasi fin du tp bouteilleJus, seance 1 tp zoo

parent 4362a3e8
.class
.DS_Store
*.class
*.html
*.js
*.css
......@@ -77,6 +77,7 @@ public class Image{
}
else{
System.out.println("/!\\ L'image n'a pas été sauvegardée\n");
// throw new SaveFailure("/!\\ L'image n'a pas été sauvegardée")
}
}
......
public class Mandel {
private Image img;
private double maxModule;
private int maxTermes;
public Mandel(int n, double maxModule, int maxTermes){
this.img = new Image(n, n);
this.maxModule = maxModule;
this.maxTermes = maxTermes;
this.genererImage();
}
public int getN() {
return img.getNbc();
}
private int calculer(Complexe zp){
Complexe z = new Complexe();
for (int i = 0; i < this.maxTermes; i ++) {
if (z.getRho() > maxModule) {
return i;
}
z.mult(z);
z.add(zp);
}
return maxTermes;
}
private void genererImage(){
Complexe zp = new Complexe( -1, -1 );
for(int k = 0; k < this.getN(); k ++){
for (int l = 0; l< this.getN(); l++) {
zp.setReelle(-1.5 + 2.0*k/this.getN());
zp.setImaginaire(-1.0 + 2.0*l/this.getN());
// On calcule la fractale pour zp et on met le résultat dans l'image
this.img.setPixel(k, l, 255 << 24 + this.calculer(zp)%256);
}
}
}
public void afficher(){
img.afficher();
}
public void sauver(String nom){
img.sauver(nom);
}
}
public class TestMandel{
public static void main(String[] args) {
int n = 256;
int maxTermes = 100;
double maxModule = 20;
Mandel frac = new Mandel(n, maxModule, maxTermes);
frac.afficher();
frac.sauver("Fractale de Mandel N.B");
// System.out.println("Pixel en (0,0) : " + frac.img.getPixel(0, 0));
}
}
......@@ -34,6 +34,10 @@ public class Bouteille{
this.ouverte = true;
}
public boolean isOuverte(){
return ouverte;
}
public void fermer(){
this.ouverte = false;
}
......
// package fr.bouteillejus.
import java.time.*;
// import fr.boisson.bouteille;
// import tp_cocktail.Bouteille;
class ErreurBouteille extends Exception {
public ErreurBouteille(String s){
super(s);
}
}
class BouteilleJus extends Bouteille {
private int secondsAvantPeremption;
LocalDateTime dateTimeOuverture;
public BouteilleJus(String nom, int quantite, int secondsAvantPeremption ){
super(nom, quantite, false); // on appelle le super constructeur = le constructeur de la classe mère Bouteille
this.secondsAvantPeremption = secondsAvantPeremption;
// this.dateTimeOuverture = new LocalDateTime();
}
public BouteilleJus(String nom, int quantite){
// super(nom, quantite, false);
this(nom, quantite, 1);
}
@Override
public void ouvrir(){
if (! this.isOuverte()) {
dateTimeOuverture = LocalDateTime.now();
}
super.ouvrir();
}
@Override
public int verser(int q){
if (this.estPerimee()) {
// throw new ErreurBouteille("Attention la bouteille est périmée");
System.out.println("Attention la bouteille est périmée\n");
}
return super.verser(q);
}
public boolean estPerimee(){
return (Duration.between(this.dateTimeOuverture, LocalDateTime.now()).toMillis() /1000 > secondsAvantPeremption);
}
}
class TestBouteilleJus {
public static void main(String[] args) {
BouteilleJus b = new BouteilleJus("Bouteille de jus", 25);
b.ouvrir();
// try {
b.verser(10);
// }
// catch (ErreurBouteille e) {
// System.out.println(e.getMessage());
// }
// DODO
try {
System.out.println("Dodo 4 secondes"); Thread.sleep(4000); // le programme s’arr^ete 4 secondes
}
catch(InterruptedException e) {}
// Reversons
// try {
b.verser(10);
// }
// catch (ErreurBouteille e) {
// System.out.println(e);
// }
}
}
import animals.*;
public class TestAnimal {
public static void main(String[] args) {
Orque o = new Orque("Loïc", 70);
System.out.println("Voici un orque \n" + o);
System.out.println("\nCrie vaillant orque :\n" + o.getCri());
TigreDuBengale tdb = new TigreDuBengale("Hugo", 75, 101);
System.out.println("\n\n" + "Voici un tigre du Bengale\n" + tdb);
System.out.println("\nCrie magnifique tigre :\n" + tdb.getCri());
TigreBlanc tb = new TigreBlanc("Hugo", 65, 5000);
System.out.println("\n\n" + "Voici un tigre du Bengale\n" + tb);
System.out.println("\nCrie magnifique tigre :\n" + tb.getCri());
System.out.println("\nLe tigre coute " + tb.getCout() + " kg de viande par jour");
Aigle a = new Aigle("Thomas", 20, 1);
System.out.println("\n\n" + "Voici un aigle\n" + a);
System.out.println("\nCrie magnifique aigle :\n" + a.getCri());
System.out.println("\nL'aigle coute " + a.getCout() + " kg de viande par jour");
Autruche au = new Autruche("Nico", 50, 400);
System.out.println("\n\n" + "Voici une autruche\n" + au);
System.out.println("\nCrie magnifique autruche :\n" + au.getCri());
System.out.println("\nL'autruche coute " + au.getCout() + " kg de fruits par jour");
}
}
import animals.*;
// import animals.species.*;
public class TestZoo {
public static void main(String[] args) {
Zoo phelma = new Zoo("Minatec");
TigreDuBengale tigrou = new TigreDuBengale("Fantôme", 120, 40); // 120kg et 40 rayures
phelma.ajoute(tigrou);
Autruche aut = new Autruche("Ann", 50, 300); // 50kg et 300 plumes
phelma.ajoute(aut);
Chimpanze chips = new Chimpanze("Chita", 30); // 30kg
phelma.ajoute(chips);
Aigle ai = new Aigle("Roquette", 5, 200, 2); // 5kg, 200cm d'envergure et bouffe 2kg
phelma.ajoute(ai);
Orque az = new Orque("Azog", 9000); // 9t
phelma.ajoute(az);
System.out.println("Voici le zoo :\n" + phelma);
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment