Skip to content
Snippets Groups Projects
Commit 37ecb49c authored by Paul RIPAULT's avatar Paul RIPAULT
Browse files

Merge branch 'master' into Paul

parents 2d570673 a9ceab4d
No related branches found
No related tags found
No related merge requests found
...@@ -3,6 +3,11 @@ ...@@ -3,6 +3,11 @@
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="test"/> <classpathentry kind="src" path="test"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/> <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.5 org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.release=disabled org.eclipse.jdt.core.compiler.release=disabled
org.eclipse.jdt.core.compiler.source=1.5 org.eclipse.jdt.core.compiler.source=1.7
package events;
import main.Case;
import main.Joueur;
import main.Scan;
import main.Type;
import units.Paysant;
import units.Unite;
public class VillageEvent implements Evenements{
private Joueur owner = null;
public void action(Case eventCase) {
Joueur visiteur = eventCase.getUnite().getJoueur();
Unite uniteVisiteur = eventCase.getUnite();
if (eventCase.getType() == Type.VILLAGE) {
System.out.println("1. Ne rien faire/n2. Piller village");
if (owner == visiteur) {
System.out.println("3. Enrôler paysan (5 Po)");
}
switch (Scan.readString()) {
case "1":
break;
case "2":
visiteur.setBanqueJoueur(visiteur.getBanqueJoueur() + 10);
eventCase.setPillage();
break;
case "3":
if (uniteVisiteur.getPlateau().getCase(eventCase.getX(), eventCase.getY()+1).getUnite() == null && uniteVisiteur.getPlateau().getCase(eventCase.getX(), eventCase.getY()+1).getType() != Type.MOUNTAIN) {
uniteVisiteur.getPlateau().getCase(eventCase.getX(), eventCase.getY()+1).setUnite(new Paysant(eventCase.getX(), eventCase.getY()+1, uniteVisiteur.getPlateau(), visiteur));
visiteur.setBanqueJoueur(visiteur.getBanqueJoueur() -5);
}
else if (uniteVisiteur.getPlateau().getCase(eventCase.getX(), eventCase.getY()-1).getUnite() == null && uniteVisiteur.getPlateau().getCase(eventCase.getX(), eventCase.getY()-1).getType() != Type.MOUNTAIN) {
uniteVisiteur.getPlateau().getCase(eventCase.getX(), eventCase.getY()-1).setUnite(new Paysant(eventCase.getX(), eventCase.getY()-1, uniteVisiteur.getPlateau(), visiteur));
visiteur.setBanqueJoueur(visiteur.getBanqueJoueur() -5);
}
else if (uniteVisiteur.getPlateau().getCase(eventCase.getX()+1, eventCase.getY()).getUnite() == null && uniteVisiteur.getPlateau().getCase(eventCase.getX()+1, eventCase.getY()).getType() != Type.MOUNTAIN) {
uniteVisiteur.getPlateau().getCase(eventCase.getX()+1, eventCase.getY()).setUnite(new Paysant(eventCase.getX()+1, eventCase.getY(), uniteVisiteur.getPlateau(), visiteur));
visiteur.setBanqueJoueur(visiteur.getBanqueJoueur() -5);
}
else if (uniteVisiteur.getPlateau().getCase(eventCase.getX()-1, eventCase.getY()).getUnite() == null && uniteVisiteur.getPlateau().getCase(eventCase.getX()-1, eventCase.getY()).getType() != Type.MOUNTAIN) {
uniteVisiteur.getPlateau().getCase(eventCase.getX()-1, eventCase.getY()).setUnite(new Paysant(eventCase.getX()-1, eventCase.getY(), uniteVisiteur.getPlateau(), visiteur));
visiteur.setBanqueJoueur(visiteur.getBanqueJoueur() -5);
}
else {
System.out.println("Il n'y a pas la place pour placer une unité autour ! Rendez l'argent !");
}
break;
default:
break;
}
}
}
public String getName() {
return "Village event";
}
}
...@@ -15,7 +15,8 @@ public class Case { ...@@ -15,7 +15,8 @@ public class Case {
private Unite unite; private Unite unite;
private int x; private int x;
private int y; private int y;
private boolean aEteVu; private boolean pille;
private int tempsDepuisPillage;
public Case(Type type) { public Case(Type type) {
this.type = type; this.type = type;
...@@ -24,6 +25,26 @@ public class Case { ...@@ -24,6 +25,26 @@ public class Case {
this.events = new ArrayList<Evenements>(); this.events = new ArrayList<Evenements>();
this.x = 0; this.x = 0;
this.y = 0; this.y = 0;
this.pille = false;
this.tempsDepuisPillage = 0;
}
public void setPillage() {
this.pille = true;
this.tempsDepuisPillage = 5;
}
public boolean getPille () {
return this.pille;
}
public void setPille (boolean pille) {
this.pille = pille;
}
public void decreaseTimePillage () {
if (this.tempsDepuisPillage == 0) {
setPille(false);
}
else {
this.tempsDepuisPillage--;
}
} }
public void setX(int x) { public void setX(int x) {
this.x = x; this.x = x;
...@@ -78,6 +99,7 @@ public class Case { ...@@ -78,6 +99,7 @@ public class Case {
} }
public String toString() { public String toString() {
if (!this.isDecouverte()) { if (!this.isDecouverte()) {
return "~ "; return "~ ";
} }
...@@ -88,14 +110,18 @@ public class Case { ...@@ -88,14 +110,18 @@ public class Case {
return ". "; return ". ";
} }
else if (this.type == Type.MOUNTAIN) { else if (this.type == Type.MOUNTAIN) {
return "m "; return "Ѧ ";
} }
else if (this.type == Type.FORT) { else if (this.type == Type.FORT) {
return "♖ "; return "♜ ";
//return "♖ ";
} }
else if (this.type == Type.CAMP) { else if (this.type == Type.CAMP) {
return "O "; return "O ";
} }
else if (this.type == Type.VILLAGE) {
return "V ";
}
else { return "? ";} else { return "? ";}
} }
} }
...@@ -4,6 +4,7 @@ import java.util.Random; ...@@ -4,6 +4,7 @@ import java.util.Random;
import events.CrownReceived; import events.CrownReceived;
import events.FortEvent; import events.FortEvent;
import events.VillageEvent;
public class Region { public class Region {
public Case[][] region = new Case[5][5]; public Case[][] region = new Case[5][5];
...@@ -32,6 +33,13 @@ public class Region { ...@@ -32,6 +33,13 @@ public class Region {
int rd2 = (int)random.nextInt(5); int rd2 = (int)random.nextInt(5);
region[rd1][rd2].addEvents(new FortEvent()); region[rd1][rd2].addEvents(new FortEvent());
region[rd1][rd2].setType(Type.FORT); region[rd1][rd2].setType(Type.FORT);
int k = (int)random.nextInt(2);
for (int l = 0; l < k; l++) {
rd1 = (int)random.nextInt(5);
rd2 = (int)random.nextInt(5);
region[rd1][rd2].addEvents(new VillageEvent());
region[rd1][rd2].setType(Type.VILLAGE);
}
} }
public void changeToCamp() { public void changeToCamp() {
for (int i = 0; i < region.length; i++) { for (int i = 0; i < region.length; i++) {
......
...@@ -19,5 +19,28 @@ public class Scan { ...@@ -19,5 +19,28 @@ public class Scan {
return res; return res;
} }
public static String readString() {
String res = "";
Scanner scanner = new Scanner(System.in);
res = scanner.nextLine();
scanner.close();
return res;
}
public static String readString(String message) {
String res = "";
Scanner scanner = new Scanner(System.in);
System.out.println(message);
res = scanner.nextLine();
scanner.close();
return res;
}
public static void clearScreen() {
for( int i = 0 ; i < 100; i++) {
System.out.println();
}
}
} }
package main; package main;
public enum Type { public enum Type {
UNITE,GRASS, MOUNTAIN, CAMP, FORT; UNITE,GRASS, MOUNTAIN, CAMP, VILLAGE, FORT;
} }
...@@ -11,7 +11,7 @@ public class Paysant extends Unite{ ...@@ -11,7 +11,7 @@ public class Paysant extends Unite{
public static final int DAMAGE = 1; public static final int DAMAGE = 1;
public static final char SYMBOL = 'p'; public static final char SYMBOL = 'p';
public static final int PATOGIVE = 1; public static final int PATOGIVE = 1;
public static final int VISION = 4; public static final int VISION = 1;
public Paysant(int x, int y, Plateau plateau, Joueur joueur) { public Paysant(int x, int y, Plateau plateau, Joueur joueur) {
super(x, y, plateau, SYMBOL, ARMOR, DAMAGE, joueur, VISION); super(x, y, plateau, SYMBOL, ARMOR, DAMAGE, joueur, VISION);
......
...@@ -207,6 +207,7 @@ public abstract class Unite { ...@@ -207,6 +207,7 @@ public abstract class Unite {
this.plateau.getCase(x, y).setType(Type.GRASS); this.plateau.getCase(x, y).setType(Type.GRASS);
this.x=rd1; this.x=rd1;
this.y=rd2; this.y=rd2;
updateDecouverte(this.plateau.getCase(rd1, rd2), this.vision);
} }
public void updateDecouverte (Case emplacement, int vision) { public void updateDecouverte (Case emplacement, int vision) {
if (vision > -1) { if (vision > -1) {
...@@ -224,7 +225,7 @@ public abstract class Unite { ...@@ -224,7 +225,7 @@ public abstract class Unite {
} }
if (emplacement.getY() < 29) { if (emplacement.getY() < 29) {
this.plateau.getCase(emplacement.getX(), emplacement.getY() +1).setDecouverte(true); this.plateau.getCase(emplacement.getX(), emplacement.getY() +1).setDecouverte(true);
if (this.plateau.getCase(emplacement.getX()+1, emplacement.getY()+1).getType() != Type.MOUNTAIN) { if (this.plateau.getCase(emplacement.getX(), emplacement.getY()+1).getType() != Type.MOUNTAIN) {
updateDecouverte(this.plateau.getCase(emplacement.getX(), emplacement.getY() +1), vision-1); updateDecouverte(this.plateau.getCase(emplacement.getX(), emplacement.getY() +1), vision-1);
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment