Skip to content
Snippets Groups Projects
Commit 61be085a authored by LOI Leo's avatar LOI Leo
Browse files

Ajout du DP Composite

parent 5db7dfcc
No related branches found
No related tags found
No related merge requests found
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>
\ No newline at end of file
public class DegatVisiteur implements VisiteurPersonnage { public class DegatVisiteur implements Visiteur {
@Override @Override
public void visiter(Guerrier g) { public void visiter(Personnage p) {
int dgtAmeliorer = g.getArme().getDegat()+1; int dgtAmeliorer = p.getArme().getDegat()+1;
g.getArme().setDegat(dgtAmeliorer); p.getArme().setDegat(dgtAmeliorer);
} }
@Override @Override
public void visiter(Roi r) { public void visiter(Equipe e) {
int dgtAmeliorer = r.getArme().getDegat()+1; for(Personnage p : e.equipe){
r.getArme().setDegat(dgtAmeliorer); visiter(p);
} }
@Override
public void visiter(Sorcier s) {
int dgtAmeliorer = s.getArme().getDegat()+1;
s.getArme().setDegat(dgtAmeliorer);
}
@Override
public void visiter(Guerisseur gu) {
int dgtAmeliorer = gu.getArme().getDegat()+1;
gu.getArme().setDegat(dgtAmeliorer);
} }
} }
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
class DegatVisiteurTest { class DegatVisiteurTestPersonnage {
@Test @Test
void test(){ void testPerso(){
testDegatRoi(); testDegatRoi();
testDegatSorcier(); testDegatSorcier();
testDegatGuerrier(); testDegatGuerrier();
......
public interface EPersonnage { public interface EPersonnage extends EquipeComponent {
void accept(VisiteurPersonnage visitor); void accept(Visiteur visitor);
} }
import java.util.ArrayList;
import java.util.Iterator;
public class Equipe implements EquipeComponent{
int degat = 0;
int niveau = 0;
ArrayList<Personnage> equipe = new ArrayList<>();
Iterator<Personnage> it = equipe.iterator();
@Override
public void add(Personnage p) {
equipe.add(p);
degat += p.getArme().getDegat();
niveau += p.getNiveau();
}
@Override
public void remove(Personnage p) {
equipe.remove(p);
degat -= p.getArme().getDegat();
niveau -= p.getNiveau();
}
@Override
public Personnage getChild(int i) {
return equipe.get(i);
}
@Override
public void accept(Visiteur visiteur) {
visiteur.visiter(this);
}
}
public interface EquipeComponent {
void add(Personnage p);
void remove(Personnage p);
default Personnage getChild(int i){
return null;
}
void accept(Visiteur visiteur);
}
...@@ -7,7 +7,17 @@ public class Guerisseur extends Personnage { ...@@ -7,7 +7,17 @@ public class Guerisseur extends Personnage {
} }
@Override @Override
public void accept(VisiteurPersonnage visitor) { public void accept(Visiteur visitor) {
visitor.visiter(this); visitor.visiter(this);
} }
@Override
public void add(Personnage p) {
}
@Override
public void remove(Personnage p) {
}
} }
...@@ -7,7 +7,17 @@ public class Guerrier extends Personnage { ...@@ -7,7 +7,17 @@ public class Guerrier extends Personnage {
} }
@Override @Override
public void accept(VisiteurPersonnage visitor) { public void accept(Visiteur visitor) {
visitor.visiter(this); visitor.visiter(this);
} }
@Override
public void add(Personnage p) {
}
@Override
public void remove(Personnage p) {
}
} }
public class NiveauVisiteur implements VisiteurPersonnage { public class NiveauVisiteur implements Visiteur {
@Override @Override
public void visiter(Guerrier g) { public void visiter(Personnage p) {
int lvlUp = g.getNiveau()+1; int lvlUp = p.getNiveau()+1;
g.setNiveau(lvlUp); p.setNiveau(lvlUp);
} }
@Override @Override
public void visiter(Roi r) { public void visiter(Equipe e) {
int lvlUp = r.getNiveau()+1; for(Personnage p : e.equipe){
r.setNiveau(lvlUp); visiter(p);
} }
@Override
public void visiter(Sorcier s) {
int lvlUp = s.getNiveau()+1;
s.setNiveau(lvlUp);
}
@Override
public void visiter(Guerisseur gu) {
int lvlUp = gu.getNiveau()+1;
gu.setNiveau(lvlUp);
} }
} }
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class NiveauVisiteurTestEquipe {
@Test
void testEquipe(){
Equipe equipe = creationEquipe();
equipe.accept(new NiveauVisiteur());
testNiveau(equipe);
}
Equipe creationEquipe(){
Roi roi = new Roi(0, 1, "", new Epee(),0, "");
Guerrier guerrier = new Guerrier(0, 1, "", new Epee(),0);
Guerisseur guerisseur = new Guerisseur(0, 1, "", new BaguetteMagique(),0);
Sorcier sorcier = new Sorcier(0, 1, "", new BatonDeSorcier(),0);
Equipe equipe = new Equipe();
equipe.add(roi);
equipe.add(guerrier);
equipe.add(guerisseur);
equipe.add(sorcier);
return equipe;
}
void testNiveau(Equipe e) {
for(Personnage p : e.equipe){
assert p.getNiveau() == 2;
}
}
}
\ No newline at end of file
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
class NiveauVisiteurTest { class NiveauVisiteurTestPersonnage {
@Test @Test
void test(){ void test(){
......
...@@ -9,7 +9,17 @@ public class Roi extends Personnage { ...@@ -9,7 +9,17 @@ public class Roi extends Personnage {
} }
@Override @Override
public void accept(VisiteurPersonnage visitor) { public void accept(Visiteur visitor) {
visitor.visiter(this); visitor.visiter(this);
} }
@Override
public void add(Personnage p) {
}
@Override
public void remove(Personnage p) {
}
} }
...@@ -7,7 +7,17 @@ public class Sorcier extends Personnage { ...@@ -7,7 +7,17 @@ public class Sorcier extends Personnage {
} }
@Override @Override
public void accept(VisiteurPersonnage visitor) { public void accept(Visiteur visitor) {
visitor.visiter(this); visitor.visiter(this);
} }
@Override
public void add(Personnage p) {
}
@Override
public void remove(Personnage p) {
}
} }
public interface Visiteur {
void visiter(Personnage p);
void visiter(Equipe e);
}
public interface VisiteurPersonnage {
void visiter(Guerrier g);
void visiter(Roi r);
void visiter(Sorcier s);
void visiter(Guerisseur gu);
}
import org.junit.jupiter.api.Test;
class degatVisiteurTestEquipe {
@Test
void testEquipe(){
Equipe equipe = creationEquipe();
equipe.accept(new DegatVisiteur());
testDegat(equipe);
}
Equipe creationEquipe(){
Roi roi = new Roi(0, 1, "", new Epee(),0, "");
Guerrier guerrier = new Guerrier(0, 1, "", new Epee(),0);
Guerisseur guerisseur = new Guerisseur(0, 1, "", new BaguetteMagique(),0);
Sorcier sorcier = new Sorcier(0, 1, "", new BatonDeSorcier(),0);
Equipe equipe = new Equipe();
equipe.add(roi);
equipe.add(guerrier);
equipe.add(guerisseur);
equipe.add(sorcier);
return equipe;
}
void testDegat(Equipe e) {
for(Personnage p : e.equipe){
assert p.getArme().getDegat() == 1;
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment