Commit d41f41d3 authored by Alexandre DESMONTILS's avatar Alexandre DESMONTILS
Browse files

ajout de mthode dans les thrift

parent c5b9f5f0
......@@ -7,6 +7,8 @@ service PlayerService {
void startGame(i32 gameId)
void yourRole(string role)
void recupLieuxFromDefausse()
void askCardSurvie()
......
......@@ -3,9 +3,18 @@ import { IHandler } from '../codegen/common/PlayerService';
export class PlayerService implements IHandler<any> {
// Traque traque = new Traque()
// Creature crea = new Creature()
private gameProxy: GameProxy;
constructor() {
gameProxy = new GameProxy()
}
//methode de player
startGame(gameId: number): void {
console.log('Start game', gameId);
}
yourRole(role: string): void {}
//methodes des traqués
recupLieuxFromDefausse(): void {
}
askCardSurvie(): void {}
......@@ -15,6 +24,8 @@ export class PlayerService implements IHandler<any> {
recupLieuFromDefausse(cartes: Array<number>): void {}
lacherPrise(gameId: number): void {}
resister(gameId: number, cartes: Array<number>): void {}
//methodes de la créature
troisCartes(): void {}
placerArtemia(gameId: number, lieu: number): void {}
placerCreature(gameId: number, lieu: number ): void {}
......
......@@ -16,11 +16,6 @@ import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.atomic.AtomicInteger;
class joueurLieux{
int id;
Lieu lieux;
}
//creer un serveur avec create game
public class Game{
/**
......@@ -33,13 +28,20 @@ public class Game{
*/
private final AtomicInteger idCounter = new AtomicInteger(0);
private Hashtable<Integer, String> rolesAsked;
private final AtomicInteger expectedPlayers;
//position du pion assimilation sur le plateau
private int assimilation;
//position du pion secours sur le plateau
private int secours;
//lieux sur lesquels on pose le jeton créature lors de la phase 2
private List<Lieu> creature;
//idem qu'au dessus
private List<Lieu> artemia;
//idem
private List<Lieu> cible;
//sauvegarde des lieux joués par les joueurs
private Hashtable<Integer, Lieu> lieux;
private Hashtable<Integer, CarteSurvie> cartesSurvies;
private List<CarteTraque> cartesTraques;
......@@ -51,15 +53,37 @@ public class Game{
public Game(int expectedPlayers) {
this.expectedPlayers = new AtomicInteger(expectedPlayers);
this.requests = new ArrayBlockingQueue<GameJoinRequest>(expectedPlayers);
this.secours = 0;
this.assimilation = 0;
//pour poser le jeton créature, cible et artemia sur des lieux adjacents
this.creature = new ArrayList<Lieu>();
this.artemia = new ArrayList<Lieu>();
this.cible = new ArrayList<Lieu>();
//stocker les lieux joués par les joueurs
this.lieux = new Hashtable<Integer, Lieu>();
//stocker les cartes survies jouées pour chaque joueur
this.cartesSurvies = new Hashtable<Integer, CarteSurvie>();
//stocker les cartes traques jouées par la créature
this.cartesTraques = new ArrayList<CarteTraque>();
//liste des joueurs
this.players = new ArrayList<>();
this.rolesAsked = new Hashtable<>();
if (expectedPlayers == 7) this.secours = 18;
if (expectedPlayers == 6) this.secours = 17;
if (expectedPlayers == 5) this.secours = 16;
if (expectedPlayers == 4) this.secours = 15;
if (expectedPlayers == 3) this.secours = 14;
if (expectedPlayers == 2) this.secours = 13;
if (expectedPlayers == 7) this.assimilation = 12;
if (expectedPlayers == 6) this.assimilation = 11;
if (expectedPlayers == 5) this.assimilation = 10;
if (expectedPlayers == 4) this.assimilation = 9;
if (expectedPlayers == 3) this.assimilation = 8;
if (expectedPlayers == 2) this.assimilation = 7;
play = new Thread(() -> this.start());
play.start();
}
......@@ -102,13 +126,12 @@ public class Game{
}
public void avancerAssimilation() {
this.assimilation++;
this.assimilation--;
}
public void avancerSecours() {
this.secours++;
this.secours--;
}
public void placerCreature(List<Lieu> lieux) {
......@@ -148,9 +171,9 @@ public class Game{
}
public boolean wantRole(int id,String role) {
public synchronized boolean wantRole(int id,String role) {
return true;
return rolesAsked.put(id, role) == role;
}
......
package fr.univnantes.alma.player;
import java.util.List;
public interface Creature {
void troisCartes();
void placerArtemia(int gameId, int lieu);
void placerCreature(int gameId, int lieu);
void placerCible(int gameId, List<Integer> lieux);
void askCarteTraque(int gameId, String carte);
}
......@@ -9,29 +9,7 @@ public interface PlayerInterface {
void startGame(int gameId);
void recupLieuxFromDefausse();
void yourRole(String role);
void askCardSurvie();
void askCardLieux();
List<Lieu> getLieuxDefausse();
void perdrePionsVolonte(int nbPerdus);
void recupLieuFromDefausse(List<Integer> cartes);
void lacherPrise(int gameId);
void resister(int gameId, List<Integer> cartes);
void troisCartes();
void placerArtemia(int gameId, int lieu);
void placerCreature(int gameId, int lieu);
void placerCible(int gameId, List<Integer> lieux);
void askCarteTraque(int gameId, String carte);
}
......@@ -16,7 +16,7 @@ import java.util.List;
//JOUEUR !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//appel des mehtodes du joueur dessus
public class PlayerProxy implements PlayerInterface {
public class PlayerProxy implements PlayerInterface, Creature, Traque {
private Client client;
......@@ -36,6 +36,11 @@ public class PlayerProxy implements PlayerInterface {
}
}
@Override
public void yourRole(String role) {
}
@Override
public void recupLieuxFromDefausse() {
try {
......
package fr.univnantes.alma.player;
import fr.univnantes.alma.carte.lieux.Lieu;
import java.util.List;
public interface Traque {
void recupLieuxFromDefausse();
void askCardSurvie();
void askCardLieux();
List<Lieu> getLieuxDefausse();
void perdrePionsVolonte(int nbPerdus);
void recupLieuFromDefausse(List<Integer> cartes);
void lacherPrise(int gameId);
void resister(int gameId, List<Integer> cartes);
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment