d508e75d4fc647d58f38bfa97432a46c8d29c4ff
1 import java
.util
.Comparator
;
3 public class Image
extends Forme
implements Compactable
, Comparable
<Image
>, Comparator
<Image
> {
4 final int IMAGE_MAX_SIZE
= 100;
5 Forme
[] formeCollection
;
10 formeCollection
= new Forme
[IMAGE_MAX_SIZE
];
16 formeCollection
= new Forme
[IMAGE_MAX_SIZE
];
20 public int getSize() {
24 private boolean isEmpty() {
25 return (formeNumber
== 0);
28 private boolean isFull() {
29 return (formeNumber
>= formeCollection
.length
);
32 public void dessiner(Piletransformations pile
) {
33 for (int i
= 0; i
< formeNumber
; i
++) {
34 formeCollection
[i
].dessiner(pile
);
38 public void deplacer(Point p
) {
39 for (int i
= 0; i
< formeNumber
; i
++) {
40 formeCollection
[i
].deplacer(p
);
44 public boolean ajouter(Forme forme
) {
45 boolean rtVal
= false;
47 formeCollection
[formeNumber
] = forme
;
54 public boolean supprimer(int index
) {
55 boolean rtVal
= false;
57 for (int j
= index
; (j
< formeNumber
- 1 && index
< formeNumber
); j
++) {
58 formeCollection
[j
] = formeCollection
[j
+ 1];
66 public void afficher() {
67 String className
= this.getClass().getSimpleName();
68 System
.out
.println("---- " + className
+ " ----");
69 for (int i
= 0; i
< formeNumber
; i
++) {
70 formeCollection
[i
].afficher();
74 public void compacter(int nElements
) {
76 /* int minIndex = formeNumber - nElements - 1;
77 for (int i = formeNumber - 1; (i > minIndex && !isEmpty()); i--) {
80 // Lightweight solution
81 if (formeNumber
- nElements
> 0) {
82 formeNumber
-= nElements
;
88 public int compareTo(Image image
) {
89 return formeNumber
- image
.getSize();
92 public int compare(Image image1
, Image image2
) {
93 return image1
.getSize() - image2
.getSize();