ajout des cartes sur le servuer + phase principale codé mais pas testé

This commit is contained in:
marc barbier
2020-12-12 14:47:42 +01:00
parent 72f481a4a5
commit 8d1f024e41
203 changed files with 3988 additions and 137 deletions
+34 -12
View File
@@ -6,9 +6,11 @@ import java.net.Socket;
public class Match extends Thread {
Joueur joueur1, joueur2;
int tour = 1;
private Board board;
public Match(Socket j1, Socket j2) throws IOException {
super();
this.board=new Board();
// random j2/j1
if (Math.random() > 0.5F) {
joueur1 = new Joueur(j1);
@@ -29,26 +31,45 @@ public class Match extends Thread {
// gameplay
@Override
public void run() {
while (joueur1.PV != 0 || joueur2.PV != 0) {
while (joueur1.isAlive() && joueur2.isAlive()) {
try {
tour(joueur1);
tour(joueur2);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
endGameAfterIssue();
}
}
try {
endMatch();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
endGameAfterIssue();
}
}
private void endGameAfterIssue() {
if(PlayerTesteur.playerTest(joueur1.getConnection()))
{
try {
joueur1.win();
} catch (IOException e) {
e.printStackTrace();
}
}
if(PlayerTesteur.playerTest(joueur2.getConnection()))
{
try {
joueur2.win();
} catch (IOException e) {
e.printStackTrace();
}
}
joueur1.setPV(0);
joueur2.setPV(0);
}
//annonce du vainqueur et du perdant
private void endMatch() throws IOException {
if(joueur1.PV == 0) {
if(joueur1.isDead()) {
joueur2.win();
joueur1.lose();
}else {
@@ -59,13 +80,14 @@ public class Match extends Thread {
//enchainement d'action que fait un joueur durant son tour
private void tour(Joueur joueur) throws IOException {
joueur1.coms.send("pupup");
joueur1.coms.send("tour : " + tour);
joueur2.coms.send("pupup");
joueur2.coms.send("tour : " + tour);
//on affiche le message du debut de tour enemie
Joueur enemy = joueur.equals(joueur1) ? joueur2 : joueur1;
enemy.debutTourEnemie();
joueur.draw(1); //pioche 1 carte
joueur.standyPhase(); //Activation des effets avant que le tour du @joueur commence
joueur.mainPhase1(); //Joue autant de carte qu'il veut/peut
joueur.mainPhase1(enemy,board); //Joue autant de carte qu'il veut/peut
battlePhase(joueur);//lance des attaques à son adversaire qui peut répliquer
joueur.mainPhase2();//Nouvelle phase ou le @joueur peut jouer ses cartes si il veut/peut
joueur.endPhase();//fin du tour du @joueur