"depot M213"

This commit is contained in:
JunkJumper 2020-05-03 14:24:13 +02:00
parent 1408744dbb
commit e5983242c6
136 changed files with 161184 additions and 0 deletions

BIN
TD1/TD1.pdf Executable file

Binary file not shown.

7
TD1/src/HelloWorld.java Executable file
View File

@ -0,0 +1,7 @@
public class HelloWorld
{
public static void main(String[] args)
{
System.out.println("\nHelloWord ! :)");
}
}

100
TD1/src/point/Point.java Executable file
View File

@ -0,0 +1,100 @@
package point;
public class Point
{
//attributs
public double x;
public double y;
//constructeurs
public Point()
{
x = 0;
y = 0;
}
public Point(double x, double y)
{
this.x = x;
this.y = y;
}
//methode d'instance
public String toString()
{
return "(X = " + this.x + " - Y = " + this.y + ")";
}
public double getDistance(Point p)
{
double result;
result = Math.sqrt(Math.pow(this.x - p.x, 2) + Math.pow(this.y - p.y, 2));
return result;
}
//accesseur en lecture
public double getX() {
return x;
}
public double getY() {
return y;
}
public Point projX()
{
return new Point(this.x, 0.);
}
public Point projY()
{
return new Point(0., this.y);
}
public boolean equals (Object obj)
{
Point p = (Point)obj;
if (this.x == p.x && this.y == p.y)
return true;
else return false;
}
public Point clone()
{
return new Point(this.x, this.y);
}
public void getLocation()
{
System.out.println("x = " + this.x + " , y = " + this.y + ".");
}
public void setLocation(Point p)
{
p.x = this.x;
p.y = this.y;
}
public void setLocation(double x, double y)
{
x = this.x;
y = this.y;
}
public void translate(int dx, int dy)
{
this.x = this.x+dx;
this.y = this.y+dy;
}
//getters and setters
public void setX(double x) {
this.x = x;
}
public void setY(double y) {
this.y = y;
}
}

14
TD1/src/point/PointTest.java Executable file
View File

@ -0,0 +1,14 @@
package point;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
class PointTest {
@Test
void test() {
fail("Not yet implemented");
}
}

76
TD1/src/point/TestPoint.java Executable file
View File

@ -0,0 +1,76 @@
package point;
public class TestPoint {
public static void main(String[] args)
{
Point O = new Point();
Point I = new Point(1.0, 0.0);
Point J = new Point(0.0, 1.0);
Point A = new Point(1.0, 3.5);
Point B = new Point(8.0, 20.0);
Point C = new Point(-2.0, 3.0);
Point D = new Point(1.0, 1.0);
System.out.println(" O = " + O.toString());
System.out.println(" I = " + I.toString());
System.out.println(" J = " + J.toString());
System.out.println(" A = " + A.toString());
System.out.println(" B = " + B.toString());
System.out.println(" C = " + C.toString());
System.out.println(" D = " + D.toString());
System.out.println("La distance O - I est de " + O.getDistance(I));
System.out.println("La distance O - J est de " + O.getDistance(J));
System.out.println("La distance J - I est de " + J.getDistance(I));
System.out.println("La distance A - B est de " + A.getDistance(B));
System.out.println("La distance B - A est de " + B.getDistance(A));
System.out.println("La distance A - C est de " + A.getDistance(C));
System.out.println("La distance C - A est de " + C.getDistance(A));
System.out.println("La distance O - D est de " + O.getDistance(D));
System.out.println("Le getX de A est " + A.getX());
System.out.println("Le getY de A est " + A.getY());
System.out.println("Le ProjX de A est " + A.projX());
System.out.println("Le ProjY de A est " + A.projY());
System.out.println("Le ProjX de B est " + B.projX());
System.out.println("Le ProjY de B est " + B.projY());
System.out.println("Le ProjX de O est " + O.projX());
System.out.println("Le ProjY de O est " + O.projY());
System.out.println("Le ProjX de I est " + I.projX());
System.out.println("Le ProjY de I est " + I.projY());
System.out.println("Le ProjX de J est " + J.projX());
System.out.println("Le ProjY de J est " + J.projY());
System.out.println(A.equals(A));
System.out.println(O.equals(O));
System.out.println(I.equals(J));
System.out.println(J.equals(I));
System.out.println(B.equals(B));
System.out.println(C.equals(C));
/*A.setLocation(5., 2.);
B.setLocation(3., -2.);
C.setLocation(6., 5.);
O.setLocation(-5., 8.);*/
A.translate(5, 2);
B.translate(3, -2);
C.translate(6, 5);
O.translate(-5, 8);
System.out.println(A.toString());
System.out.println(B.toString());
System.out.println(C.toString());
System.out.println(O.toString());
}
}

39013
TD10/-France_Codepostal_2009.txt Executable file

File diff suppressed because it is too large Load Diff

39013
TD10/-France_Codepostal_2009_esp.txt Executable file

File diff suppressed because it is too large Load Diff

106
TD10/-ListePokemon.txt Executable file
View File

@ -0,0 +1,106 @@
Bulbizarre Plante 0.7 6.9 294 62
Herbizarre Plante 1.0 13.0 324 74
Florizarre Plante 2.0 100.0 364 92
Salameche Feu 0.6 8.5 282 65 4
Reptincel Feu 1.1 19.0 320 76 4
Dracaufeu Feu 1.7 90.5 360 94 4
Carapuce Eau 0.5 9.0 292 61 4
Carabaffe Eau 1.0 22.5 322 75 4
Tortank Eau 1.8 85.5 362 93 4
Pikachu Electrik 0.4 6.0 274 67 4 0 50
Raichu Electrik 0.8 30.0 324 99 4 0 90
Goupix Feu 0.6 9.9 280 55 4
Feunard Feu 1.1 19.9 350 86 4
Mystherbe Plante 0.5 5.4 294 63
Ortide Plante 0.8 8.6 324 76
Rafflesia Plante 1.2 18.6 354 90
Paras Plante 0.3 5.4 274 81
Parasect Plante 1.0 29.5 324 103
Psykokwak Eau 0.8 19.6 304 65 4
Akwakwak Eau 1.7 76.6 364 92 4
Caninos Feu 0.7 19.0 314 81 4
Arcanin Feu 1.9 155.0 384 117 4
Ptitard Eau 0.6 12.4 284 63 3
Tetarte Eau 1.0 20.0 334 76 4
Tartard Eau 1.3 54.0 384 94 4
Chetiflor Plante 0.7 4.0 304 85
Boustiflor Plante 1.0 6.4 334 99
Empiflor Plante 1.7 15.5 364 112
Tentacool Eau 0.9 45.5 284 54 2
Tentacruel Eau 1.6 55.0 364 81 6
Ponyta Feu 1.0 30.0 304 94 4
Galopa Feu 1.7 95.0 334 108 4
Ramoloss Eau 1.2 36.0 384 76 5
Flagadoss Eau 1.6 78.5 394 85 5
Magneti Electrik 0.3 6.0 254 49 0 2 95
Magneton Electrik 1.0 60.0 304 72 0 6 120
Otaria Eau 1.1 90.0 334 58 3
Lamantine Eau 1.7 120.0 384 81 3
Kokiyas Eau 0.3 4.0 264 76 0
Crustabri Eau 1.5 132.5 304 103 0
Kraby Eau 0.4 6.5 264 112 2
Krabboss Eau 1.3 60.0 314 135 2
Voltorbe Electrik 0.5 10.4 284 45 0 1 55
Electrode Electrik 1.2 66.6 324 63 0 1 80
Noeunoeuf Plante 0.4 2.5 324 54
Noadkoko Plante 2.0 120.0 394 103
Saquedeneu Plante 1.0 35.0 334 67
Hypotrempe Eau 0.4 8.0 264 54 1
Hypocean Eau 1.2 25.0 314 76 1
Poissirene Eau 0.6 15.0 294 78 3
Poissoroy Eau 1.3 39.0 364 101 3
Stari Eau 0.8 34.5 264 58 1
Staross Eau 1.1 80.0 324 85 1
Elektek Electrik 1.1 30.0 334 93 4 0 95
Magmar Feu 1.3 44.5 334 103 4
Magicarpe Eau 0.9 10.0 244 27 3
Leviator Eau 6.5 235.0 394 130 1
Lokhlass Eau 2.5 220.0 464 94 2
Aquali Eau 1.0 29.0 464 76 7
Voltali Electrik 0.8 24.5 334 76 4 0 110
Pyroli Feu 0.9 25.9 334 135 4
Amonita Eau 0.4 7.5 274 54 2
Amonistar Eau 1.0 35.0 344 72 4
Kabuto Eau 0.5 11.5 264 90 1
Kabutops Eau 1.3 40.5 324 121 2
Electhor Electrik 1.6 52.6 384 99 2 2 125
Sulfura Feu 2.0 60.0 384 108 2
Germignon Plante 0.9 6.4 294 62
Macronium Plante 1.2 15.8 324 74
Meganium Plante 1.8 100.5 364 92
Hericendre Feu 0.5 7.9 282 65 4
Feurisson Feu 0.9 19.0 320 76 4
Typhlosion Feu 1.7 79.5 360 94 4
Kaiminus Eau 0.6 9.5 304 76 4
Crocrodil Eau 1.1 25.0 334 90 4
Aligatueur Eau 2.3 88.8 374 112 4
Loupio Electrik 0.5 12.0 354 52 2 2 56
Lanturn Electrik 1.2 22.5 454 70 0 2 76
Pichu Electrik 0.3 2.0 244 54 4 0 35
Wattouat Electrik 0.6 7.8 314 54 4 0 65
Lainergie Electrik 0.8 13.3 344 67 4 0 80
Pharamp Electrik 1.4 61.5 384 85 4 0 115
Joliflor Plante 0.4 5.8 354 90
Marill Eau 0.4 8.5 344 36 4
Azumarill Eau 0.8 28.5 404 63 6
Tarpaud Eau 1.1 33.9 383 85 4
Granivol Plante 0.4 0.5 274 49
Floravol Plante 0.6 1.0 314 58
Cotovol Plante 0.8 3.0 354 67
Tournegrin Plante 0.3 1.8 264 45
Heliatronc Plante 0.8 8.5 354 85
Axoloto Eau 0.4 8.5 314 58 2
Maraiste Eau 1.4 75.0 394 94 4
Roigada Eau 2.0 79.5 394 85 3
Qwilfish Eau 0.5 3.9 334 103 1
Limagma Feu 0.7 35.0 284 54 2
Volcaropod Feu 0.8 55.0 304 63 2
Corayon Eau 0.6 5.0 314 67 0
Remoraid Eau 0.6 12.0 274 76 2
Octillery Eau 0.9 28.5 354 112 2
Demanta Eau 2.1 220.0 334 54 2
Malosse Feu 0.6 10.8 294 72 4
Demolosse Feu 1.4 35.0 354 99 4
Hyporoi Eau 1.8 152.0 354 103 1
Elekid Electrik 0.6 23.5 294 75 4 0 65
Magby Feu 0.7 21.4 294 85 4

32
TD10/.vscode/launch.json vendored Executable file
View File

@ -0,0 +1,32 @@
{
"configurations": [
{
"type": "java",
"name": "CodeLens (Launch) - LectureFichierAffichage",
"request": "launch",
"mainClass": "input.LectureFichierAffichage",
"projectName": "TD10"
},
{
"type": "java",
"name": "CodeLens (Launch) - Partie",
"request": "launch",
"mainClass": "pokemon.Partie",
"projectName": "TD10"
},
{
"type": "java",
"name": "CodeLens (Launch) - LectureFichierEcritureESP",
"request": "launch",
"mainClass": "input.LectureFichierEcritureESP",
"projectName": "TD10"
},
{
"type": "java",
"name": "CodeLens (Launch) - LectureFichier",
"request": "launch",
"mainClass": "input.LectureFichier",
"projectName": "TD10"
}
]
}

View File

38230
TD10/France_Code_Postal_2009ESP.txt Executable file

File diff suppressed because it is too large Load Diff

0
TD10/France_Communes_2009.txt Executable file
View File

38891
TD10/France_Communes_2009ESP.txt Executable file

File diff suppressed because it is too large Load Diff

BIN
TD10/TD10.pdf Executable file

Binary file not shown.

View File

@ -0,0 +1,34 @@
package input;
import java.io.*;
public class LectureFichierAffichage {
public static void main(String[] args) {
try {
FileReader cp2009 = new FileReader("-France_Codepostal_2009.txt");
BufferedReader readerCP2009 = new BufferedReader(cp2009);
while (readerCP2009.ready()) {
String displayLine = readerCP2009.readLine();
System.out.println(displayLine);
}
readerCP2009.close();
cp2009.close();
} catch(FileNotFoundException e) {
System.err.println("Fichier non trouve");
} catch (IOException e) {
e.printStackTrace();
System.err.println("Fichier indisponible");
}
}
}

View File

@ -0,0 +1,49 @@
package input;
import java.io.*;
public class LectureFichierEcriture {
public static void main(String[] args) {
try {
FileReader cp2009 = new FileReader("-France_Codepostal_2009.txt");
FileWriter FC2009 = new FileWriter("France_Communes_2009.txt");
FileWriter C2009 = new FileWriter("France_Code_Postal_2009.txt");
BufferedReader readerCP2009 = new BufferedReader(cp2009);
BufferedWriter bufferCP = new BufferedWriter(C2009);
BufferedWriter bufferCommune = new BufferedWriter(FC2009);
while (readerCP2009.ready()) {
String displayLine = readerCP2009.readLine();
String[] tabs = displayLine.split("\t");
bufferCP.write(tabs[0]);
bufferCP.newLine();
bufferCommune.write(tabs[1]);
bufferCommune.newLine();
}
readerCP2009.close();
cp2009.close();
FC2009.close();
C2009.close();
} catch(FileNotFoundException e) {
System.err.println("Fichier non trouve");
} catch (IOException e) {
e.printStackTrace();
System.err.println("Fichier indisponible");
}
}
}

View File

@ -0,0 +1,55 @@
package input;
import java.io.*;
public class LectureFichierEcritureESP {
public static void main(String[] args) {
try {
FileReader cp2009 = new FileReader("-France_Codepostal_2009_esp.txt");
FileWriter FC2009 = new FileWriter("France_Code_Postal_2009ESP.txt");
FileWriter C2009 = new FileWriter("France_Communes_2009ESP.txt");
BufferedReader readerCP2009 = new BufferedReader(cp2009);
BufferedWriter bufferCP = new BufferedWriter(C2009);
BufferedWriter bufferCommune = new BufferedWriter(FC2009);
while (readerCP2009.ready()) {
String displayLine = readerCP2009.readLine();
String[] tabs = displayLine.split(" ");
tabs[(tabs.length) - 1] = "\t" + tabs[(tabs.length) - 1];
for (int i = 0; i < (tabs.length - 1); i++) {
bufferCP.write(tabs[i] + " ");
}
bufferCP.newLine();
bufferCommune.write(tabs.length);
bufferCommune.newLine();
}
readerCP2009.close();
cp2009.close();
FC2009.close();
C2009.close();
} catch(FileNotFoundException e) {
System.err.println("Fichier non trouve");
} catch (IOException e) {
e.printStackTrace();
System.err.println("Fichier indisponible");
}
}
}

121
TD10/src/pokemon/Joueur.java Executable file
View File

@ -0,0 +1,121 @@
package pokemon;
import java.util.*;
import java.lang.Math;
public class Joueur implements Comparable<Joueur> {
private String nom;
private int niveau; //Nombre pokemon captures
private int nbPoints; //Nombre pokemon actuel
private ArrayList<Pokemon> pokemon;
public Joueur() {
this.nom = null;
this.niveau = 1;
this.nbPoints = 0;
this.pokemon = new ArrayList<Pokemon>();
}
public Joueur(String s) {
this.nom = s;
this.niveau = 1;
this.nbPoints = 0;
this.pokemon = new ArrayList<Pokemon>();
}
public String toString() {
return "================================================================================\n" + "Le joueur " + this.nom + " a " + this.niveau + " pokemons!\nLes pokemons qu'il possede sont : " + this.pokemon.toString() + "\n================================================================================";
}
public int compareTo(Joueur j)
{
return this.getNom().compareTo(j.getNom());
}
public double vitesseMoyenne() {
if(pokemon.isEmpty())
{
return 0;
}
double moyenne = 0.;
for (Pokemon p : pokemon) {
moyenne += p.calculerVitesse();
}
return moyenne/pokemon.size();
}
public double vitesseMoyenne(String s) {
int count = 0;
if(pokemon.isEmpty())
{
return 0;
}
double moyenne = 0.;
for (Pokemon p : pokemon) {
if(p.getType().getDescription().equals(s))
{
moyenne += p.calculerVitesse();
count++;
}
}
return moyenne/count;
}
public void attrapePokemon(Pokemon p){
this.niveau++;
this.nbPoints++;
this.pokemon.add(p);
}
public void relachePokemon(Pokemon p) {
this.nbPoints--;
this.pokemon.remove(p);
}
public void attack(Object obj) {
Joueur j = (Joueur)obj;
int x = (int)Math.random()*this.getPokemon().size();
int y = (int)Math.random()*j.getPokemon().size();
this.pokemon.get(x).attack(this.pokemon.get(y));
j.pokemon.get(y).attack(this.pokemon.get(x));
}
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
public int getNiveau() {
return niveau;
}
public void setNiveau(int niveau) {
this.niveau = niveau;
}
public int getNbPoints() {
return nbPoints;
}
public void setNbPoints(int nbPoints) {
this.nbPoints = nbPoints;
}
public ArrayList<Pokemon> getPokemon() {
return pokemon;
}
public void setPokemon(ArrayList<Pokemon> pokemon) {
this.pokemon = pokemon;
}
}

83
TD10/src/pokemon/Partie.java Executable file
View File

@ -0,0 +1,83 @@
package pokemon;
import java.io.*;
import java.util.*;
/*
new PokemonFEU(String n, double t, double p, int pv, int pc, int g)
new PokemonEAU(String n, double t, double p, int pv, int pc, int g)
new PokemonELECTRIK(String n, double t, double p, int pv, int pc, int g, int a, double i)
new PokemonPLANTE(String n, double t, double p, int pv, int pc)
*/
public class Partie {
public static void main(String[] args) {
ArrayList<Pokemon> listePKM = new ArrayList<Pokemon>();
try {
FileReader lecturePkm = new FileReader("-ListePokemon.txt");
BufferedReader bufferPkm = new BufferedReader(lecturePkm);
while (bufferPkm.ready()) {
String displayLine = bufferPkm.readLine();
String[] tabs = displayLine.split(" ");
String typePKM = tabs[1];
// nom - type - taille - poids - pv - pc
switch (typePKM) {
case "Feu":
PokemonFEU pF = new PokemonFEU(tabs[0], Double.parseDouble(tabs[2]), Double.parseDouble(tabs[3]),
Integer.parseInt(tabs[4]), Integer.parseInt(tabs[5]), Integer.parseInt(tabs[6]));
listePKM.add(pF);
// On créer ici un pokemon feu que l'on ajoute à notre ArrayList
break;
case "Eau":
PokemonEAU pE = new PokemonEAU(tabs[0], Double.parseDouble(tabs[2]), Double.parseDouble(tabs[3]),
Integer.parseInt(tabs[4]), Integer.parseInt(tabs[5]), Integer.parseInt(tabs[6]));
listePKM.add(pE);
// On créer ici un pokemon feu que l'on ajoute à notre ArrayList
break;
case "Plante":
PokemonPLANTE pP = new PokemonPLANTE(tabs[0], Double.parseDouble(tabs[2]),
Double.parseDouble(tabs[3]), Integer.parseInt(tabs[4]), Integer.parseInt(tabs[5]));
listePKM.add(pP);
// On créer ici un pokemon feu que l'on ajoute à notre ArrayList
break;
case "Electrik":
PokemonELECTRIK pEl = new PokemonELECTRIK(tabs[0], Double.parseDouble(tabs[2]),
Double.parseDouble(tabs[3]), Integer.parseInt(tabs[4]), Integer.parseInt(tabs[5]),
Integer.parseInt(tabs[6]), Integer.parseInt(tabs[7]), Double.parseDouble(tabs[8]));
listePKM.add(pEl);
// On créer ici un pokemon feu que l'on ajoute à notre ArrayList
break;
default:
System.err.println("Erreur");
break;
}
}
System.out.println(listePKM.toString());
bufferPkm.close();
lecturePkm.close();
} catch (FileNotFoundException e) {
System.err.println("Fichier non trouve");
} catch (IOException e) {
e.printStackTrace();
System.err.println("Fichier indisponible");
}
}
}

106
TD10/src/pokemon/Pokemon.java Executable file
View File

@ -0,0 +1,106 @@
package pokemon;
public abstract class Pokemon implements Comparable<Pokemon> {
private String nom;
private double taille; // en m
private double poids; // en kg
private int pv;
private int pc;
Type type;
public Pokemon() {
nom = null;
taille = 0.;
poids = 0.;
pv = 0;
pc = 0;
}
public Pokemon(String n, double t, double p, int pv, int pc) {
this.nom = n;
this.taille = t;
this.poids = p;
this.pv = pv;
this.pc = pc;
this.type = null;
}
public double calculerVitesse() {
return 0.;
}
public double attack(Pokemon p2) {
return 0;
}
@Override
public String toString() {
return this.getNom();
}
public int compareTo(Pokemon p)
{
int r = this.getType().getDescription().compareTo(p.getType().getDescription());
if (r == 0) {
return this.getPv() - p.getPv();
}
else {
return r;
}
}
//getters
public String getNom() {
return nom;
}
public double getTaille() {
return taille;
}
public double getPoids() {
return poids;
}
public int getPv() {
return pv;
}
public int getPc() {
return pc;
}
public Type getType() {
return type;
}
//setters
public void setNom(String nom) {
this.nom = nom;
}
public void setTaille(double taille) {
this.taille = taille;
}
public void setPoids(double poids) {
this.poids = poids;
}
public void setPv(int pv) {
this.pv = pv;
}
public void setPc(int pc) {
this.pc = pc;
}
public void setType(Type type) {
this.type = type;
}
}

View File

@ -0,0 +1,48 @@
package pokemon;
public class PokemonEAU extends Pokemon{
private int nb_nageoires;
public PokemonEAU(String n, double t, double p, int pv, int pc, int g) {
super.setNom(n);
super.setTaille(t);
super.setPoids(p);
super.setPv(pv);
super.setPc(pc);
this.type = Type.EAU;
nb_nageoires = g;
}
public int getNb_nageoires() {
return nb_nageoires;
}
public void changePv(int modif) {
this.setPv(Math.max(0, this.getPv() - modif));
}
@Override
public double calculerVitesse() {
return (this.getPoids() * nb_nageoires) / 25.0;
}
public String toString() {
return this.getNom();
}
@Override
public double attack(Pokemon p2) {
if(p2.type == Type.ELECTRIK) {
p2.setPv(p2.getPv()-this.getPc());
}
else if(p2.type == Type.FEU) {
p2.setPv((p2.getPv()-this.getPc()*2));
}
else {
p2.setPv((p2.getPv()-this.getPc()/2));
}
return 0;
}
}

View File

@ -0,0 +1,56 @@
package pokemon;
public class PokemonELECTRIK extends Pokemon {
private int nb_pattes;
private int nb_ailes;
private double intensite;
public PokemonELECTRIK(String n, double t, double p, int pv, int pc, int g, int a, double i) {
super.setNom(n);
super.setTaille(t);
super.setPoids(p);
super.setPv(pv);
super.setPc(pc);
this.type = Type.ELECTRIK;
nb_pattes = g;
nb_ailes = a;
intensite = i;
}
public int getPattes() {
return nb_pattes;
}
public int getAiles() {
return nb_ailes;
}
public double getIntensite() {
return intensite;
}
public void changePv(int modif) {
this.setPv(Math.max(0, this.getPv() - modif));
}
@Override
public double calculerVitesse() {
return (nb_ailes + nb_pattes) * intensite * 0.05;
}
public String toString() {
return this.getNom();
}
@Override
public double attack(Pokemon p2) {
if (p2.type == Type.FEU) {
p2.setPv(p2.getPv() - this.getPc());
} else if (p2.type == Type.EAU) {
p2.setPv((p2.getPv() - this.getPc() * 2));
} else {
p2.setPv((p2.getPv() - this.getPc() / 2));
}
return 0;
}
}

View File

@ -0,0 +1,47 @@
package pokemon;
public class PokemonFEU extends Pokemon {
private int nb_pattes;
public PokemonFEU(String n, double t, double p, int pv, int pc, int g) {
super.setNom(n);
super.setTaille(t);
super.setPoids(p);
super.setPv(pv);
super.setPc(pc);
this.type = Type.FEU;
nb_pattes = g;
}
public int getPattes() {
return nb_pattes;
}
public void changePv(int modif) {
this.setPv(Math.max(0, this.getPv() - modif));
}
@Override
public double calculerVitesse() {
return this.getPoids() * nb_pattes * 0.03;
}
public String toString() {
return this.getNom();
}
@Override
public double attack(Pokemon p2) {
if(p2.type == Type.FEU) {
p2.setPv(p2.getPv()-this.getPc());
}
else if(p2.type == Type.PLANTE) {
p2.setPv((p2.getPv()-this.getPc()*2));
}
else {
p2.setPv((p2.getPv()-this.getPc()/2));
}
return 0;
}
}

View File

@ -0,0 +1,41 @@
package pokemon;
public class PokemonPLANTE extends Pokemon{
public PokemonPLANTE(String n, double t, double p, int pv, int pc) {
super.setNom(n);
super.setTaille(t);
super.setPoids(p);
super.setPv(pv);
super.setPc(pc);
this.type = Type.PLANTE;
}
public void changePv(int modif) {
this.setPv(Math.max(0, this.getPv() - modif));
}
@Override
public double calculerVitesse() {
return 10.0 / (this.getPoids() * this.getTaille());
}
public String toString() {
return this.getNom();
}
@Override
public double attack(Pokemon p2) {
if(p2.type == Type.EAU) {
p2.setPv(p2.getPv()-this.getPc());
}
else if(p2.type == Type.ELECTRIK) {
p2.setPv((p2.getPv()-this.getPc()*2));
}
else {
p2.setPv((p2.getPv()-this.getPc()/2));
}
return 0;
}
}

106
TD10/src/pokemon/TestPokemon.java Executable file
View File

@ -0,0 +1,106 @@
package pokemon;
import java.util.*;
public class TestPokemon {
@SuppressWarnings("unused")
public static void main(String[] args) {
//fire
PokemonFEU Infernape = new PokemonFEU("Infernape", 1.2, 55., 356, 45, 4);
PokemonFEU Ninetales = new PokemonFEU("Ninetales", 1.1, 19.9, 350, 26, 4);
PokemonFEU Salameche = new PokemonFEU("Salameche",0.5,5.,50,10,4);
//Electric
PokemonELECTRIK Ampharos = new PokemonELECTRIK("Ampharos", 1.4, 61.5, 384, 32, 2, 0, 95);
PokemonELECTRIK RaichuA = new PokemonELECTRIK("Raichu Alolan Form", .7, 21., 324, 37, 2, 0, 105);
PokemonELECTRIK Voltali = new PokemonELECTRIK("Voltali", 1.8, 47.3, 120, 130, 4, 0, 12);
PokemonELECTRIK Pikachu = new PokemonELECTRIK("Pikachu", 0.9, 5.3, 90, 50, 4, 0, 12);
//water
PokemonEAU Ludicolo = new PokemonEAU("Ludicolo", 1.5, 55., 364, 45, 2);
PokemonEAU Froakie = new PokemonEAU("Froakie", .3, 7., 286, 20, 2);
PokemonEAU Aquali = new PokemonEAU("Aquali", 2.1, 56.3, 140, 90, 3);
PokemonEAU Carapuce = new PokemonEAU("Carapuce",0.5,5.,50,10,0);
//grass
PokemonPLANTE Roselia = new PokemonPLANTE("Roselia", .3, 2., 304, 14);
PokemonPLANTE Torterra = new PokemonPLANTE("Torterra", 2.2, 310., 394, 44);
PokemonPLANTE Phylali = new PokemonPLANTE("Phylali", 1.6, 28.5, 130, 70);
PokemonPLANTE Herbizarre = new PokemonPLANTE("Herbizarre",0.5,5.,50,10);
Joueur JunkJumper = new Joueur("JunkJumper");
Joueur Mkel = new Joueur("Mkel");
ArrayList<Pokemon> l1 = new ArrayList<Pokemon>();
ArrayList<Pokemon> l2 = new ArrayList<Pokemon>();
l1.add(Infernape);
l1.add(Ludicolo);
l1.add(Roselia);
l1.add(Ampharos);
l2.add(Voltali);
l2.add(Salameche);
l2.add(Froakie);
l2.add(Herbizarre);
l2.add(Torterra);
l2.add(Carapuce);
l2.add(Ninetales);
JunkJumper.setPokemon(l1);
Mkel.setPokemon(l2);
System.out.println("===== Collection 1 : =====");;
for (Pokemon pokemon : l1) {
System.out.println(pokemon.toString());
}
System.out.println("===== Collection 2 : =====");;
for (Pokemon pokemon : l2) {
System.out.println(pokemon.toString());
}
Collections.sort(l1);
Collections.sort(l2);
JunkJumper.setNiveau(4);
Mkel.setNiveau(7);
System.out.println("\n Tri par nom effectue");
System.out.println("===== Collection 1 : =====");;
for (Pokemon pokemon : l1) {
System.out.println(pokemon.toString());
}
System.out.println("===== Collection 2 : =====");;
for (Pokemon pokemon : l2) {
System.out.println(pokemon.toString());
}
ArrayList<Joueur> lj = new ArrayList<Joueur>();
lj.add(JunkJumper);
lj.add(Mkel);
for (Joueur joueur : lj) {
System.out.println(joueur.toString());
}
Collections.sort(lj);
System.out.println("\n Tri par nom effectue");
for (Joueur joueur : lj) {
System.out.println(joueur.toString());
}
System.out.println("Hello Pokeworld !");
}
}

19
TD10/src/pokemon/Type.java Executable file
View File

@ -0,0 +1,19 @@
package pokemon;
enum Type {
EAU("EAU"),
ELECTRIK("ELECTRIK"),
FEU("FEU"),
PLANTE("PLANTE");
Type(String s) {
description = s;
}
private String description;
public String getDescription() {
return description;
}
}

BIN
TD2/TD2.pdf Executable file

Binary file not shown.

View File

@ -0,0 +1,71 @@
package ensembleEntierBorne;
public class EnsembleEntierBorne {
private final int MAXIMUM;
private boolean tab[];
public EnsembleEntierBorne(int max)
{
MAXIMUM = max;
tab = new boolean[max+1];
}
public void add(int elt)
{
this.tab[elt] = true;
}
public void remove(int elt)
{
this.tab[elt] = false;
}
public boolean doesContains(int elt)
{
if (this.tab[elt] == true) {
return true;
} else {
return false;
}
}
/*EnsembleEntierBorne intersect(EnsembleEntierBorne ens)
{
}*/
public int getMAXIMUM() {
return MAXIMUM;
}
public boolean[] getTab() {
return tab;
}
public void setTab(boolean tab[]) {
this.tab = tab;
}
@Override
public String toString() {
String retour = "{";
for (int i = 0; i < this.MAXIMUM; i++)
{
if (this.tab[i] == true)
{
retour += i+", ";
}
}
retour += "}";
return retour;
}
}

View File

@ -0,0 +1,46 @@
package ensembleEntierBorne;
public class TestEnsembleEntierBorne {
public static void main(String[] args) {
EnsembleEntierBorne e1 = new EnsembleEntierBorne(20);
EnsembleEntierBorne e2 = new EnsembleEntierBorne(11);
EnsembleEntierBorne e3 = new EnsembleEntierBorne(5);
e1.add(3);
e1.add(5);
e1.add(9);
e1.add(14);
e1.add(18);
e1.add(18);
System.out.println(e1.toString());
e1.remove(3);
e1.remove(18);
System.out.println(e1.toString());
System.out.println();
System.out.println();
System.out.println();
e2.add(1);
e2.add(2);
e2.add(3);
e2.add(4);
e2.add(5);
e2.add(6);
e2.add(7);
e2.add(8);
e3.add(5);
e3.add(0);
e3.add(3);
System.out.println("e1 = " + e1.toString());
System.out.println("e2 = " + e2.toString());
System.out.println("e3 = " + e3.toString());
}
}

93
TD2/src/test/TestTriplet.java Executable file
View File

@ -0,0 +1,93 @@
package test;
import tripletEntier.TripletEntier;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
class TestTriplet {
private TripletEntier t1 = new TripletEntier(4, 3, 3);
private TripletEntier t2 = new TripletEntier(4, 4, 2);
private TripletEntier t3 = new TripletEntier(4, 5, 1);
private TripletEntier t4 = new TripletEntier(3, 5, 2);
private TripletEntier t5 = new TripletEntier(1, 2, 3);
@BeforeEach
public void avantTest() {
System.out.println("----------Debut Test-------------");
}
@AfterEach
public void apresTest() {
System.out.println("-----------Fin Test-------------");
}
@Test
void testSomme() {
assertEquals(10, t1.somme());
assertEquals(10, t2.somme());
assertEquals(10, t3.somme());
assertEquals(10, t4.somme());
assertEquals(6, t5.somme());
System.out.println("Test Somme Passe correctement !");
}
@Test
void testMoyenne() {
assertEquals(2., t5.moyenne(), 0.00000001);
assertEquals(3.33333333, t4.moyenne(), 0.00000001);
assertEquals(3.33333333, t3.moyenne(), 0.00000001);
assertEquals(3.33333333, t2.moyenne(), 0.00000001);
assertEquals(3.33333333, t1.moyenne(), 0.00000001);
System.out.println("Test des sommes Passe correctement !");
}
@Test
void testConcatenantion() {
assertEquals("433", t1.concatenation());
assertEquals("442", t2.concatenation());
assertEquals("451", t3.concatenation());
assertEquals("352", t4.concatenation());
assertEquals("123", t5.concatenation());
System.out.println("Test des concatenations Passe correctement !");
}
@Test
void testToSting() {
assertEquals("[a=4, b=3, c=3]", t1.toString());
assertEquals("[a=4, b=4, c=2]", t2.toString());
assertEquals("[a=4, b=5, c=1]", t3.toString());
assertEquals("[a=3, b=5, c=2]", t4.toString());
assertEquals("[a=1, b=2, c=3]", t5.toString());
System.out.println("Test du toString Passe correctement !");
}
@Test
void testEquals() {
assertEquals(true, t1.equals(t1));
assertEquals(true, t2.equals(t2));
assertEquals(true, t3.equals(t3));
assertEquals(true, t4.equals(t4));
assertEquals(true, t5.equals(t5));
assertEquals(false, t1.equals(t2));
assertEquals(false, t2.equals(t3));
assertEquals(false, t3.equals(t1));
assertEquals(false, t4.equals(t5));
assertEquals(false, t5.equals(t1));
System.out.println("Test des equals Passe correctement !");
}
}

View File

@ -0,0 +1,41 @@
package tripletEntier;
public class TestTripletEntier
{
public static void main(String[] args)
{
TripletEntier t1 = new TripletEntier(2, 2, 3);
System.out.println("Somme "+t1+" = "+t1.somme());
System.out.println(t1.somme() == 7);
System.out.println();
TripletEntier t2 = new TripletEntier(1, 2, 3);
System.out.println(t2);
/*String resConcat = t2.concatenation();
/*System.out.println(resConcat);
System.out.println(resConcat == "123");
System.out.println(resConcat.equals("123"));
System.out.println("Moyenne "+t2+" = "+t2.moyenne());
System.out.println();*/
System.out.println(new TripletEntier(1, 2, 4).moyenne());
System.out.println();
TripletEntier t3 = new TripletEntier(1, 2, 2);
System.out.println("Moyenne "+t3+" = "+t3.moyenne());
System.out.println(t3.moyenne() == (5.0/3.0));
System.out.println(t3.moyenne() == 1.666667);
System.out.println();
/*t1.ajoutElement(5, 2);
System.out.println(t1);
t1.ajoutElement(5, 5);
t1.ajout1erElement(10);
System.out.println(t1);*/
}
}

View File

@ -0,0 +1,87 @@
package tripletEntier;
public class TripletEntier
{
private int un;
private int deux;
private int trois;
public TripletEntier()
{
un = 0;
deux = 0;
trois = 0;
}
public TripletEntier(int a, int b, int c)
{
un = a;
deux = b;
trois = c;
}
//getter
public int getA() {
return un;
}
public int getB() {
return deux;
}
public int getC() {
return trois;
}
//setter
public void setA(int a) {
this.un = a;
}
public void setB(int b) {
this.deux = b;
}
public void setC(int c) {
this.trois = c;
}
/*
¸,ø¤º°`°º¤ø,¸¸,ø¤º°°º¤ø,¸¸,ø¤º°`°º¤ø,¸
Exercices demandés
¸,ø¤º°`°º¤ø,¸¸,ø¤º°°º¤ø,¸¸,ø¤º°`°º¤ø,¸
*/
public int somme()
{
int ret=this.un+this.deux+this.trois;
return ret;
}
public String concatenation()
{
return ""+this.un+this.deux+this.trois;
}
public double moyenne()
{
return ((double) somme() / 3);
}
@Override
public String toString()
{
return "[a=" + un + ", b=" + deux + ", c=" + trois + "]";
}
public boolean equals(Object o)
{
TripletEntier t = (TripletEntier) o;
return (this.un == t.un) && (this.deux == t.deux) && (this.trois == t.trois);
}
}

66
TD3 src/boite/Boite.java Executable file
View File

@ -0,0 +1,66 @@
package boite;
import java.awt.Color;
public class Boite {
final private int BOITEMAX = 5;
private Color couleur;
private Objet contenu;
private Boite[] bContent = new Boite[15];
private int nbB = 0;
public Boite(Color col) {
couleur = col;
contenu = null;
}
public Boite(Color col, Objet obj) {
couleur = col;
contenu = obj;
}
public Boite(Color col, Boite box) {
couleur = col;
bContent[nbB] = box;
nbB += 1;
}
public Boite(Color col, Boite box, Objet obj) {
couleur = col;
contenu = obj;
bContent[nbB] = box;
nbB += 1;
}
public Color getColor() {
return couleur;
}
public Objet getObjet() {
return contenu;
}
public boolean contientObjet(Objet obj) {
return obj == contenu;
}
public boolean estVide() {
return contenu ==null && nbB == 0;
}
public void ajouteBoite(Boite B) {
if (nbB+1 >= 5)
throw new RuntimeException("Maximum déjà atteint");
bContent[nbB] = B;
nbB += 1;
}
}

38
TD3 src/boite/Objet.java Executable file
View File

@ -0,0 +1,38 @@
package boite;
import java.awt.*;
public class Objet {
Color couleur;
public Objet() {
couleur = Color.white;
}
public Objet(Color c) {
couleur = c;
}
public void changeCouleur(Color c) {
if (!couleur.equals(c))
couleur = c;
else
System.out.println("L'objet est déjà de couleur "+c);
}
public void changeCouleur2(Color c) {
if (couleur.equals(c))
throw new RuntimeException("Même couleur");
couleur = c;
}
public boolean equals(Object o) {
Objet currentO = (Objet) o;
return (currentO.couleur.equals(couleur));
}
public String toString() {
return "Objet "+couleur;
}
}

23
TD3 src/boite/testBoite.java Executable file
View File

@ -0,0 +1,23 @@
package boite;
import java.awt.Color;
public class testBoite {
public static void main(String[] args) {
Boite b1 = new Boite(Color.green);
Boite b2 = new Boite(Color.green, new Objet(Color.red));
Boite b3 = new Boite(Color.green, new Boite(Color.blue));
Boite b4 = new Boite(Color.green, new Boite(Color.blue));
b4.ajouteBoite(new Boite(Color.yellow));
Boite b5 = new Boite(Color.green, new Objet(Color.red));
b5.ajouteBoite(new Boite(Color.blue));
try {
b2.getObjet().changeCouleur2(Color.red);
} catch(RuntimeException e) {
e.getMessage();
}
}
}

33
TD3 src/fleuriste/Bouquet.java Executable file
View File

@ -0,0 +1,33 @@
package fleuriste;
public class Bouquet {
private LotFleurs lot1;
private LotFleurs lot2;
private LotFleurs lot3;
public Bouquet(LotFleurs un, LotFleurs deux, LotFleurs trois) {
if (un.fleur.getNom() == deux.fleur.getNom() || un.fleur.getNom() == trois.fleur.getNom() || deux.fleur.getNom() == trois.fleur.getNom())
throw new RuntimeException("Même fleurs");
lot1 = un;
lot2 = deux;
lot3 = trois;
}
public double prix() {
double prix = lot1.fleur.prix*lot1.nombre+lot2.fleur.prix*lot2.nombre+lot3.fleur.prix*lot3.nombre;
return prix += prix*15/100;
}
public LotFleurs getLot1() {
return lot1;
}
public LotFleurs getLot2() {
return lot2;
}
public LotFleurs getLot3() {
return lot3;
}
}

19
TD3 src/fleuriste/Fleur.java Executable file
View File

@ -0,0 +1,19 @@
package fleuriste;
public class Fleur {
String nom;
double prix;
public Fleur(String nomf, double prix) {
this.nom = nomf;
this.prix = prix;
}
public Fleur clone() {
return (new Fleur(this.nom, this.prix));
}
public String getNom() {
return this.nom;
}
}

View File

@ -0,0 +1,17 @@
package fleuriste;
public class LotFleurs {
Fleur fleur;
int nombre;
public LotFleurs(Fleur f, int nb) {
fleur = f.clone();
nombre = nb;
}
public int getNombre() {
return this.nombre;
}
}

39
TD3 src/fleuriste/Stock.java Executable file
View File

@ -0,0 +1,39 @@
package fleuriste;
public class Stock {
Fleur roses;
Fleur tulipes;
Fleur oeillet;
int nbr;
int nbt;
int nbo;
public Stock(Fleur r, Fleur t, Fleur o) {
roses = r;
tulipes = t;
oeillet = o;
nbr = 0;
nbt = 0;
nbo = 0;
}
public void ajouteRose(int nb) {
nbr += nb;
}
public void ajouteOeillet(int nb) {
nbo = nb;
}
public void ajouteTulipe(int nb) {
nbt = nb;
}
public boolean bouquetFaisable(Bouquet b) {
boolean faisable = true;
if (b.getLot1().nombre > nbr || b.getLot2().nombre > nbt || b.getLot3().nombre > nbo) {
faisable = false;
}
return faisable;
}
}

View File

@ -0,0 +1,27 @@
package fleuriste;
public class TestBouquet {
public static void main( String[] args) {
Fleur rose = new Fleur("rose",2.6);
Fleur tulipe = new Fleur("tulipe",0.4);
Fleur oeillet = new Fleur("oeillet",1.8);
LotFleurs lotroses = new LotFleurs(rose,5);
LotFleurs lottulipes = new LotFleurs(tulipe,7);
LotFleurs lotoeillets = new LotFleurs(oeillet,3);
Bouquet b = new Bouquet(lotroses, lottulipes, lotoeillets);
double prixb = b.prix(); //calcule le prix d<EFBFBD>un bouquet
System.out.println(b+" : "+prixb+" euros");
Stock magasin = new Stock(rose,tulipe,oeillet);
System.out.println(magasin);
magasin.ajouteRose(100);
magasin.ajouteTulipe(150);
magasin.ajouteOeillet(200);
System.out.println(magasin);
// Est-ce que le stock permet de produire le bouquet b ?
boolean orderBouquet = magasin.bouquetFaisable(b);
System.out.println(orderBouquet);
}
}

64
TD3 src/segments/Segment.java Executable file
View File

@ -0,0 +1,64 @@
package segments;
import Coords.Coords;
public class Segment {
private Coords origine;
private Coords extremite;
public Segment(Coords debut, Coords fin) throws RuntimeException {
if (debut.equals(fin) == true)
throw new RuntimeException("Points confondus");
origine = new Coords(debut);
extremite = new Coords(fin);
}
public Coords getOrigine() {
return this.origine;
}
public Coords getExtremite() {
return this.extremite;
}
public double length() {
return this.origine.getDistance(this.extremite);
}
public Segment projX() {
Segment projetX = new Segment(this.origine.projx(), this.extremite.projx());
return projetX;
}
public Segment projY() {
Segment projetY = new Segment(this.origine.projY(), this.extremite.projY());
return projetY;
}
public boolean equals(Segment deux) {
if (this.origine.equals(deux.origine) && this.extremite.equals(deux.extremite)) {
return true;
} else if (this.origine.equals(deux.extremite) && this.extremite.equals(deux.origine)){
return true;
} else {
return false;
}
}
public Segment clone() {
Segment clonage = new Segment(this.origine, this.extremite);
return clonage;
}
public String toString() {
return "Le point d'origine à pour coordonnées "+this.origine.toString()+" et le point d'extremite à pour coordonnées "+this.extremite.toString();
}
}

View File

@ -0,0 +1,34 @@
package segments;
import Coords.Coords;
public class TestSegment {
public static void main(String[] args) {
Coords p11 = new Coords(12.2, 8.3);
Coords p12 = new Coords(21.1, 6.5);
Coords p32 = new Coords(45.5, 8.6);
Segment s1 = new Segment(p11, p12);
Segment s2 = s1.clone();
Segment s3 = null;
try {
s3 = new Segment(p11, new Coords(45.5, 8.6));
} catch (RuntimeException e) {
e.getMessage();
}
assert (s1.equals(s2) == true);
assert (s1.equals(s3) == false);
assert (s3.getExtremite().equals(p32) == true);
assert (s3.length() == 33.30135);
assert (s3.projX().equals(new Segment(p11.projx(), p32.projx())));
//Segment err = new Segment(p11, p11);
System.out.println("fin du programme");
}
}

BIN
TD3/TD3.pdf Executable file

Binary file not shown.

39
TD3/src/fleuriste/Bouquet.java Executable file
View File

@ -0,0 +1,39 @@
package fleuriste;
/*-------------------------------------------------
Tableau Fleurs
0 = roses 1 = tulipes 2 = oeillets
--------------------------------------------------*/
public class Bouquet {
private LotFleur lotFleurs[];
public LotFleur getLotFleur(int i) {
return lotFleurs[i];
}
public void setLotFleur(LotFleur lotFleur, int i) {
this.lotFleurs[i] = lotFleur;
}
//instructions
public Bouquet(LotFleur l1, LotFleur l2, LotFleur l3){
lotFleurs[0] = l1;
lotFleurs[1] = l2;
lotFleurs[2] = l3;
}
public double prix() {
double resultat = 0.;
for (int i = 0; i < 3; i++) {
resultat = lotFleurs[i].getFleur().getPrix() * lotFleurs[i].getQuantite() + resultat;
}
return resultat;
}
}

33
TD3/src/fleuriste/Fleur.java Executable file
View File

@ -0,0 +1,33 @@
package fleuriste;
public class Fleur {
private String nom;
private double prix;
//getters
public String getNom() {
return nom;
}
public void setNom(String nom) {
this.nom = nom;
}
//setters
public double getPrix() {
return prix;
}
public void setPrix(double prix) {
this.prix = prix;
}
//instructions
public Fleur(String nomFleur, double prixFleur) {
this.nom = nomFleur;
this.prix = prixFleur;
}
}

40
TD3/src/fleuriste/LotFleur.java Executable file
View File

@ -0,0 +1,40 @@
package fleuriste;
public class LotFleur {
private int quantite;
private Fleur Fleur;
//getters
public int getQuantite() {
return quantite;
}
public Fleur getFleur() {
return Fleur;
}
//setters
public void setQuantite(int quantite) {
this.quantite = quantite;
}
public void setFleur(Fleur fleur) {
Fleur = fleur;
}
//instructions
public LotFleur(Fleur nomFleur, int quantiteFleur) {
this.quantite = quantiteFleur;
this.setFleur(nomFleur);
}
}

57
TD3/src/fleuriste/Stock.java Executable file
View File

@ -0,0 +1,57 @@
package fleuriste;
/*-------------------------------------------------
Tableau Fleurs
0 = roses 1 = tulipes 2 = oeillets
--------------------------------------------------*/
public class Stock {
private int[] quantite;
//getters
public int[] getQuantite() {
return quantite;
}
//setters
public void setQuantite(int[] quantite) {
this.quantite = quantite;
}
//Instructions
public Stock(Fleur f1, Fleur f2, Fleur f3) {
quantite[0] = 0;
quantite[1] = 0;
quantite[2] = 0;
}
public void ajouteFleur(int i, int quantiteFleur) {
if(i < 0 || i > 2)
{
System.err.println("Impossible, il n'y a pas de fleur de ce type !");
}
this.quantite[i] = quantiteFleur;
}
public boolean bouquetFaisable(Bouquet b1) {
for (int i = 0; i < 3; i++) {
if(quantite[i] > b1.getLotFleur(i).getQuantite())
{
return false;
}
}
return true;
}
}

View File

@ -0,0 +1,28 @@
package fleuriste;
public class TestBouquet {
public static void main( String[] args) {
// nom str nom = nom objet (ex :Tartampion)
Fleur rose = new Fleur("rose",2.6);
Fleur tulipe = new Fleur("tulipe",0.4);
Fleur oeillet = new Fleur("oeillet",1.8);
LotFleur lotroses = new LotFleur(rose,5);
LotFleur lottulipes = new LotFleur(tulipe,7);
LotFleur lotoeillets = new LotFleur(oeillet,3);
Bouquet b = new Bouquet(lotroses, lottulipes, lotoeillets);
double prixb = b.prix(); //calcule le prix d'un bouquet
System.out.println(b+" : "+prixb+" euros");
Stock magasin = new Stock(rose,tulipe,oeillet);
System.out.println(magasin);
magasin.ajouteFleur(0, 100);
magasin.ajouteFleur(1, 150);
magasin.ajouteFleur(2, 200);
System.out.println(magasin);
// Est-ce que le stock permet de produire le bouquet b ?
boolean orderBouquet = magasin.bouquetFaisable(b);
System.out.println(orderBouquet);
}
}

49
TD3/src/segment/Segment.java Executable file
View File

@ -0,0 +1,49 @@
package segment;
import point.Point;
public class Segment {
public Point origine;
public Point extremite;
public Segment(Point p1, Point p2) throws Throwable
{
if(p1.equals(p2)) throw new Throwable("Les points sont confondus !");
this.origine = p1;
this.extremite = p2;
}
public boolean equals(Object B)
{
Segment s = (Segment) B;
return this.origine.equals(s.origine)&&(this.extremite.equals(s.extremite)) || this.origine.equals(extremite)&&(this.extremite.equals(s.origine));
}
public String toString()
{
return "[" + origine + " - " + extremite + "]";
}
/*public Object clone() throws Throwable
{
return new Segment((Point)this.origine.clone, (Point)this.extremite.clone);
}*/
public double longueur()
{
return origine.getDistance(extremite);
}
public Segment projX() throws Throwable
{
if(origine.projX().equals(extremite.projX())) throw new Throwable("Les points projetes sont confondus !");
return new Segment(origine.projX(), extremite.projX());
}
public Segment projY() throws Throwable
{
if(origine.projY().equals(extremite.projY())) throw new Throwable("Les points projetes sont confondus !");
return new Segment(origine.projY(), extremite.projY());
}
}

View File

@ -0,0 +1,43 @@
package segment;
import point.Point;
public class TestSegment {
public static void main(String[] args) {
Point O = new Point();
Point I = new Point(1.0, 0.0);
Point J = new Point(0.0, 1.0);
Point A = new Point(1.0, 3.5);
Point B = new Point(8.0, 20.0);
Point C = new Point(-2.0, 3.0);
Point D = new Point(1.0, 1.0);
Segment AB = null;
Segment BC = null;
Segment OI = null;
Segment OJ = null;
Segment OD = null;
//Segment AA = null;
try {
AB = new Segment(A, B);
BC = new Segment(B, C);
OI = new Segment(O, I);
OJ = new Segment(O, J);
OD = new Segment(O, D);
//AA = new Segment(A, A);
} catch (Throwable t) {
System.out.println("Erreur : " + t);
}
System.out.println(OI.toString());
System.out.println(OJ.toString());
System.out.println(AB.toString());
System.out.println(BC.toString());
System.out.println(OD.toString());
//System.out.println(AA.toString());
System.out.println("Hello world !");
}
}

BIN
TD4/TD4.pdf Executable file

Binary file not shown.

View File

@ -0,0 +1,78 @@
package pointcolore;
import java.awt.Color;
import point.Point;
public class PointColore extends Point {
private Color couleur;
//==================================================
public Color getCouleur() {
return couleur;
}
public void setCouleur(Color couleur) {
this.couleur = couleur;
}
@Override
public String toString() {
return "Couleur = " + couleur + " --- Coords = " + super.toString();
}
//==================================================
public PointColore() {
this.setCouleur(Color.black);
}
public PointColore(double x, double y, Color c) {
super(x,y);
this.setCouleur(c);
}
public void colore(Color c){
this.setCouleur(c);
}
public boolean likeColor(PointColore pc) {
if(this.couleur == pc.couleur)
return true;
else return false;
}
@Override
public boolean equals (Object obj)
{
Point p = (Point)obj;
if (super.x == p.x && super.y == p.y)
return true;
else return false;
}
public PointColore projX()
{
Point p = super.projX();
return new PointColore(p.getX(), p.getY(), this.couleur);
}
public PointColore projY()
{
Point p = super.projY();
return new PointColore(p.getY(), p.getY(), this.couleur);
}
}

View File

@ -0,0 +1,30 @@
package pointcolore;
import java.awt.Color;
import point.Point;
public class TestPointColore {
public static void main(String[] args) {
Point Z = new Point(1., 8.);
PointColore A = new PointColore(3., 5., Color.black);
PointColore B = new PointColore(2.5, 8., Color.green);
PointColore C = new PointColore(1., -2., Color.red);
PointColore O = new PointColore(0., 0., Color.yellow);
PointColore I = new PointColore(1.0, 0.0, Color.yellow);
PointColore J = new PointColore(0.0, 1.0, Color.red);
System.out.println(" Z = " + Z.toString());
System.out.println(" O = " + O.toString());
System.out.println(" I = " + I.toString());
System.out.println(" J = " + J.toString());
System.out.println(" A = " + A.toString());
System.out.println(" B = " + B.toString());
System.out.println(" C = " + C.toString());
A.setCouleur(Color.white);
System.out.println(A.toString());
}
}

37
TD4/src/vehicule/Avion.java Executable file
View File

@ -0,0 +1,37 @@
package vehicule;
public class Avion extends Vehicule {
protected String moteur;
protected int heuresVol;
public Avion() {
moteur = "Moteur";
heuresVol = 0;
}
public Avion(String marque, int date, double prixac, String moteur, int heures) {
this.moteur = moteur;
heuresVol = heures;
this.marque = marque;
dateAchat = date;
prixAchat = prixac;
prixCourant = 0;
}
public void calculePrix(int annee) {
double pourcentage;
if (moteur == "hélice") {
pourcentage = 10*Math.floor(this.heuresVol/100);
} else {
pourcentage = 10* Math.floor(this.heuresVol/1000);
}
super.prixCourant = super.prixAchat - ((super.prixAchat/100) * pourcentage);
if (super.prixCourant < 0) {
super.prixCourant = 0;
}
}
public void affiche() {
System.out.println(""+this.marque+" "+this.dateAchat+" "+this.prixAchat+" "+prixCourant+" "+this.moteur+" "+this.heuresVol);
}
}

View File

@ -0,0 +1,29 @@
package vehicule;
import java.util.Calendar;
public class GestionVehicule {
private static int ANNEE_ACTUELLE = Calendar.getInstance().get(Calendar.YEAR);
public static void main(String[] args) {
Voiture[] garage = new Voiture[3];
Avion[] hangar = new Avion[2];
garage[0] = new Voiture("Peugeot", 2005, 13400.00, 1.4, 5, 4.0, 12000);
garage[1] = new Voiture("Porsche", 2010, 160000.00, 3.6, 2, 25.0, 8320);
garage[2] = new Voiture("Fiat", 1999, 8400.00, 1.2, 3, 5.0, 125000);
hangar[0] = new Avion("Cessna", 1979, 204739.90, "HELICES", 250);
hangar[1] = new Avion("Gulfstream", 1993, 4321098.00, "REACTION", 1300);
for (int i = 0; i < garage.length; i++) {
garage[i].calculePrix(ANNEE_ACTUELLE);
garage[i].affiche();
}
for (int i = 0; i < hangar.length; i++) {
hangar[i].calculePrix(ANNEE_ACTUELLE);
hangar[i].affiche();
}
}
}

32
TD4/src/vehicule/Vehicule.java Executable file
View File

@ -0,0 +1,32 @@
package vehicule;
public class Vehicule {
protected String marque;
protected int dateAchat;
protected double prixAchat;
protected double prixCourant;
public Vehicule() {
marque = "";
dateAchat = 0;
prixAchat = 0;
prixCourant = 0;
}
public Vehicule(String s, int d, double pA) {
this.marque = s;
dateAchat = d;
prixAchat = pA;
prixCourant = 0;
}
public void calculPrix(int y) {
int previousY = this.dateAchat - y;
this.prixCourant = this.prixAchat - ((this.prixAchat/100) * previousY);
}
public void affiche() {
System.out.println(""+this.marque+" "+this.dateAchat+" "+this.prixAchat+" "+prixCourant);
}
}

58
TD4/src/vehicule/Voiture.java Executable file
View File

@ -0,0 +1,58 @@
package vehicule;
public class Voiture extends Vehicule {
protected double cylindree;
protected int nbPorte;
protected double puissance;
protected double kilometrage;
public Voiture() {
cylindree = 0;
nbPorte = 0;
puissance = 0;
kilometrage = 0;
}
public Voiture(String marque, int date, double prixac, double cyl, int nbP, double pui, double kilo) {
cylindree = cyl;
nbPorte = nbP;
puissance = pui;
kilometrage = kilo;
this.marque = marque;
dateAchat = date;
prixAchat = prixac;
prixCourant = 0;
}
public void calculePrix(int annee) {
int anneesPass = (annee - this.dateAchat)*2;
double pourcentagekm = Math.floor(this.kilometrage/10000);
boolean malus = false;
boolean bonus = false;
if (this.marque == "fiat" || this.marque == "renaud") {
malus = true;
} else if (this.marque == "ferrari" || this.marque == "mclaren") {
bonus = true;
}
this.prixCourant = this.prixAchat - ((this.prixAchat/100) * anneesPass);
this.prixCourant -= ((this.prixAchat/100)*(pourcentagekm*5));
if (malus)
this.prixCourant -= (this.prixAchat/100)*10;
if (bonus)
this.prixCourant += (this.prixAchat/100)*20;
if (this.prixCourant < 0) {
this.prixCourant = 0;
} else if (this.prixCourant > this.prixAchat) {
this.prixCourant = this.prixAchat;
}
}
public void affiche() {
System.out.println("Marque : "+this.marque+" Date: "+this.dateAchat+" Prix d'achat "+this.prixAchat+" Prix Courant :"+this.prixCourant+" Cylindree "+this.cylindree+" Nb Portes "+this.nbPorte+" Puissance "+this.puissance+" Kilometrage "+this.kilometrage);
}
}

BIN
TD5/TD5.pdf Executable file

Binary file not shown.

View File

@ -0,0 +1,78 @@
package pointcolore;
import java.awt.Color;
import point.Point;
public class PointColore extends Point {
private Color couleur;
//==================================================
public Color getCouleur() {
return couleur;
}
public void setCouleur(Color couleur) {
this.couleur = couleur;
}
@Override
public String toString() {
return super.toString() + " - Couleur : " + couleur + ")";
}
//==================================================
public PointColore() {
this.setCouleur(Color.black);
}
public PointColore(double x, double y, Color c) {
super(x,y);
this.setCouleur(c);
}
public void colore(Color c){
this.setCouleur(c);
}
public boolean likeColor(PointColore pc) {
if(this.couleur == pc.couleur)
return true;
else return false;
}
@Override
public boolean equals (Object obj)
{
Point p = (Point)obj;
if (super.x == p.x && super.y == p.y)
return true;
else return false;
}
public PointColore projX()
{
Point p = super.projX();
return new PointColore(p.getX(), p.getY(), this.couleur);
}
public PointColore projY()
{
Point p = super.projY();
return new PointColore(p.getY(), p.getY(), this.couleur);
}
}

View File

@ -0,0 +1,49 @@
package pointcolore;
import java.awt.Color;
import point.Point;
public class TestPointColore {
public static void main(String[] args) {
Point tableauPoint[] = new Point[11];
tableauPoint[0] = new Point(0., 5.);
tableauPoint[1] = new Point(1., 4.);
tableauPoint[2] = new Point(2., 3.);
tableauPoint[3] = new Point(3., 2.);
tableauPoint[4] = new Point(4., 1.);
tableauPoint[5] = new PointColore(1., 1., Color.red);
tableauPoint[6] = new PointColore(2., 1., Color.blue);
tableauPoint[7] = new PointColore(3., 3., Color.green);
tableauPoint[8] = new PointColore(4., 4., Color.black);
tableauPoint[9] = new PointColore(5., 5., Color.white);
tableauPoint[10] = new PointColore();
tableauPoint[10] = tableauPoint[6];
System.out.println("Test toString :");
for (int i = 0; i < tableauPoint.length; i++) {
System.out.println("Le point d'incide " + i + " a pour attribus : " + tableauPoint[i].toString());
}
/*
System.out.println("Test getDistance :");
for (int i = 0; i < (tableauPoint.length - 1); i++) {
System.out.println("La distance du point d'incide [" + i + "]-[" + (i+1) + "] est de " + tableauPoint[i].getDistance(tableauPoint[(i+1)]));
}
*/
}
}

87
TD5/src/pokemon/Pokemon.java Executable file
View File

@ -0,0 +1,87 @@
package pokemon;
public class Pokemon {
private String nom;
private double taille; // en m
private double poids; // en kg
private int pv;
private int pc;
Type type;
//getters
public String getNom() {
return nom;
}
public double getTaille() {
return taille;
}
public double getPoids() {
return poids;
}
public int getPv() {
return pv;
}
public int getPc() {
return pc;
}
public Type getType() {
return type;
}
//setters
public void setNom(String nom) {
this.nom = nom;
}
public void setTaille(double taille) {
this.taille = taille;
}
public void setPoids(double poids) {
this.poids = poids;
}
public void setPv(int pv) {
this.pv = pv;
}
public void setPc(int pc) {
this.pc = pc;
}
public void setType(Type type) {
this.type = type;
}
public Pokemon() {
nom = null;
taille = 0.;
poids = 0.;
pv = 0;
pc = 0;
}
public Pokemon(String n, double t, double p, int pv, int pc) {
this.nom = n;
this.taille = t;
this.poids = p;
this.pv = pv;
this.pc = pc;
this.type = null;
}
public double calculerVitesse() {
return 0.;
}
public double attack(Pokemon p2) {
return 0;
}
}

49
TD5/src/pokemon/PokemonEAU.java Executable file
View File

@ -0,0 +1,49 @@
package pokemon;
public class PokemonEAU extends Pokemon{
private int nb_nageoires;
public PokemonEAU(String n, double t, double p, int pv, int pc, int g) {
super.setNom(n);
super.setTaille(t);
super.setPoids(p);
super.setPv(pv);
super.setPc(pc);
this.type = Type.EAU;
nb_nageoires = g;
}
public int getNb_nageoires() {
return nb_nageoires;
}
public void changePv(int modif) {
this.setPv(Math.max(0, this.getPv() - modif));
}
@Override
public double calculerVitesse() {
return (this.getPoids() * nb_nageoires) / 25.0;
}
public String toString() {
return "Statistiques du Pokemon \"" + this.getNom() + "\" de type " + type.getDescription() + " : (" + this.getPoids() + " kg, "
+ this.getTaille() + " m, " + this.getPv() + " pts de vie, " + this.getPc() + " force de combat, " + nb_nageoires + " nageoires)";
}
@Override
public double attack(Pokemon p2) {
if(p2.type == Type.ELECTRIK) {
p2.setPv(p2.getPv()-this.getPc());
}
else if(p2.type == Type.FEU) {
p2.setPv((p2.getPv()-this.getPc()*2));
}
else {
p2.setPv((p2.getPv()-this.getPc()/2));
}
return 0;
}
}

View File

@ -0,0 +1,61 @@
package pokemon;
public class PokemonELECTRIK extends Pokemon {
private int nb_pattes;
private int nb_ailes;
private double intensite;
public PokemonELECTRIK(String n, double t, double p, int pv, int pc, int g, int a, double i) {
super.setNom(n);
super.setTaille(t);
super.setPoids(p);
super.setPv(pv);
super.setPc(pc);
this.type = Type.ELECTRIK;
nb_pattes = g;
nb_ailes = a;
intensite = i;
}
public int getPattes() {
return nb_pattes;
}
public int getAiles() {
return nb_ailes;
}
public double getIntensite() {
return intensite;
}
public void changePv(int modif) {
this.setPv(Math.max(0, this.getPv() - modif));
}
@Override
public double calculerVitesse() {
return (nb_ailes + nb_pattes) * intensite * 0.05;
}
public String toString() {
return "Statistiques du Pokemon \"" + this.getNom() + "\" de type " + type.getDescription() + " : (" + this.getPoids() + " kg, "
+ this.getTaille() + " m, " + this.getPv() + " pts de vie, " + this.getPc() + " force de combat, " + nb_pattes + " pattes, " + nb_ailes + " ailes, "
+ intensite + " mA)";
}
@Override
public double attack(Pokemon p2) {
if(p2.type == Type.FEU) {
p2.setPv(p2.getPv()-this.getPc());
}
else if(p2.type == Type.EAU) {
p2.setPv((p2.getPv()-this.getPc()*2));
}
else {
p2.setPv((p2.getPv()-this.getPc()/2));
}
return 0;
}
}

49
TD5/src/pokemon/PokemonFEU.java Executable file
View File

@ -0,0 +1,49 @@
package pokemon;
public class PokemonFEU extends Pokemon {
private int nb_pattes;
public PokemonFEU(String n, double t, double p, int pv, int pc, int g) {
super.setNom(n);
super.setTaille(t);
super.setPoids(p);
super.setPv(pv);
super.setPc(pc);
this.type = Type.FEU;
nb_pattes = g;
}
public int getPattes() {
return nb_pattes;
}
public void changePv(int modif) {
this.setPv(Math.max(0, this.getPv() - modif));
}
@Override
public double calculerVitesse() {
return this.getPoids() * nb_pattes * 0.03;
}
public String toString() {
return "Statistiques du Pokemon \"" + this.getNom() + "\" de type " + type.getDescription() + " : (" + this.getPoids() + " kg, "
+ this.getTaille() + " m, " + this.getPv() + " pts de vie, " + this.getPc() + " force de combat, "
+ nb_pattes + " pattes)";
}
@Override
public double attack(Pokemon p2) {
if(p2.type == Type.FEU) {
p2.setPv(p2.getPv()-this.getPc());
}
else if(p2.type == Type.PLANTE) {
p2.setPv((p2.getPv()-this.getPc()*2));
}
else {
p2.setPv((p2.getPv()-this.getPc()/2));
}
return 0;
}
}

View File

@ -0,0 +1,42 @@
package pokemon;
public class PokemonPLANTE extends Pokemon{
public PokemonPLANTE(String n, double t, double p, int pv, int pc) {
super.setNom(n);
super.setTaille(t);
super.setPoids(p);
super.setPv(pv);
super.setPc(pc);
this.type = Type.PLANTE;
}
public void changePv(int modif) {
this.setPv(Math.max(0, this.getPv() - modif));
}
@Override
public double calculerVitesse() {
return 10.0 / (this.getPoids() * this.getTaille());
}
public String toString() {
return "Statistiques du Pokemon \"" + this.getNom() + "\" de type " + type.getDescription() + " : (" + this.getPoids() + " kg, "
+ this.getTaille() + " m, " + this.getPv() + " pts de vie, " + this.getPc() + " force de combat)";
}
@Override
public double attack(Pokemon p2) {
if(p2.type == Type.EAU) {
p2.setPv(p2.getPv()-this.getPc());
}
else if(p2.type == Type.ELECTRIK) {
p2.setPv((p2.getPv()-this.getPc()*2));
}
else {
p2.setPv((p2.getPv()-this.getPc()/2));
}
return 0;
}
}

View File

@ -0,0 +1,56 @@
package pokemon;
public class TestPokemon {
public static void main(String[] args) {
Pokemon tabPKM[] = new Pokemon[8];
//fire
PokemonFEU Infernape = new PokemonFEU("Infernape", 1.2, 55., 356, 45, 4);
PokemonFEU Ninetales = new PokemonFEU("Ninetales", 1.1, 19.9, 350, 26, 4);
//Electric
PokemonELECTRIK Ampharos = new PokemonELECTRIK("Ampharos", 1.4, 61.5, 384, 32, 2, 0, 95);
PokemonELECTRIK RaichuA = new PokemonELECTRIK("Raichu Alolan Form", .7, 21., 324, 37, 2, 0, 105);
//water
PokemonEAU Ludicolo = new PokemonEAU("Ludicolo", 1.5, 55., 364, 45, 2);
PokemonEAU Froakie = new PokemonEAU("Froakie", .3, 7., 286, 20, 2);
//grass
PokemonPLANTE Roselia = new PokemonPLANTE("Roselia", .3, 2., 304, 14);
PokemonPLANTE Torterra = new PokemonPLANTE("Torterra", 2.2, 310., 394, 44);
tabPKM[0] = Infernape;
tabPKM[1] = Ninetales;
tabPKM[2] = Ampharos;
tabPKM[3] = RaichuA;
tabPKM[4] = Ludicolo;
tabPKM[5] = Froakie;
tabPKM[6] = Roselia;
tabPKM[7] = Torterra;
for (int i = 0; i < tabPKM.length; i++) {
System.out.println(tabPKM[i].toString());
}
Infernape.attack(Ludicolo);
Ludicolo.attack(Froakie);
Froakie.attack(Infernape);
Torterra.attack(Roselia);
Roselia.attack(RaichuA);
RaichuA.attack(Ninetales);
Ninetales.attack(Roselia);
Torterra.attack(Roselia);
System.out.println("=========================================================================");
for (int i = 0; i < tabPKM.length; i++) {
System.out.println(tabPKM[i].toString());
}
System.out.println("Hello Pokeworld !");
}
}

19
TD5/src/pokemon/Type.java Executable file
View File

@ -0,0 +1,19 @@
package pokemon;
enum Type {
EAU("EAU"),
ELECTRIK("ELECTRIK"),
FEU("FEU"),
PLANTE("PLANTE");
Type(String s) {
description = s;
}
private String description;
public String getDescription() {
return description;
}
}

18
TD6/.vscode/launch.json vendored Executable file
View File

@ -0,0 +1,18 @@
{
"configurations": [
{
"type": "java",
"name": "CodeLens (Launch) - TestPokemon",
"request": "launch",
"mainClass": "pkmA.TestPokemon",
"projectName": "TD6"
},
{
"type": "java",
"name": "CodeLens (Launch) - GestionVehicule",
"request": "launch",
"mainClass": "vehicule.GestionVehicule",
"projectName": "TD6"
}
]
}

BIN
TD6/TD6.pdf Executable file

Binary file not shown.

5
TD6/src/pkmA/Attaque.java Executable file
View File

@ -0,0 +1,5 @@
package pkmA;
public interface Attaque {
public void attaquer(Object adv);
}

58
TD6/src/pkmA/Pokemon.java Executable file
View File

@ -0,0 +1,58 @@
package pkmA;
public abstract class Pokemon{
private String nom;
private double taille;
private double poids;
private int pv;
private int pc;
Type type;
public Pokemon() {
}
public Pokemon(String nom, double taille, double poids, int pv, int pc, Type type) {
if (type != Type.ELECTRIK && type != Type.EAU && type != Type.FEU && type != Type.PLANTE)
throw new RuntimeException("Ce type : "+type.getDescription()+" n'existe pas");
try {
this.nom = nom;
this.taille = taille;
this.poids = poids;
this.pv = pv;
this.pc = pc;
this.type = type;
} catch (Exception e) {
e.getMessage();
}
}
public String getNom() {
return nom;
}
public double getTaille() {
return taille;
}
public double getPoids() {
return poids;
}
public int getPv() {
return pv;
}
public int getPc() {
return pc;
}
public Type getType() {
return type;
}
public abstract void changePv(int modif);
public abstract void attaquer(Pokemon adv);
}

76
TD6/src/pkmA/PokemonEAU.java Executable file
View File

@ -0,0 +1,76 @@
package pkmA;
public class PokemonEAU extends Pokemon{
private String nom;
private double taille; // en m
private double poids; // en kg
private int pv;
private int pc;
Type type;
private int nb_nageoires;
public PokemonEAU() {
type = Type.EAU;
}
public PokemonEAU(String n, double t, double p, int v, int c, int g) {
super(n, t, p, v, c, Type.EAU);
this.nom = n;
this.type = Type.EAU;
nb_nageoires = g;
}
public String getNom() {
return nom;
}
public double getTaille() {
return taille;
}
public double getPoids() {
return poids;
}
public int getPv() {
return pv;
}
public int getPc() {
return pc;
}
public Type getType() {
return type;
}
public int getNb_nageoires() {
return nb_nageoires;
}
public void changePv(int modif) {
pv = Math.max(0, pv-modif);
}
public double calculerVitesse() {
return (this.poids*nb_nageoires)/25.0;
}
public void attaquer(Pokemon adv) {
if (adv.getType() == Type.EAU || adv.getType() == Type.PLANTE) {
adv.changePv(Math.round(super.getPc()/2));
System.out.println(""+this.getNom()+" inflige "+""+Math.round(super.getPc()/2)+" a "+adv.getNom());
} else if (adv.getType() == Type.ELECTRIK) {
adv.changePv(super.getPc());
System.out.println(""+this.getNom()+" inflige "+""+super.getPc()+" a "+adv.getNom());
} else {
adv.changePv(2*super.getPc());
System.out.println(""+this.getNom()+" inflige "+""+2*pc+" a "+adv.getNom());
}
}
public String toString() {
return "Pokemon "+super.getNom()+" de type "+type.getDescription()+" ("+super.getPoids()+" kg, "+super.getTaille()+" m, "+super.getPv()+" pts de vie, "+super.getPc()+" force de combat), "+nb_nageoires+" nageoires)";
}
}

View File

@ -0,0 +1,87 @@
package pkmA;
public class PokemonELECTRIK extends Pokemon{
private String nom;
private double taille; // en m
private double poids; // en kg
private int pv;
private int pc;
Type type;
private int nb_pattes;
private int nb_ailes;
private double intensite;
public PokemonELECTRIK() {
type = Type.ELECTRIK;
}
public PokemonELECTRIK(String n, double t, double p, int v, int c, int g, int a, double i) {
super(n, t, p, v, c, Type.ELECTRIK);
this.nom = n;
this.type = Type.ELECTRIK;
nb_pattes = g;
nb_ailes = a;
intensite = i;
}
public String getNom() {
return nom;
}
public double getTaille() {
return taille;
}
public double getPoids() {
return poids;
}
public int getPv() {
return pv;
}
public int getPc() {
return pc;
}
public Type getType() {
return type;
}
public int getPattes() {
return nb_pattes;
}
public int getAiles() {
return nb_ailes;
}
public double getIntensite() {
return intensite;
}
public void changePv(int modif) {
pv = Math.max(0, pv-modif);
}
public double calculerVitesse() {
return (nb_ailes+nb_pattes) * intensite * 0.05;
}
public void attaquer(Pokemon adv) {
if (adv.getType() == Type.ELECTRIK || adv.getType() == Type.PLANTE) {
adv.changePv(Math.round(super.getPc()/2));
System.out.println(""+this.getNom()+" inflige "+""+Math.round(super.getPc()/2)+" a "+adv.getNom());
} else if (adv.getType() == Type.FEU) {
adv.changePv(super.getPc());
System.out.println(""+this.getNom()+" inflige "+""+super.getPc()+" a "+adv.getNom());
} else {
adv.changePv(2*super.getPc());
System.out.println(""+this.getNom()+" inflige "+""+super.getPc()+" a "+adv.getNom());
}
}
public String toString() {
return "Pokemon "+super.getNom()+" de type "+type.getDescription()+" ("+super.getPoids()+" kg, "+super.getTaille()+" m, "+super.getPv()+" pts de vie, "+super.getPc()+" force de combat), "+nb_pattes+" pattes, "+nb_ailes+" ailes, "+intensite+" mA)";
}
}

76
TD6/src/pkmA/PokemonFEU.java Executable file
View File

@ -0,0 +1,76 @@
package pkmA;
public class PokemonFEU extends Pokemon{
private String nom;
private double taille; // en m
private double poids; // en kg
private int pv;
private int pc;
Type type;
private int nb_pattes;
public PokemonFEU() {
type = Type.FEU;
}
public PokemonFEU(String n, double t, double p, int v, int c, int g) {
super(n, t, p, v, c, Type.FEU);
this.nom = n;
this.type = Type.FEU;
nb_pattes = g;
}
public String getNom() {
return nom;
}
public double getTaille() {
return taille;
}
public double getPoids() {
return poids;
}
public int getPv() {
return pv;
}
public int getPc() {
return pc;
}
public Type getType() {
return type;
}
public int getPattes() {
return nb_pattes;
}
public void changePv(int modif) {
pv = Math.max(0, pv-modif);
}
public double calculerVitesse() {
return this.getPoids()*nb_pattes* 0.03;
}
public void attaquer(Pokemon adv) {
if (adv.getType() == Type.EAU || adv.getType() == Type.ELECTRIK) {
adv.changePv(Math.round(super.getPc()/2));
System.out.println(""+this.getNom()+" inflige "+""+Math.round(super.getPc()/2)+" a "+adv.getNom());
} else if (adv.getType() == Type.FEU) {
adv.changePv(super.getPc());
System.out.println(""+this.getNom()+" inflige "+""+super.getPc()+" a "+adv.getNom());
} else {
adv.changePv(2*super.getPc());
System.out.println(""+this.getNom()+" inflige "+""+2*super.getPc()+" a "+adv.getNom());
}
}
public String toString() {
return "Pokemon "+super.getNom()+" de type "+type.getDescription()+" ("+super.getPoids()+" kg, "+super.getTaille()+" m, "+super.getPv()+" pts de vie, "+super.getPc()+" force de combat), "+nb_pattes+" pattes)";
}
}

70
TD6/src/pkmA/PokemonPLANTE.java Executable file
View File

@ -0,0 +1,70 @@
package pkmA;
public class PokemonPLANTE extends Pokemon{
private String nom;
private double taille; // en m
private double poids; // en kg
private int pv;
private int pc;
Type type;
public PokemonPLANTE() {
type = Type.PLANTE;
}
public PokemonPLANTE(String n, double t, double p, int v, int c) {
super(n, t, p, v, c, Type.PLANTE);
this.nom = n;
this.type = Type.PLANTE;
}
public String getNom() {
return nom;
}
public double getTaille() {
return taille;
}
public double getPoids() {
return poids;
}
public int getPv() {
return pv;
}
public int getPc() {
return pc;
}
public Type getType() {
return type;
}
public void changePv(int modif) {
pv = Math.max(0, pv-modif);
}
public double calculerVitesse() {
return 10.0 / (this.getPoids()*this.getTaille());
}
public void attaquer(Pokemon adv) {
if (adv.getType() == Type.FEU || adv.getType() == Type.PLANTE) {
adv.changePv(Math.round(super.getPc()/2));
System.out.println(""+this.getNom()+" inflige "+""+Math.round(super.getPc()/2)+" a "+adv.getNom());
} else if (adv.getType() == Type.EAU) {
adv.changePv(super.getPc());
System.out.println(""+this.getNom()+" inflige "+""+super.getPc()+" a "+adv.getNom());
} else {
adv.changePv(2*super.getPc());
System.out.println(""+this.getNom()+" inflige "+""+2*super.getPc()+" a "+adv.getNom());
}
}
public String toString() {
return "Pokemon "+super.getNom()+" de type "+type.getDescription()+" ("+super.getPoids()+" kg, "+super.getTaille()+" m, "+super.getPv()+" pts de vie, "+super.getPc()+" force de combat),";
}
}

23
TD6/src/pkmA/TestPokemon.java Executable file
View File

@ -0,0 +1,23 @@
package pkmA;
public class TestPokemon {
public static void main(String[] args) {
Pokemon pikachu = new PokemonELECTRIK("Pikachu", 0.9, 5.3, 90, 50, 4, 0, 12);
Pokemon aquali = new PokemonEAU("Aquali", 2.1, 56.3, 140, 90, 3);
pikachu.attaquer(aquali);
assert aquali.getPv() == 40;
PokemonELECTRIK voltali = new PokemonELECTRIK("Voltali", 1.8, 47.3, 120, 130, 4, 0, 12);
PokemonPLANTE phylali = new PokemonPLANTE("Phylali", 1.6, 28.5, 130, 70);
Pokemon phyl = phylali;
phylali.attaquer(voltali);
aquali.attaquer(phyl);
System.out.println(voltali.toString());
}
}

11
TD6/src/pkmA/Type.java Executable file
View File

@ -0,0 +1,11 @@
package pkmA;
enum Type {
EAU ("EAU"),
ELECTRIK ("ELECTRIK"),
FEU ("FEU"),
PLANTE ("PLANTE");
Type(String s){description = s;}
private String description;
public String getDescription() {return description;}
}

87
TD6/src/pokemon/Pokemon.java Executable file
View File

@ -0,0 +1,87 @@
package pokemon;
public abstract class Pokemon {
private String nom;
private double taille; // en m
private double poids; // en kg
private int pv;
private int pc;
Type type;
//getters
public String getNom() {
return nom;
}
public double getTaille() {
return taille;
}
public double getPoids() {
return poids;
}
public int getPv() {
return pv;
}
public int getPc() {
return pc;
}
public Type getType() {
return type;
}
//setters
public void setNom(String nom) {
this.nom = nom;
}
public void setTaille(double taille) {
this.taille = taille;
}
public void setPoids(double poids) {
this.poids = poids;
}
public void setPv(int pv) {
this.pv = pv;
}
public void setPc(int pc) {
this.pc = pc;
}
public void setType(Type type) {
this.type = type;
}
public Pokemon() {
nom = null;
taille = 0.;
poids = 0.;
pv = 0;
pc = 0;
}
public Pokemon(String n, double t, double p, int pv, int pc) {
this.nom = n;
this.taille = t;
this.poids = p;
this.pv = pv;
this.pc = pc;
this.type = null;
}
public double calculerVitesse() {
return 0.;
}
public double attack(Pokemon p2) {
return 0;
}
}

49
TD6/src/pokemon/PokemonEAU.java Executable file
View File

@ -0,0 +1,49 @@
package pokemon;
public class PokemonEAU extends Pokemon{
private int nb_nageoires;
public PokemonEAU(String n, double t, double p, int pv, int pc, int g) {
super.setNom(n);
super.setTaille(t);
super.setPoids(p);
super.setPv(pv);
super.setPc(pc);
this.type = Type.EAU;
nb_nageoires = g;
}
public int getNb_nageoires() {
return nb_nageoires;
}
public void changePv(int modif) {
this.setPv(Math.max(0, this.getPv() - modif));
}
@Override
public double calculerVitesse() {
return (this.getPoids() * nb_nageoires) / 25.0;
}
public String toString() {
return "Statistiques du Pokemon \"" + this.getNom() + "\" de type " + type.getDescription() + " : (" + this.getPoids() + " kg, "
+ this.getTaille() + " m, " + this.getPv() + " pts de vie, " + this.getPc() + " force de combat, " + nb_nageoires + " nageoires)";
}
@Override
public double attack(Pokemon p2) {
if(p2.type == Type.ELECTRIK) {
p2.setPv(p2.getPv()-this.getPc());
}
else if(p2.type == Type.FEU) {
p2.setPv((p2.getPv()-this.getPc()*2));
}
else {
p2.setPv((p2.getPv()-this.getPc()/2));
}
return 0;
}
}

View File

@ -0,0 +1,58 @@
package pokemon;
public class PokemonELECTRIK extends Pokemon {
private int nb_pattes;
private int nb_ailes;
private double intensite;
public PokemonELECTRIK(String n, double t, double p, int pv, int pc, int g, int a, double i) {
super.setNom(n);
super.setTaille(t);
super.setPoids(p);
super.setPv(pv);
super.setPc(pc);
this.type = Type.ELECTRIK;
nb_pattes = g;
nb_ailes = a;
intensite = i;
}
public int getPattes() {
return nb_pattes;
}
public int getAiles() {
return nb_ailes;
}
public double getIntensite() {
return intensite;
}
public void changePv(int modif) {
this.setPv(Math.max(0, this.getPv() - modif));
}
@Override
public double calculerVitesse() {
return (nb_ailes + nb_pattes) * intensite * 0.05;
}
public String toString() {
return "Statistiques du Pokemon \"" + this.getNom() + "\" de type " + type.getDescription() + " : ("
+ this.getPoids() + " kg, " + this.getTaille() + " m, " + this.getPv() + " pts de vie, " + this.getPc()
+ " force de combat, " + nb_pattes + " pattes, " + nb_ailes + " ailes, " + intensite + " mA)";
}
@Override
public double attack(Pokemon p2) {
if (p2.type == Type.FEU) {
p2.setPv(p2.getPv() - this.getPc());
} else if (p2.type == Type.EAU) {
p2.setPv((p2.getPv() - this.getPc() * 2));
} else {
p2.setPv((p2.getPv() - this.getPc() / 2));
}
return 0;
}
}

49
TD6/src/pokemon/PokemonFEU.java Executable file
View File

@ -0,0 +1,49 @@
package pokemon;
public class PokemonFEU extends Pokemon {
private int nb_pattes;
public PokemonFEU(String n, double t, double p, int pv, int pc, int g) {
super.setNom(n);
super.setTaille(t);
super.setPoids(p);
super.setPv(pv);
super.setPc(pc);
this.type = Type.FEU;
nb_pattes = g;
}
public int getPattes() {
return nb_pattes;
}
public void changePv(int modif) {
this.setPv(Math.max(0, this.getPv() - modif));
}
@Override
public double calculerVitesse() {
return this.getPoids() * nb_pattes * 0.03;
}
public String toString() {
return "Statistiques du Pokemon \"" + this.getNom() + "\" de type " + type.getDescription() + " : (" + this.getPoids() + " kg, "
+ this.getTaille() + " m, " + this.getPv() + " pts de vie, " + this.getPc() + " force de combat, "
+ nb_pattes + " pattes)";
}
@Override
public double attack(Pokemon p2) {
if(p2.type == Type.FEU) {
p2.setPv(p2.getPv()-this.getPc());
}
else if(p2.type == Type.PLANTE) {
p2.setPv((p2.getPv()-this.getPc()*2));
}
else {
p2.setPv((p2.getPv()-this.getPc()/2));
}
return 0;
}
}

View File

@ -0,0 +1,42 @@
package pokemon;
public class PokemonPLANTE extends Pokemon{
public PokemonPLANTE(String n, double t, double p, int pv, int pc) {
super.setNom(n);
super.setTaille(t);
super.setPoids(p);
super.setPv(pv);
super.setPc(pc);
this.type = Type.PLANTE;
}
public void changePv(int modif) {
this.setPv(Math.max(0, this.getPv() - modif));
}
@Override
public double calculerVitesse() {
return 10.0 / (this.getPoids() * this.getTaille());
}
public String toString() {
return "Statistiques du Pokemon \"" + this.getNom() + "\" de type " + type.getDescription() + " : (" + this.getPoids() + " kg, "
+ this.getTaille() + " m, " + this.getPv() + " pts de vie, " + this.getPc() + " force de combat)";
}
@Override
public double attack(Pokemon p2) {
if(p2.type == Type.EAU) {
p2.setPv(p2.getPv()-this.getPc());
}
else if(p2.type == Type.ELECTRIK) {
p2.setPv((p2.getPv()-this.getPc()*2));
}
else {
p2.setPv((p2.getPv()-this.getPc()/2));
}
return 0;
}
}

View File

@ -0,0 +1,56 @@
package pokemon;
public class TestPokemon {
public static void main(String[] args) {
Pokemon tabPKM[] = new Pokemon[8];
//fire
PokemonFEU Infernape = new PokemonFEU("Infernape", 1.2, 55., 356, 45, 4);
PokemonFEU Ninetales = new PokemonFEU("Ninetales", 1.1, 19.9, 350, 26, 4);
//Electric
PokemonELECTRIK Ampharos = new PokemonELECTRIK("Ampharos", 1.4, 61.5, 384, 32, 2, 0, 95);
PokemonELECTRIK RaichuA = new PokemonELECTRIK("Raichu Alolan Form", .7, 21., 324, 37, 2, 0, 105);
//water
PokemonEAU Ludicolo = new PokemonEAU("Ludicolo", 1.5, 55., 364, 45, 2);
PokemonEAU Froakie = new PokemonEAU("Froakie", .3, 7., 286, 20, 2);
//grass
PokemonPLANTE Roselia = new PokemonPLANTE("Roselia", .3, 2., 304, 14);
PokemonPLANTE Torterra = new PokemonPLANTE("Torterra", 2.2, 310., 394, 44);
tabPKM[0] = Infernape;
tabPKM[1] = Ninetales;
tabPKM[2] = Ampharos;
tabPKM[3] = RaichuA;
tabPKM[4] = Ludicolo;
tabPKM[5] = Froakie;
tabPKM[6] = Roselia;
tabPKM[7] = Torterra;
for (int i = 0; i < tabPKM.length; i++) {
System.out.println(tabPKM[i].toString());
}
Infernape.attack(Ludicolo);
Ludicolo.attack(Froakie);
Froakie.attack(Infernape);
Torterra.attack(Roselia);
Roselia.attack(RaichuA);
RaichuA.attack(Ninetales);
Ninetales.attack(Roselia);
Torterra.attack(Roselia);
System.out.println("=========================================================================");
for (int i = 0; i < tabPKM.length; i++) {
System.out.println(tabPKM[i].toString());
}
System.out.println("Hello Pokeworld !");
}
}

19
TD6/src/pokemon/Type.java Executable file
View File

@ -0,0 +1,19 @@
package pokemon;
enum Type {
EAU("EAU"),
ELECTRIK("ELECTRIK"),
FEU("FEU"),
PLANTE("PLANTE");
Type(String s) {
description = s;
}
private String description;
public String getDescription() {
return description;
}
}

37
TD6/src/vehicule/Avion.java Executable file
View File

@ -0,0 +1,37 @@
package vehicule;
public class Avion extends Vehicule {
protected String moteur;
protected int heuresVol;
public Avion() {
moteur = "Moteur";
heuresVol = 0;
}
public Avion(String marque, int date, double prixac, String moteur, int heures) {
this.moteur = moteur;
heuresVol = heures;
this.marque = marque;
dateAchat = date;
prixAchat = prixac;
prixCourant = 0;
}
public void calculePrix(int annee) {
double pourcentage;
if (moteur == "hélice") {
pourcentage = 10*Math.floor(this.heuresVol/100);
} else {
pourcentage = 10* Math.floor(this.heuresVol/1000);
}
super.prixCourant = super.prixAchat - ((super.prixAchat/100) * pourcentage);
if (super.prixCourant < 0) {
super.prixCourant = 0;
}
}
public void affiche() {
System.out.println(""+this.marque+" "+this.dateAchat+" "+this.prixAchat+" "+prixCourant+" "+this.moteur+" "+this.heuresVol);
}
}

View File

@ -0,0 +1,29 @@
package vehicule;
import java.util.Calendar;
public class GestionVehicule {
private static int ANNEE_ACTUELLE = Calendar.getInstance().get(Calendar.YEAR);
public static void main(String[] args) {
Voiture[] garage = new Voiture[3];
Avion[] hangar = new Avion[2];
garage[0] = new Voiture("Peugeot", 2005, 13400.00, 1.4, 5, 4.0, 12000);
garage[1] = new Voiture("Porsche", 2010, 160000.00, 3.6, 2, 25.0, 8320);
garage[2] = new Voiture("Fiat", 1999, 8400.00, 1.2, 3, 5.0, 125000);
hangar[0] = new Avion("Cessna", 1979, 204739.90, "HELICES", 250);
hangar[1] = new Avion("Gulfstream", 1993, 4321098.00, "REACTION", 1300);
for (int i = 0; i < garage.length; i++) {
garage[i].calculePrix(ANNEE_ACTUELLE);
garage[i].affiche();
}
for (int i = 0; i < hangar.length; i++) {
hangar[i].calculePrix(ANNEE_ACTUELLE);
hangar[i].affiche();
}
}
}

32
TD6/src/vehicule/Vehicule.java Executable file
View File

@ -0,0 +1,32 @@
package vehicule;
public abstract class Vehicule {
protected String marque;
protected int dateAchat;
protected double prixAchat;
protected double prixCourant;
public Vehicule() {
marque = "";
dateAchat = 0;
prixAchat = 0;
prixCourant = 0;
}
public Vehicule(String s, int d, double pA) {
this.marque = s;
dateAchat = d;
prixAchat = pA;
prixCourant = 0;
}
public void calculPrix(int y) {
int previousY = this.dateAchat - y;
this.prixCourant = this.prixAchat - ((this.prixAchat/100) * previousY);
}
public void affiche() {
System.out.println(""+this.marque+" "+this.dateAchat+" "+this.prixAchat+" "+prixCourant);
}
}

58
TD6/src/vehicule/Voiture.java Executable file
View File

@ -0,0 +1,58 @@
package vehicule;
public class Voiture extends Vehicule {
protected double cylindree;
protected int nbPorte;
protected double puissance;
protected double kilometrage;
public Voiture() {
cylindree = 0;
nbPorte = 0;
puissance = 0;
kilometrage = 0;
}
public Voiture(String marque, int date, double prixac, double cyl, int nbP, double pui, double kilo) {
cylindree = cyl;
nbPorte = nbP;
puissance = pui;
kilometrage = kilo;
this.marque = marque;
dateAchat = date;
prixAchat = prixac;
prixCourant = 0;
}
public void calculePrix(int annee) {
int anneesPass = (annee - this.dateAchat)*2;
double pourcentagekm = Math.floor(this.kilometrage/10000);
boolean malus = false;
boolean bonus = false;
if (this.marque == "fiat" || this.marque == "renaud") {
malus = true;
} else if (this.marque == "ferrari" || this.marque == "mclaren") {
bonus = true;
}
this.prixCourant = this.prixAchat - ((this.prixAchat/100) * anneesPass);
this.prixCourant -= ((this.prixAchat/100)*(pourcentagekm*5));
if (malus)
this.prixCourant -= (this.prixAchat/100)*10;
if (bonus)
this.prixCourant += (this.prixAchat/100)*20;
if (this.prixCourant < 0) {
this.prixCourant = 0;
} else if (this.prixCourant > this.prixAchat) {
this.prixCourant = this.prixAchat;
}
}
public void affiche() {
System.out.println("Marque : "+this.marque+" Date: "+this.dateAchat+" Prix d'achat "+this.prixAchat+" Prix Courant :"+this.prixCourant+" Cylindree "+this.cylindree+" Nb Portes "+this.nbPorte+" Puissance "+this.puissance+" Kilometrage "+this.kilometrage);
}
}

34
TD6/src/vehiculev2/Camion.java Executable file
View File

@ -0,0 +1,34 @@
package vehiculev2;
public class Camion extends VehiculeAMoteur {
private double Volume;
/*==========================================================Getter & Setters====================================================================*/
/**
* @return the nombrePlace
*/
public double getVolume() {
return Volume;
}
/**
* @param nombrePlace the nombrePlace to set
*/
public void setVolume(int Volume) {
this.Volume = Volume;
}
/*==========================================================Getter & Setters====================================================================*/
public Camion(double v, double c) {
super(c);
this.Volume = v;
}
public String toString() {
return super.toString() + " et un réservoir de" + this.Volume + "m^3.";
}
}

View File

@ -0,0 +1,18 @@
package vehiculev2;
import java.util.Calendar;
public class GestionVehicule {
public static void main (String [] args) {
Vehicule v1 = new Velo (17); // nb vitesses
Vehicule v2 = new Voiture (40.5, 5); // capacité réservoir, nb Places
Vehicule v3 = new Camion (100.0, 100.0); // capacité réservoir, volume
System.out.println ("Vehicules : "+"\n" +v1 +"\n" +v2 +"\n" +v3 +"\n");
/*
* v2.approvisionner (35.0) ; // litres dessence v3.approvisionner (70.0);
* v1.transporter ("Dijon ", "Valence ") ; v2.transporter (5, 300) ;
* v3.transporter (" des tuiles", 1000) ; }
*/
}
}

View File

@ -0,0 +1,72 @@
package vehiculev2;
public abstract class Vehicule {
private static int compteur = 0;
private int id;
private double distance;
/*==========================================================Getter & Setters====================================================================*/
/**
* @return the compteur
*/
public static int getCompteur() {
return compteur;
}
/**
* @return the distance
*/
public double getDistance() {
return distance;
}
/**
* @param distance the distance to set
*/
public void setDistance(int distance) {
this.distance = distance;
}
/**
* @return the id
*/
public int getId() {
return id;
}
/**
* @param id the id to set
*/
public void setId(int id) {
this.id = id;
}
/**
* @param compteur the compteur to set
*/
public static void setCompteur(int compteur) {
Vehicule.compteur = compteur;
}
/*==============================================================================================================================================*/
public Vehicule() {
this.id = compteur;
compteur++;
distance = 0.;
}
@Override
public String toString() {
return "Le véhicule Numéro " + id + " a parcourru " + distance;
}
void rouler(double d) {
this.distance = d;
}
}

View File

@ -0,0 +1,74 @@
package vehiculev2;
public abstract class VehiculeAMoteur extends Vehicule {
private double capacite;
private double niveau;
/*==========================================================Getter & Setters====================================================================*/
/**
* @return the capacite
*/
public double getCapacite() {
return capacite;
}
/**
* @return the niveau
*/
public double getNiveau() {
return niveau;
}
/**
* @param niveau the niveau to set
*/
public void setNiveau(int niveau) {
this.niveau = niveau;
}
/**
* @param capacite the capacite to set
*/
public void setCapacite(int capacite) {
this.capacite = capacite;
}
/*==========================================================Getter & Setters====================================================================*/
public VehiculeAMoteur() {
this.capacite = 0.;
}
public VehiculeAMoteur(double c) {
super();
this.capacite = c;
this.niveau = 0.;
}
public String toString() {
return super.toString() + ", possède un moteur de " + this.capacite + " L";
}
public boolean enPanne() {
if(this.niveau <= 0. )
{
return true;
}
else
{
return false;
}
}
public void approvisionner(double nbL) {
if (nbL >= this.capacite) {
nbL = this.capacite;
}
this.niveau = nbL;
}
}

View File

@ -0,0 +1,20 @@
package vehiculev2;
public abstract class VehiculeSansMoteur extends Vehicule {
public VehiculeSansMoteur() {
super();
}
public String toString() {
return super.toString();
}
}

39
TD6/src/vehiculev2/Velo.java Executable file
View File

@ -0,0 +1,39 @@
package vehiculev2;
public class Velo extends VehiculeSansMoteur{
private int nombreVitesse;
/*==========================================================Getter & Setters====================================================================*/
/**
* @return the nombreVitesse
*/
public int getNombreVitesse() {
return nombreVitesse;
}
/**
* @param nombreVitesse the nombreVitesse to set
*/
public void setNombreVitesse(int nombreVitesse) {
this.nombreVitesse = nombreVitesse;
}
/*==========================================================Getter & Setters====================================================================*/
public Velo(int nb) {
super();
this.nombreVitesse = nb;
}
public String toString() {
return super.toString() + " et possède " + this.nombreVitesse + " vitesses sur son vélo.";
}
String transporter (String depart, String arrivee) {
return "Le vélo n°" + (super.getId()) + "a roulé de " + depart + " à " + arrivee;
}
}

32
TD6/src/vehiculev2/Voiture.java Executable file
View File

@ -0,0 +1,32 @@
package vehiculev2;
public class Voiture extends VehiculeAMoteur {
private int nombrePlace;
/*==========================================================Getter & Setters====================================================================*/
/**
* @return the nombrePlace
*/
public int getNombrePlace() {
return nombrePlace;
}
/**
* @param nombrePlace the nombrePlace to set
*/
public void setNombrePlace(int nombrePlace) {
this.nombrePlace = nombrePlace;
}
/*==========================================================Getter & Setters====================================================================*/
public Voiture(double c, int nb) {
super(c);
this.nombrePlace = nb;
}
public String toString() {
return super.toString() + " et " + this.nombrePlace + "places dans la voiture.";
}
}

BIN
TD7/7_POO_test_unitaires.pdf Executable file

Binary file not shown.

BIN
TD7/TD7.pdf Executable file

Binary file not shown.

65
TD7/src/ip/IP.java Executable file
View File

@ -0,0 +1,65 @@
package ip;
public class IP {
private String ip;
public IP(String s) {
if (ipValide(s))
ip = s;
}
public String getIP() {
return ip;
}
public IP getPasserelle(IP masque) {
String ipPass = "";
switch (masque.ip) {
case "255.0.0.0" :
ipPass = this.ip.substring(0, this.ip.indexOf(".")+1)+"255.255.255";
break;
case "255.255.0.0" :
ipPass = this.ip.substring(0, this.ip.indexOf(".")+1);
String temp = ip.substring(ip.indexOf(".")+1);
ipPass += temp.substring(0, temp.indexOf(".")+1)+"255.255";
break;
case "255.255.255.0" :
ipPass = this.ip.substring(0, ip.lastIndexOf(".")+1)+"255";
break;
}
return new IP(ipPass);
}
public String toString() {
return ip;
}
public static boolean ipValide(String ip) {
if (ip.substring(0, 1).equals(".") || ip.substring(ip.length()-1).equals(".")) {
System.out.println("Bad first or last character");
return false;
}
String[] ipSep = ip.split("\\.");
if (ipSep.length != 4) {
System.out.println("Bad ip length "+ipSep.length);
return false;
}
for (String s : ipSep) {
if (s.length() == 0) {
System.out.println("Empty ip field");
return false;
}
int num = Integer.parseInt(s);
if ((num<0) || (num>255)) {
System.out.println("Bad ip field");
return false;
}
}
return true;
}
}

47
TD7/src/ip/MainIp.java Executable file
View File

@ -0,0 +1,47 @@
package ip;
public class MainIp {
public static void main(String[] args) {
// TODO Auto-generated method stub
String[] tabIp = new String[10];
boolean[] tabRetatt = new boolean[tabIp.length];
boolean[] tabRetour = new boolean[tabIp.length];
tabIp[0] = "";
tabIp[1] = "127.0.0.1";
tabIp[2] = "127.231.1.1";
tabIp[3] = "1.2.3.4";
tabIp[4] = "12.2.3";
tabIp[5] = "12.3.213.123.123";
tabIp[6] = "1231.12.2.3";
tabIp[7] = ".1.2.3";
tabIp[8] = "1.2.3.";
tabIp[9] = "1.2..3";
tabRetatt[0] = false;
tabRetatt[1] = true;
tabRetatt[2] = true;
tabRetatt[3] = true;
tabRetatt[4] = false;
tabRetatt[5] = false;
tabRetatt[6] = false;
tabRetatt[7] = false;
tabRetatt[8] = false;
tabRetatt[9] = false;
for (int i = 0; i < tabRetatt.length; i++) {
tabRetour[i] = IP.ipValide(tabIp[i]);
}
System.out.println("attendu - retourne :");
for (int i = 0; i < tabRetatt.length; i++) {
System.out.println(tabRetatt[i] + " - " + tabRetour[0]);
}
}
}

66
TD7/src/monney/Monnaie.java Executable file
View File

@ -0,0 +1,66 @@
package monney;
public class Monnaie {
private int amount;
private String currency;
/**
* @return the currency
*/
public String getCurrency() {
return currency;
}
/**
* @param currency the currency to set
*/
public void setCurrency(String currency) {
this.currency = currency;
}
/**
* @return the amount
*/
public int getAmount() {
return amount;
}
/**
* @param amount the amount to set
*/
public void setAmount(int amount) {
this.amount = amount;
}
public Monnaie (int a, String s) {
this.amount = a;
this.currency = s;
}
public void add(Monnaie m) {
if(this.currency.equals(m.currency) == true)
{
this.amount += m.amount;
}
}
@Override
public boolean equals(Object o) {
Monnaie m = (Monnaie)o;
if ( this == null || m == null) {
return false;
}
if (this.currency == m.currency && this.amount==m.amount) {
return true;
} else {
return false;
}
}
}

Some files were not shown because too many files have changed in this diff Show More