2 class Image
extends Forme
implements Compactable
, Comparable
<Image
> {
3 final int IMAGE_MAX_SIZE
= 100;
4 Forme
[] formeCollection
;
9 formeCollection
= new Forme
[IMAGE_MAX_SIZE
];
15 formeCollection
= new Forme
[IMAGE_MAX_SIZE
];
19 public int getSize() {
23 private boolean isEmpty() {
24 return (formeNumber
== 0);
27 private boolean isFull() {
28 return (formeNumber
>= formeCollection
.length
);
31 public void dessiner(Piletransformations pile
) {
32 for (int i
= 0; i
< formeNumber
; i
++) {
33 formeCollection
[i
].dessiner(pile
);
37 public void deplacer(Point p
) {
38 for (int i
= 0; i
< formeNumber
; i
++) {
39 formeCollection
[i
].deplacer(p
);
43 public boolean ajouter(Forme forme
) {
44 boolean rtVal
= false;
46 formeCollection
[formeNumber
] = forme
;
53 public boolean supprimer(int index
) {
54 boolean rtVal
= false;
56 for (int j
= index
; (j
< formeNumber
- 1 && index
< formeNumber
); j
++) {
57 formeCollection
[j
] = formeCollection
[j
+ 1];
65 public void afficher() {
66 String className
= this.getClass().getSimpleName();
67 System
.out
.println("---- " + className
+ " ----");
68 for (int i
= 0; i
< formeNumber
; i
++) {
69 formeCollection
[i
].afficher();
73 public void compacter(int nElements
) {
75 /* int minIndex = formeNumber - nElements - 1;
76 for (int i = formeNumber - 1; (i > minIndex && !isEmpty()); i--) {
79 // Lightweight solution
80 if (formeNumber
- nElements
> 0) {
81 formeNumber
-= nElements
;
87 public int compareTo(Image image
) {
88 return formeNumber
- image
.getSize();