"depot M213"
This commit is contained in:
parent
1408744dbb
commit
e5983242c6
BIN
TD1/TD1.pdf
Executable file
BIN
TD1/TD1.pdf
Executable file
Binary file not shown.
7
TD1/src/HelloWorld.java
Executable file
7
TD1/src/HelloWorld.java
Executable 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
100
TD1/src/point/Point.java
Executable 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
14
TD1/src/point/PointTest.java
Executable 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
76
TD1/src/point/TestPoint.java
Executable 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
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
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
106
TD10/-ListePokemon.txt
Executable 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
32
TD10/.vscode/launch.json
vendored
Executable 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"
|
||||
}
|
||||
]
|
||||
}
|
0
TD10/France_Code_Postal_2009.txt
Executable file
0
TD10/France_Code_Postal_2009.txt
Executable file
38230
TD10/France_Code_Postal_2009ESP.txt
Executable 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
0
TD10/France_Communes_2009.txt
Executable file
38891
TD10/France_Communes_2009ESP.txt
Executable 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
BIN
TD10/TD10.pdf
Executable file
Binary file not shown.
34
TD10/src/input/LectureFichierAffichage.java
Executable file
34
TD10/src/input/LectureFichierAffichage.java
Executable 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");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
49
TD10/src/input/LectureFichierEcriture.java
Executable file
49
TD10/src/input/LectureFichierEcriture.java
Executable 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");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
55
TD10/src/input/LectureFichierEcritureESP.java
Executable file
55
TD10/src/input/LectureFichierEcritureESP.java
Executable 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
121
TD10/src/pokemon/Joueur.java
Executable 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
83
TD10/src/pokemon/Partie.java
Executable 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
106
TD10/src/pokemon/Pokemon.java
Executable 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;
|
||||
}
|
||||
|
||||
}
|
48
TD10/src/pokemon/PokemonEAU.java
Executable file
48
TD10/src/pokemon/PokemonEAU.java
Executable 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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
56
TD10/src/pokemon/PokemonELECTRIK.java
Executable file
56
TD10/src/pokemon/PokemonELECTRIK.java
Executable 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;
|
||||
}
|
||||
}
|
47
TD10/src/pokemon/PokemonFEU.java
Executable file
47
TD10/src/pokemon/PokemonFEU.java
Executable 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;
|
||||
}
|
||||
|
||||
}
|
41
TD10/src/pokemon/PokemonPLANTE.java
Executable file
41
TD10/src/pokemon/PokemonPLANTE.java
Executable 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
106
TD10/src/pokemon/TestPokemon.java
Executable 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
19
TD10/src/pokemon/Type.java
Executable 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
BIN
TD2/TD2.pdf
Executable file
Binary file not shown.
71
TD2/src/ensembleEntierBorne/EnsembleEntierBorne.java
Executable file
71
TD2/src/ensembleEntierBorne/EnsembleEntierBorne.java
Executable 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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
46
TD2/src/ensembleEntierBorne/TestEnsembleEntierBorne.java
Executable file
46
TD2/src/ensembleEntierBorne/TestEnsembleEntierBorne.java
Executable 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
93
TD2/src/test/TestTriplet.java
Executable 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 !");
|
||||
}
|
||||
|
||||
}
|
41
TD2/src/tripletEntier/TestTripletEntier.java
Executable file
41
TD2/src/tripletEntier/TestTripletEntier.java
Executable 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);*/
|
||||
}
|
||||
}
|
87
TD2/src/tripletEntier/TripletEntier.java
Executable file
87
TD2/src/tripletEntier/TripletEntier.java
Executable 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
66
TD3 src/boite/Boite.java
Executable 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
38
TD3 src/boite/Objet.java
Executable 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
23
TD3 src/boite/testBoite.java
Executable 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
33
TD3 src/fleuriste/Bouquet.java
Executable 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
19
TD3 src/fleuriste/Fleur.java
Executable 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;
|
||||
}
|
||||
}
|
17
TD3 src/fleuriste/LotFleurs.java
Executable file
17
TD3 src/fleuriste/LotFleurs.java
Executable 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
39
TD3 src/fleuriste/Stock.java
Executable 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;
|
||||
}
|
||||
}
|
27
TD3 src/fleuriste/TestBouquet.java
Executable file
27
TD3 src/fleuriste/TestBouquet.java
Executable 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
64
TD3 src/segments/Segment.java
Executable 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();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
34
TD3 src/segments/TestSegment.java
Executable file
34
TD3 src/segments/TestSegment.java
Executable 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
BIN
TD3/TD3.pdf
Executable file
Binary file not shown.
39
TD3/src/fleuriste/Bouquet.java
Executable file
39
TD3/src/fleuriste/Bouquet.java
Executable 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
33
TD3/src/fleuriste/Fleur.java
Executable 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
40
TD3/src/fleuriste/LotFleur.java
Executable 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
57
TD3/src/fleuriste/Stock.java
Executable 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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
28
TD3/src/fleuriste/TestBouquet.java
Executable file
28
TD3/src/fleuriste/TestBouquet.java
Executable 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
49
TD3/src/segment/Segment.java
Executable 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());
|
||||
}
|
||||
|
||||
}
|
43
TD3/src/segment/TestSegment.java
Executable file
43
TD3/src/segment/TestSegment.java
Executable 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
BIN
TD4/TD4.pdf
Executable file
Binary file not shown.
78
TD4/src/pointcolore/PointColore.java
Executable file
78
TD4/src/pointcolore/PointColore.java
Executable 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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
30
TD4/src/pointcolore/TestPointColore.java
Executable file
30
TD4/src/pointcolore/TestPointColore.java
Executable 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
37
TD4/src/vehicule/Avion.java
Executable 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);
|
||||
}
|
||||
}
|
29
TD4/src/vehicule/GestionVehicule.java
Executable file
29
TD4/src/vehicule/GestionVehicule.java
Executable 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
32
TD4/src/vehicule/Vehicule.java
Executable 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
58
TD4/src/vehicule/Voiture.java
Executable 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
BIN
TD5/TD5.pdf
Executable file
Binary file not shown.
78
TD5/src/pointcolore/PointColore.java
Executable file
78
TD5/src/pointcolore/PointColore.java
Executable 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);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
49
TD5/src/pointcolore/TestPointColore.java
Executable file
49
TD5/src/pointcolore/TestPointColore.java
Executable 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
87
TD5/src/pokemon/Pokemon.java
Executable 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
49
TD5/src/pokemon/PokemonEAU.java
Executable 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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
61
TD5/src/pokemon/PokemonELECTRIK.java
Executable file
61
TD5/src/pokemon/PokemonELECTRIK.java
Executable 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
49
TD5/src/pokemon/PokemonFEU.java
Executable 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;
|
||||
}
|
||||
|
||||
}
|
42
TD5/src/pokemon/PokemonPLANTE.java
Executable file
42
TD5/src/pokemon/PokemonPLANTE.java
Executable 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;
|
||||
}
|
||||
|
||||
}
|
56
TD5/src/pokemon/TestPokemon.java
Executable file
56
TD5/src/pokemon/TestPokemon.java
Executable 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
19
TD5/src/pokemon/Type.java
Executable 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
18
TD6/.vscode/launch.json
vendored
Executable 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
BIN
TD6/TD6.pdf
Executable file
Binary file not shown.
5
TD6/src/pkmA/Attaque.java
Executable file
5
TD6/src/pkmA/Attaque.java
Executable file
@ -0,0 +1,5 @@
|
||||
package pkmA;
|
||||
|
||||
public interface Attaque {
|
||||
public void attaquer(Object adv);
|
||||
}
|
58
TD6/src/pkmA/Pokemon.java
Executable file
58
TD6/src/pkmA/Pokemon.java
Executable 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
76
TD6/src/pkmA/PokemonEAU.java
Executable 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)";
|
||||
}
|
||||
|
||||
}
|
87
TD6/src/pkmA/PokemonELECTRIK.java
Executable file
87
TD6/src/pkmA/PokemonELECTRIK.java
Executable 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
76
TD6/src/pkmA/PokemonFEU.java
Executable 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
70
TD6/src/pkmA/PokemonPLANTE.java
Executable 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
23
TD6/src/pkmA/TestPokemon.java
Executable 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
11
TD6/src/pkmA/Type.java
Executable 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
87
TD6/src/pokemon/Pokemon.java
Executable 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
49
TD6/src/pokemon/PokemonEAU.java
Executable 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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
58
TD6/src/pokemon/PokemonELECTRIK.java
Executable file
58
TD6/src/pokemon/PokemonELECTRIK.java
Executable 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
49
TD6/src/pokemon/PokemonFEU.java
Executable 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;
|
||||
}
|
||||
|
||||
}
|
42
TD6/src/pokemon/PokemonPLANTE.java
Executable file
42
TD6/src/pokemon/PokemonPLANTE.java
Executable 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;
|
||||
}
|
||||
|
||||
}
|
56
TD6/src/pokemon/TestPokemon.java
Executable file
56
TD6/src/pokemon/TestPokemon.java
Executable 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
19
TD6/src/pokemon/Type.java
Executable 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
37
TD6/src/vehicule/Avion.java
Executable 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);
|
||||
}
|
||||
}
|
29
TD6/src/vehicule/GestionVehicule.java
Executable file
29
TD6/src/vehicule/GestionVehicule.java
Executable 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
32
TD6/src/vehicule/Vehicule.java
Executable 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
58
TD6/src/vehicule/Voiture.java
Executable 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
34
TD6/src/vehiculev2/Camion.java
Executable 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.";
|
||||
}
|
||||
|
||||
|
||||
}
|
18
TD6/src/vehiculev2/GestionVehicule.java
Executable file
18
TD6/src/vehiculev2/GestionVehicule.java
Executable 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 d’essence v3.approvisionner (70.0);
|
||||
* v1.transporter ("Dijon ", "Valence ") ; v2.transporter (5, 300) ;
|
||||
* v3.transporter (" des tuiles", 1000) ; }
|
||||
*/
|
||||
}
|
||||
}
|
72
TD6/src/vehiculev2/Vehicule.java
Executable file
72
TD6/src/vehiculev2/Vehicule.java
Executable 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;
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
74
TD6/src/vehiculev2/VehiculeAMoteur.java
Executable file
74
TD6/src/vehiculev2/VehiculeAMoteur.java
Executable 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;
|
||||
}
|
||||
|
||||
|
||||
}
|
20
TD6/src/vehiculev2/VehiculeSansMoteur.java
Executable file
20
TD6/src/vehiculev2/VehiculeSansMoteur.java
Executable 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
39
TD6/src/vehiculev2/Velo.java
Executable 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
32
TD6/src/vehiculev2/Voiture.java
Executable 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
BIN
TD7/7_POO_test_unitaires.pdf
Executable file
Binary file not shown.
BIN
TD7/TD7.pdf
Executable file
BIN
TD7/TD7.pdf
Executable file
Binary file not shown.
65
TD7/src/ip/IP.java
Executable file
65
TD7/src/ip/IP.java
Executable 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
47
TD7/src/ip/MainIp.java
Executable 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
66
TD7/src/monney/Monnaie.java
Executable 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
Loading…
x
Reference in New Issue
Block a user