debut TP DEV Piles
This commit is contained in:
parent
cb643ad0c0
commit
35918919b1
BIN
Anglish/MailInstruction.docx
Executable file
BIN
Anglish/MailInstruction.docx
Executable file
Binary file not shown.
Binary file not shown.
@ -4,19 +4,44 @@ import java.awt.event.*;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
public class Action implements MouseListener{
|
public class Action implements MouseListener{
|
||||||
public java.util.List<Parallelogramme> listeParallelogramme;
|
public ListeParallelogramme listeParallelogramme;
|
||||||
|
public Point origine;
|
||||||
|
public JFrame fenetre;
|
||||||
|
|
||||||
public Action(java.util.List<Parallelogramme> listeParallelogramme){
|
public Action(ListeParallelogramme listeParallelogramme, JPanel panel, JFrame fenetre){
|
||||||
this.listeParallelogramme = listeParallelogramme;
|
this.listeParallelogramme = listeParallelogramme;
|
||||||
|
this.origine = panel.getLocationOnScreen();
|
||||||
|
this.fenetre = fenetre;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent e){
|
public void mouseClicked(MouseEvent e){
|
||||||
for (Parallelogramme parallelogramme : this.listeParallelogramme){
|
Point clic = e.getPoint();
|
||||||
if (parallelogramme.forme.contains(e.getPoint())){
|
int x = clic.x - this.origine.x;
|
||||||
System.out.println("clic");
|
int y = clic.y - this.origine.y;
|
||||||
|
Parallelogramme parallelogramme = this.listeParallelogramme.get(-1);
|
||||||
|
while ((parallelogramme = this.listeParallelogramme.next(parallelogramme)) != null){
|
||||||
|
int[] xPoints = parallelogramme.forme.xpoints;
|
||||||
|
System.out.print("x=[");
|
||||||
|
for (int px : xPoints){
|
||||||
|
System.out.print(px+",");
|
||||||
|
}
|
||||||
|
System.out.print("] ");
|
||||||
|
int[] yPoints = parallelogramme.forme.ypoints;
|
||||||
|
System.out.print("y=[");
|
||||||
|
for (int yx : yPoints){
|
||||||
|
System.out.print(yx+",");
|
||||||
|
}
|
||||||
|
System.out.print("] ");
|
||||||
|
System.out.println(" clic=" + x + "," + y);
|
||||||
|
if (parallelogramme.forme.contains(x, y)){
|
||||||
|
System.out.println(parallelogramme.luminance());
|
||||||
|
this.listeParallelogramme.delete(parallelogramme);
|
||||||
|
fenetre.repaint();
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
System.out.println();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Binary file not shown.
@ -4,9 +4,9 @@ import java.util.*;
|
|||||||
|
|
||||||
public class Dessin extends JComponent {
|
public class Dessin extends JComponent {
|
||||||
|
|
||||||
public java.util.List<Parallelogramme> listeParallelogramme;
|
public ListeParallelogramme listeParallelogramme;
|
||||||
|
|
||||||
public Dessin(java.util.List<Parallelogramme> listeParallelogramme){
|
public Dessin(ListeParallelogramme listeParallelogramme){
|
||||||
this.listeParallelogramme = listeParallelogramme;
|
this.listeParallelogramme = listeParallelogramme;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -17,7 +17,8 @@ public class Dessin extends JComponent {
|
|||||||
secondPinceau.setColor(this.getBackground());
|
secondPinceau.setColor(this.getBackground());
|
||||||
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
|
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
|
||||||
}
|
}
|
||||||
for (Parallelogramme parallelogramme : this.listeParallelogramme){
|
Parallelogramme parallelogramme = this.listeParallelogramme.get(-1);
|
||||||
|
while ((parallelogramme = this.listeParallelogramme.next(parallelogramme)) != null){
|
||||||
secondPinceau.setColor(parallelogramme.couleur);
|
secondPinceau.setColor(parallelogramme.couleur);
|
||||||
secondPinceau.fillPolygon(parallelogramme.forme);
|
secondPinceau.fillPolygon(parallelogramme.forme);
|
||||||
secondPinceau.setColor(Color.BLACK);
|
secondPinceau.setColor(Color.BLACK);
|
||||||
|
BIN
DEV/DEV3.2/TP03_Listes/ListeParallelogramme.class
Normal file
BIN
DEV/DEV3.2/TP03_Listes/ListeParallelogramme.class
Normal file
Binary file not shown.
48
DEV/DEV3.2/TP03_Listes/ListeParallelogramme.java
Normal file
48
DEV/DEV3.2/TP03_Listes/ListeParallelogramme.java
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public class ListeParallelogramme{
|
||||||
|
|
||||||
|
public List<Parallelogramme> liste;
|
||||||
|
|
||||||
|
public ListeParallelogramme(){
|
||||||
|
liste = new ArrayList<>();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void add(){
|
||||||
|
int taille = this.liste.size();
|
||||||
|
if (taille == 0){
|
||||||
|
this.liste.add(new Parallelogramme());
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
Parallelogramme dernier = this.liste.get(this.liste.size()-1);
|
||||||
|
this.liste.add(new Parallelogramme(dernier));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void delete(Parallelogramme parallelogramme){
|
||||||
|
Parallelogramme suppr = parallelogramme;
|
||||||
|
while((parallelogramme = this.next(parallelogramme)) != null){
|
||||||
|
parallelogramme.translationGauche();
|
||||||
|
}
|
||||||
|
this.liste.remove(suppr);
|
||||||
|
}
|
||||||
|
|
||||||
|
public int size(){
|
||||||
|
return this.liste.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
public Parallelogramme get(int indice){
|
||||||
|
if (indice >= 0 && indice < this.liste.size()){
|
||||||
|
return this.liste.get(indice);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Parallelogramme next(Parallelogramme parallelogramme){
|
||||||
|
int indice = this.liste.indexOf(parallelogramme);
|
||||||
|
if (indice+1 < this.liste.size()){
|
||||||
|
return this.liste.get(indice+1);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
Binary file not shown.
@ -9,20 +9,20 @@ public class Main{
|
|||||||
fenetre.setLocation(0, 0);
|
fenetre.setLocation(0, 0);
|
||||||
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
|
||||||
java.util.List<Parallelogramme> listeParallelogramme = new ArrayList<>();
|
ListeParallelogramme listeParallelogramme = new ListeParallelogramme();
|
||||||
int i;
|
for (int i=0; i<10; i++){
|
||||||
Parallelogramme suivant = new Parallelogramme();
|
listeParallelogramme.add();
|
||||||
for (i=0; i<10; i++){
|
|
||||||
listeParallelogramme.add(suivant);
|
|
||||||
suivant = new Parallelogramme(suivant);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Action action = new Action(listeParallelogramme);
|
|
||||||
fenetre.addMouseListener(action);
|
|
||||||
|
|
||||||
Dessin lesDessins = new Dessin(listeParallelogramme);
|
Dessin lesDessins = new Dessin(listeParallelogramme);
|
||||||
fenetre.add(lesDessins);
|
fenetre.add(lesDessins);
|
||||||
|
|
||||||
fenetre.setVisible(true);
|
fenetre.setVisible(true);
|
||||||
|
|
||||||
|
JPanel origine = new JPanel();
|
||||||
|
fenetre.add(origine);
|
||||||
|
|
||||||
|
Action action = new Action(listeParallelogramme, origine, fenetre);
|
||||||
|
fenetre.addMouseListener(action);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
@ -25,4 +25,15 @@ public class Parallelogramme{
|
|||||||
this.forme.addPoint(gauche+Parallelogramme.marge+Parallelogramme.largeur+Parallelogramme.inclinaison, haut);
|
this.forme.addPoint(gauche+Parallelogramme.marge+Parallelogramme.largeur+Parallelogramme.inclinaison, haut);
|
||||||
this.forme.addPoint(gauche+Parallelogramme.marge+Parallelogramme.inclinaison, haut);
|
this.forme.addPoint(gauche+Parallelogramme.marge+Parallelogramme.inclinaison, haut);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void translationGauche(){
|
||||||
|
int[] xPoints = this.forme.xpoints;
|
||||||
|
int nbPoint = this.forme.npoints;
|
||||||
|
for (int i = 0; i < nbPoint; i++) {
|
||||||
|
xPoints[i] -= (Parallelogramme.largeur + Parallelogramme.marge);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public int luminance(){
|
||||||
|
return 21*this.couleur.getRed() + 72*this.couleur.getGreen() + 7*this.couleur.getBlue();
|
||||||
|
}
|
||||||
}
|
}
|
BIN
DEV/DEV3.2/TP04_Piles/Q1Main.class
Normal file
BIN
DEV/DEV3.2/TP04_Piles/Q1Main.class
Normal file
Binary file not shown.
43
DEV/DEV3.2/TP04_Piles/Q1Main.java
Normal file
43
DEV/DEV3.2/TP04_Piles/Q1Main.java
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
import javax.swing.*;
|
||||||
|
import java.awt.*;
|
||||||
|
import java.util.*;
|
||||||
|
|
||||||
|
public class Q1Main{
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
ArrayDeque<Integer> liste = new ArrayDeque<>();
|
||||||
|
int i;
|
||||||
|
try{
|
||||||
|
for (i=0; i<args.length; i++){
|
||||||
|
if (args[i].equals("*") || args[i].equals("/") || args[i].equals("+") || args[i].equals("-")){
|
||||||
|
int a;
|
||||||
|
int b;
|
||||||
|
a = liste.pop();
|
||||||
|
b = liste.pop();
|
||||||
|
if(args[i].equals("*")){
|
||||||
|
liste.push(b*a);
|
||||||
|
}
|
||||||
|
if(args[i].equals("/")){
|
||||||
|
liste.push(b/a);
|
||||||
|
}
|
||||||
|
if(args[i].equals("+")){
|
||||||
|
liste.push(b+a);
|
||||||
|
}
|
||||||
|
if(args[i].equals("-")){
|
||||||
|
liste.push(b-a);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
liste.push(Integer.parseInt(args[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
System.out.println(liste.pop());
|
||||||
|
}
|
||||||
|
catch(NoSuchElementException e){
|
||||||
|
System.out.println("tu ecrit bien");
|
||||||
|
}
|
||||||
|
catch(NumberFormatException e){
|
||||||
|
System.out.println("arretes de mal executer le code");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
25
DEV/DEV3.2/TP04_Piles/Q2Liste.java
Normal file
25
DEV/DEV3.2/TP04_Piles/Q2Liste.java
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
public class Q2Liste implements Q2Pile <T>{
|
||||||
|
|
||||||
|
public
|
||||||
|
|
||||||
|
public Q2Liste(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void push(T valeur){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public T pop(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isEmpty(){
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public T
|
||||||
|
}
|
11
DEV/DEV3.2/TP04_Piles/Q2Maillon.java
Normal file
11
DEV/DEV3.2/TP04_Piles/Q2Maillon.java
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
public class Q2Maillon <T>{
|
||||||
|
|
||||||
|
T valeur;
|
||||||
|
Q2Maillon <T> ancien;
|
||||||
|
|
||||||
|
|
||||||
|
public Q2Maillon(Q2Maillon <T> ancien, T valeur){
|
||||||
|
this.ancien = ancien;
|
||||||
|
this.valeur = valeur;
|
||||||
|
}
|
||||||
|
}
|
5
DEV/DEV3.2/TP04_Piles/Q2Pile.java
Normal file
5
DEV/DEV3.2/TP04_Piles/Q2Pile.java
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
public interface Q2Pile {
|
||||||
|
<T> void push(T valeur);
|
||||||
|
boolean isEmpty(void);
|
||||||
|
<T> T pop(void);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user