Skip to content
Snippets Groups Projects
Commit 414fc8d7 authored by CARION Baptiste's avatar CARION Baptiste
Browse files

Merge branch 'master' into Baptiste

parents 51a54a6d 01dcb24e
No related branches found
No related tags found
No related merge requests found
Showing
with 194 additions and 63 deletions
# Sprint 3
## Démo + Planification du sprint suivant
## Démo + Planification du sprint suivant
### Ce que nous avons fait durant ce sprint
Création des evenements et des déplacement
Création des evenements et des déplacement
mise en place de l'affichage
### Ce que nous allons faire durant le prochain sprint
ajouté les unités et réalisé le système d'action
ajouté les unités et réalisé le système d'action
## Rétro
## Rétro
# Sprint 4
## Démo + Planification du sprint suivant
### Ce que nous avons fait durant ce sprint
Toutes les unités ont été ajouté
Les actions sont misent en places via l'interface
### Ce que nous allons faire durant le prochain sprint
réalisation partiel de l'interface
réalisation des événements
## Rétro
\ No newline at end of file
doc/sprint-4/radiateur.jpg

4.71 MiB

# Sprint 5
## Démo + Planification du sprint suivant
### Ce que nous avons fait durant ce sprint
réalisation partiel de l'interface
réalisation des événements
réalisateur des cases procédurale
### Ce que nous allons faire durant le prochain sprint
## Rétro
\ No newline at end of file
doc/sprint-5/radiateur.jpg

4.79 MiB

......@@ -19,11 +19,13 @@ public class FortEvent implements Evenements{
uniteVisiteur.setArmor(uniteVisiteur.getArmor()-fortDamage);
if (Combattre.isAlive(uniteVisiteur)) {
owner = visiteur;
uniteVisiteur.getPlateau().getRegion(uniteVisiteur.getX(), uniteVisiteur.getY()).setProprietaire(visiteur);
}
}else if(owner.getNomJoueur().equals(visiteur.getNomJoueur())) {
System.out.println("Vous accupez maintenant votre fort !");
}else{
owner = visiteur;
uniteVisiteur.getPlateau().getRegion(uniteVisiteur.getX(), uniteVisiteur.getY()).setProprietaire(visiteur);
}
}
......
package events;
import main.Case;
public class TeleportationEvent implements Evenements{
public void action(Case eventCase) {
//TODO:téléporter l'unité sur une case random qui n'est ni un
}
public String getName() {
return "Teleportation Event";
}
}
......@@ -15,7 +15,10 @@ public class Crown extends Items{
@Override
public void usage(Joueur joueur) {
//TODO: premi�re version, tu prend la couronne tu gagne, ensuite faire de syst�me de r�cup et d'arriver au camp
joueur.setWin(true);
if (this.getPower() != 0) {
joueur.setWin(true);
this.setPower(0);
}
}
@Override
......
......@@ -6,6 +6,7 @@ import main.Joueur;
public abstract class Items {
private String name;
private Case itemCase;
private int power = 1;
public Items(String name, Case itemCase) {
super();
......@@ -17,6 +18,15 @@ public abstract class Items {
return name;
}
public int getPower() {
return power;
}
public void setPower(int power) {
this.power = power;
}
public Case getItemCase() {
return itemCase;
}
......
package main;
import java.util.ArrayList;
import java.util.List;
import events.Evenements;
import items.Items;
import units.Unite;
public class Case {
private Type type;
private boolean decouverte;
private Event event;
private List<Evenements> events;
private Items item;
private Unite unite;
private int x;
private int y;
......@@ -14,8 +20,8 @@ public class Case {
public Case(Type type) {
this.type = type;
this.decouverte = false;
this.event = null;
this.unite = null;
this.events = new ArrayList<Evenements>();
this.x = 0;
this.y = 0;
}
......@@ -37,12 +43,16 @@ public class Case {
public boolean isDecouverte() {
return decouverte;
}
}
public Event getEvent() {
return event;
public List<Evenements> getEvents() {
return events;
}
public boolean addEvents(Evenements event) {
return events.add(event);
}
public Unite getUnite() {
return unite;
}
......@@ -51,10 +61,6 @@ public class Case {
this.decouverte = decouverte;
}
public void setEvent(Event event) {
this.event = event;
}
public void setUnite(Unite unite) {
this.unite = unite;
this.type = Type.UNITE;
......@@ -62,6 +68,15 @@ public class Case {
public void setType(Type type) {
this.type = type;
}
public Items getItem() {
return item;
}
public void setItem(Items item) {
this.item = item;
}
public String toString() {
if (!this.isDecouverte()) {
return "~ ";
......
package main;
public enum Direction {
HAUT, GAUCHE, BAS, DROITE;
}
package main;
public enum Event {
FORT;
}
package main;
import units.Unite;
public class Interface {
private static int rep = 0;
public static void start() {
......@@ -24,11 +26,36 @@ public class Interface {
for(int i = 0; i< j1.getArmee().size(); i++) {
System.out.println(i+": "+ j1.getArmee().get(1).toString());
}
Scan.scan(j1.getArmee().size());
System.out.println("vous pouvez déplacer une unité...");
System.out.println("1: Vers le haut");
System.out.println("2: Vers le bas");
System.out.println("3: Vers la droite");
System.out.println("4: Vers la gauche");
Unite u =j1.getArmee().get((Scan.scan(j1.getArmee().size())));
System.out.println("vous pouvez...");
if(u.getX()>0) {
if(plateau.getCase(u.getX()-1, u.getY()).getUnite()!=null){
System.out.println("1: Combattre l'unité au-dessus");
}else {
System.out.println("1: Se déplacer vers le haut");
}
}
if(u.getX()<plateau.getPlateau().length*5) {
if(plateau.getCase(u.getX()+1, u.getY()).getUnite()!=null){
System.out.println("2: Combattre l'unité en bas");
}else {
System.out.println("2: Se déplacer vers le bas");
}
}
if(u.getY()<plateau.getPlateau().length*5) {
if(plateau.getCase(u.getX(), u.getY()+1).getUnite()!=null){
System.out.println("3: Combattre l'unité à droite");
}else {
System.out.println("3: Se déplacer vers la droite");
}
}
if(u.getY()>0) {
if(plateau.getCase(u.getX(), u.getY()-1).getUnite()!=null){
System.out.println("4: Combattre l'unité à gauche");
}else {
System.out.println("4: Se déplacer vers la gauche");
}
}
rep = Scan.scan(4);
}
}
package main;
import java.util.Scanner;
import units.Paysant;
public class Main {
private static Joueur winner;
private static Joueur winner = new Joueur("Winner");
private int actionPoint;
public static void main(String[] args) {
......@@ -15,23 +17,40 @@ public class Main {
}*/
Plateau plateau = new Plateau();
int x = 13;
int y = 23;
int x = 11;
int y = 10;
plateau.getCase(x, y).setUnite(new Paysant(x, y, plateau, winner));
Affichage.affichage(plateau);
plateau.getCase(x, y).getUnite().move(Direction.HAUT);
while(y<30) {
winner.getArmee().get(0).move(deplacement());
System.out.println('\n');
winner.getArmee().get(0).teleporte();
Affichage.affichage(plateau);
}
Menu();
plateau.getCase(12, 0);
Affichage.affichage(plateau);
//Menu();
}
public static void Menu () {
System.out.print("Bienvenu dans Game of Crown, vous êtes actuellement sur le Menu !");
Interface.start();
System.out.print("Bienvenue dans Game of Crown, vous êtes actuellement sur le Menu !");
}
public static char deplacement() {
Scanner sc = new Scanner(System.in);
System.out.println("Veuillez choisir une direction");
while (!sc.hasNext("[zqsd]")) {
System.out.println("Cette touche n'est pas acceptés, veuillez réessayer");
sc.next();
}
return sc.next().charAt(0);
}
public Joueur Game (Joueur[] joueurs) {
private Joueur Game (Joueur[] joueurs) {
boolean gameEnd = false;
while(gameEnd){
for (Joueur currentPlayer : joueurs) {
......
......@@ -2,6 +2,8 @@ package main;
import java.util.Random;
import events.FortEvent;
public class Region {
public Case[][] region = new Case[5][5];
private Joueur proprietaire = null;
......@@ -27,7 +29,7 @@ public class Region {
}
int rd1 = (int)random.nextInt(5);
int rd2 = (int)random.nextInt(5);
region[rd1][rd2].setEvent(Event.FORT);
region[rd1][rd2].addEvents(new FortEvent());
region[rd1][rd2].setType(Type.FORT);
}
public void setX(int x) {
......
package units;
import main.Case;
import main.Joueur;
import main.Plateau;
......@@ -9,10 +8,10 @@ public class Archer extends Unite{
public static final int ARMOR = 5;
public static final int DAMAGE = 5;
public static final char SYMBOL = 'A';
public static final int VISION = 2;
public Archer(int x, int y, Plateau plateau, Joueur joueur) {
super(x,y, plateau, SYMBOL, ARMOR, DAMAGE, joueur);
super(x,y, plateau, SYMBOL, ARMOR, DAMAGE, joueur, VISION);
}
@Override
......
package units;
import main.Case;
import main.Joueur;
import main.Plateau;
......@@ -9,9 +8,10 @@ public class Chevalier extends Unite {
public static final int ARMOR = 10;
public static final int DAMAGE = 5;
public static final char SYMBOL = 'C';
public static final int VISION = 2;
public Chevalier(int x, int y, Plateau plateau, Joueur joueur) {
super(x,y, plateau, SYMBOL, ARMOR, DAMAGE, joueur);
super(x,y, plateau, SYMBOL, ARMOR, DAMAGE, joueur, VISION);
}
......
package units;
import main.Case;
import main.Joueur;
import main.Plateau;
......@@ -9,9 +8,10 @@ public class Eclaireur extends Unite {
public static final int ARMOR = 1;
public static final int DAMAGE = 0;
public static final char SYMBOL = 'E';
public static final int VISION = 2;
public Eclaireur(int x, int y, Plateau plateau, Joueur joueur) {
super(x,y, plateau, SYMBOL, ARMOR, DAMAGE, joueur);
super(x,y, plateau, SYMBOL, ARMOR, DAMAGE, joueur, VISION);
}
......
......@@ -2,7 +2,6 @@ package units;
import java.util.Scanner;
import main.Case;
import main.Joueur;
import main.Plateau;
......@@ -50,7 +49,7 @@ public class Paysant extends Unite{
sc.close();
return true;
}else {
//TODO:utiliser un systme de vrification d'entre globale
//TODO:utiliser un système de vérification d'entrée globale
System.out.println("ERROR");
}
......@@ -60,7 +59,7 @@ public class Paysant extends Unite{
}
public void combattre() {
//TODO: il faut d'abord regarder si une unit est prsente autour
//TODO: il faut d'abord regarder si une unité est présente autour
}
public void actionGivePA() {
......
package units;
import java.util.Random;
import items.Items;
import main.Case;
import main.Direction;
import main.Event;
import main.Joueur;
import main.Plateau;
import main.Type;
......@@ -31,6 +31,7 @@ public abstract class Unite {
this.x = x;
this.y = y;
this.joueur = joueur;
this.joueur.ajoutUnit(this);
this.item = null;
this.vision = vision;
}
......@@ -115,40 +116,50 @@ public abstract class Unite {
if(x>=0 && x<plateau.getPlateau().length*plateau.getRegion(0, 0).region.length && y>=0 && y<plateau.getPlateau().length*plateau.getRegion(0, 0).region.length ) {
this.plateau.getCase(x, y).setUnite(this);
this.plateau.getCase(x, y).setType(Type.UNITE);
if(this.plateau.getCase(x, y).getEvent() == Event.FORT) {
this.plateau.getRegion(x, y).setProprietaire(joueur);
//this.joueur.getRoyaume().add(this.plateau.getRegion(x, y));
}
return true;
}
return false;
}
//à voir le type
public boolean move(Direction d) {
if(d == Direction.BAS) {
public boolean move(char c) {
/*if(c=='s' && updatePosition(x+1,y))*/
if(c == 's') {
if (plateau.getCase(x+1,y).getUnite() != null || plateau.getCase(x+1, y).getUnite().getJoueur() != this.joueur) {
//combat();
}
if (updatePosition(x+1,y)) {
this.plateau.getCase(x, y).setUnite(null);
this.plateau.getCase(x, y).setType(Type.GRASS);
this.x+=1;
updateDecouverte(this.plateau.getCase(x+1, y), this.vision);
return true;
}
}
else if(d == Direction.DROITE) {
else if(c == 'd') {
if (updatePosition(x,y+1)) {
this.plateau.getCase(x, y).setUnite(null);
this.plateau.getCase(x, y).setType(Type.GRASS);
this.y+=1;
updateDecouverte(this.plateau.getCase(x, y+1), this.vision);
return true;
}
}
else if(d == Direction.GAUCHE) {
else if(c == 'q') {
if (updatePosition(x,y-1)) {
this.plateau.getCase(x, y).setUnite(null);
this.plateau.getCase(x, y).setType(Type.GRASS);
this.y-=1;
updateDecouverte(this.plateau.getCase(x, y-1), this.vision);
return true;
}
}
else if(d == Direction.HAUT) {
else if(c == 'z') {
if (updatePosition(x-1, y)) {
this.plateau.getCase(x, y).setUnite(null);
this.plateau.getCase(x, y).setType(Type.GRASS);
this.x-=1;
updateDecouverte(this.plateau.getCase(x-1, y), this.vision);
return true;
}
......@@ -156,6 +167,22 @@ public abstract class Unite {
return false;
}
public void teleporte() {
Random alea = new Random();
int longueur = plateau.getPlateau().length*plateau.getRegion(0, 0).region.length;
int rd1 = alea.nextInt(longueur);
int rd2 = alea.nextInt(longueur);
while(plateau.getCase(rd1, rd2).getType()!=Type.GRASS) {
rd1 = alea.nextInt(longueur);
rd2 = alea.nextInt(longueur);
}
updatePosition(rd1,rd2);
this.plateau.getCase(x, y).setUnite(null);
this.plateau.getCase(x, y).setType(Type.GRASS);
this.x=rd1;
this.y=rd2;
}
public void updateDecouverte (Case emplacement, int vision) {
if (vision > -1) {
if (emplacement.getX() < 29) {
......@@ -184,7 +211,6 @@ public abstract class Unite {
}
}
}
public abstract String toString();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment