first delivery

This commit is contained in:
Quentin Legot 2021-12-09 21:36:20 +01:00
parent a4e1831052
commit 063d57961b
271 changed files with 28073 additions and 0 deletions

44
livraison/README.txt Normal file
View File

@ -0,0 +1,44 @@
" Projet de Conception Logiciel conçu par :
LUCAS Valentin
LEGOT Quentin
NEVEU Thomas
# Attention
Ce projet utilise la possibilité de séparé son projet en plusieurs modules en avec Gradle ainsi la disposition des dossiers demandé pour le rendu n'a pas pu être respecté
afin que le programme fonctionne.
# Dépendances
Le projet nécessite le ressources suivante pour fonctionner:
- Java 17 (téléchargeable depuis apt sur Debian 11 ou en téléchargeant sur Oracle ou openJDK)
- Gradle 7.3 ou supérieur (téléchargeable depuis https://gradle.org/releases/ puis en suivez les indications données sur cette page: https://docs.gradle.org/7.3.1/userguide/installation.html#installing_manually )
Accédez ensuite à la racine du projet (dossier livraison/ normalement ou du moins le dossier contenant le fichier settings.gradle) pour pouvoir execute le programme
# Les commandes
- `gradle :client:run --args="[ARGUMENTS]"` permet de lancer le jeu avec les arguments suivant la logique suivant
- le premier argument concerne le type de vue, indiquer `terminal` pour jouer en mode terminal ou `window` pour jouer en mode fenêtre avec JavaFX
- les arguments suivants concernent les joueurs, ils suivent une forme "<type du joueur> [classe du joueur]"
- `type du joueur` pour indiquer si le joueur est:
- `human` pour indiquer un joueur humain utilisant le clavier ou la souris
- `computer` indiquant un joueur ordinateur jouant des coups aléatoire
- `computerS` indiquant un joueur ordinateur semi-aléatoire
- `classe du joueur` est un paramètre facultatif correspond à:
- `tank` indiquant que le joueur est de type tank et qu'il subit moins de dégâts des explosions que les autres ses coups en energies pour faire des actions sont plus élevés
- `dps` ou `default` et un joueur standard, infligeant le plus de dégâts d'attaque et ayant un coup de déplacement équilibré, c'est la valeur par défaut si la classe de ce joueur n'est pas donné
- `support` est un joueur basé sur la pose d'explosif, n'allant que peu au combat direct, ses coups de déplacement sont standard mais ses coups en energies de pose de mine ou de bombes sont les plus faibles.
- Un exemple de ce que cela peux donner est: `window computer default human support computerS dps human tank`
- ici On joue en vue fenêtre avec 4 joueurs:
- computer de classe default (ou dps)
- human de classe support
- computerS de classe dps (ou default)
- human de classe tank
- `gradle build` permet de compiler, exécuter les tests et archiver les classes dans un fichier `.jar` pour chaque module (client et server)
- `gradle javadoc` pour générer la javadoc, une javadoc est générer par projet (soit 2 javadocs), nous vous mettons à disposition dans le dossier livraison un dossier javadoc pour faciliter la navigation
- Si vous voulez naviguer dans la nouvelle javadoc que vous aurez générer, vous pouvez y accéder en allant dans livraison/MODULE/build/doc/javadoc
- les modules étant `client` et `server`
- `gradle test` pour exécuter les tests unitaires

8
livraison/build.gradle Normal file
View File

@ -0,0 +1,8 @@
subprojects {
apply plugin: 'java'
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
javadoc {
options.memberLevel = JavadocMemberLevel.PRIVATE
}
}

View File

@ -0,0 +1,13 @@
/*
* This file was generated by the Gradle 'init' task.
*/
plugins {
// Support convention plugins written in Groovy. Convention plugins are build scripts in 'src/main' that automatically become available as plugins in the main build.
id 'groovy-gradle-plugin'
}
repositories {
// Use the plugin portal to apply community plugins in convention plugins.
gradlePluginPortal()
}

View File

@ -0,0 +1,11 @@
/*
* This file was generated by the Gradle 'init' task.
*/
plugins {
// Apply the common convention plugin for shared build configuration between library and application projects.
id 'fr.lnl.game.java-common-conventions'
// Apply the application plugin to add support for building a CLI application in Java.
id 'application'
}

View File

@ -0,0 +1,31 @@
/*
* This file was generated by the Gradle 'init' task.
*/
plugins {
// Apply the java Plugin to add support for Java.
id 'java'
}
repositories {
// Use Maven Central for resolving dependencies.
mavenCentral()
}
dependencies {
constraints {
// Define dependency versions as constraints
implementation 'org.apache.commons:commons-text:1.9'
}
// Use JUnit Jupiter API for testing.
testImplementation 'org.junit.jupiter:junit-jupiter-api:5.7.1'
// Use JUnit Jupiter Engine for testing.
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
}
tasks.named('test') {
// Use junit platform for unit tests.
useJUnitPlatform()
}

View File

@ -0,0 +1,11 @@
/*
* This file was generated by the Gradle 'init' task.
*/
plugins {
// Apply the common convention plugin for shared build configuration between library and application projects.
id 'fr.lnl.game.java-common-conventions'
// Apply the java-library plugin for API and implementation separation.
id 'java-library'
}

View File

@ -0,0 +1,33 @@
/*
* This file was generated by the Gradle 'init' task.
*/
plugins {
id 'application'
id 'fr.lnl.game.java-application-conventions'
id 'org.openjfx.javafxplugin' version '0.0.10'
id 'org.javamodularity.moduleplugin' version '1.8.10' apply false
}
repositories {
mavenCentral()
}
dependencies {
implementation project(':server')
}
javafx {
version = JavaVersion.VERSION_17
modules = [ 'javafx.controls', 'javafx.graphics' ]
}
application {
// Define the main class for the application.
mainClassName = 'fr.lnl.game.client.App'
mainModule = "client"
}
run {
standardInput = System.in
}

View File

@ -0,0 +1,203 @@
package fr.lnl.game.client;
import fr.lnl.game.client.view.AbstractView;
import fr.lnl.game.client.view.Terminal;
import fr.lnl.game.client.view.ViewManager;
import fr.lnl.game.client.view.Window;
import fr.lnl.game.server.games.Game;
import fr.lnl.game.server.games.grid.build.GridFactoryBuilder;
import fr.lnl.game.server.games.grid.build.LockGridFactoryBuilder;
import fr.lnl.game.server.games.player.*;
import fr.lnl.game.server.utils.CrashException;
import fr.lnl.game.server.utils.Point;
import javafx.application.Application;
import javafx.stage.Stage;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.LinkedList;
import java.util.List;
/**
* Application starting point
*/
public class App extends Application {
private static LinkedList<String> argsList;
private static Game game;
private static ViewManager viewManager;
public static void main(String[] args) {
try {
argsList = new LinkedList<>(Arrays.asList(args));
argsList.removeIf(s -> s.startsWith("-D") || s.equals("fr.lnl.game.client.App")); // remove given parameters from gradle
Class<? extends AbstractView> clazz;
try {
clazz = parseView();
} catch (IllegalArgumentException e) {
throw new CrashException(e.getMessage(), e);
}
if(clazz.equals(Terminal.class)) {
launchTerminal();
} else {
launch();
}
} catch(CrashException e) {
System.err.println("Une erreur est survenue et l'application a été obligé de fermer");
System.err.println(e.getCause().toString());
for (StackTraceElement element : e.getStackTrace()) {
System.err.println(" at " + element.toString());
}
System.exit(1);
}
}
/**
* Parse players arguments and create a new instance of Game
* @throws IllegalArgumentException when given argument is unknown
* @throws InvocationTargetException when the creation of the player throw an exception
* @throws NoSuchMethodException when constructor with given parameter in {@link Class#getConstructor(Class[])}
* doesn't exist
* @throws InstantiationException when the instanciation of the player is impossible (like when class is abstract),
* is probably never called
* @throws IllegalAccessException when the instanciation of thr player is impossible (like a private constructor),
* is probably never called
*/
public static void startGame() throws IllegalArgumentException, InvocationTargetException, NoSuchMethodException,
InstantiationException, IllegalAccessException {
List<Player> players = parsePlayers();
GridFactoryBuilder builder = LockGridFactoryBuilder.create().energyProbability(0.95F).wallProbability(0.80F).gridDimensions(12, 12);
game = new Game(builder, players);
}
@Override
public void start(Stage stage) {
try {
startGame();
} catch (IllegalArgumentException | InvocationTargetException | NoSuchMethodException | InstantiationException
| IllegalAccessException e) {
throw new CrashException(e.getMessage(), e);
}
viewManager = new ViewManager(game, Window.class, player -> new Window(stage, game, player));
viewManager.run();
}
public static void launchTerminal() {
try {
startGame();
} catch (IllegalArgumentException | InvocationTargetException | NoSuchMethodException | InstantiationException
| IllegalAccessException e) {
throw new CrashException(e.getMessage(), e);
}
viewManager = new ViewManager(game, Terminal.class, player -> new Terminal(game, player));
viewManager.run();
}
/**
* Parse players arguments and create instances for each player
* @throws IllegalArgumentException when given argument is unknown
* @throws InvocationTargetException when the creation of the player throw an exception
* @throws NoSuchMethodException when constructor with given parameter in {@link Class#getConstructor(Class[])}
* doesn't exist
* @throws InstantiationException when the instanciation of the player is impossible (like when class is abstract),
* is probably never called
* @throws IllegalAccessException when the instanciation of thr player is impossible (like a private constructor),
* is probably never called
*/
public static List<Player> parsePlayers() throws IllegalArgumentException, NoSuchMethodException,
InvocationTargetException, InstantiationException, IllegalAccessException {
List<Player> playerList = new ArrayList<>();
Class<? extends AbstractPlayer> playerClass = null;
ClassPlayer classPlayer = null;
for(String str : argsList) {
switch (str) {
case "human" -> {
if(playerClass != null) {
playerList.add(createNewPlayer(playerClass,
classPlayer != null ? classPlayer : ClassPlayer.DEFAULT, playerList.size())
);
classPlayer = null;
}
playerClass = HumanPlayer.class;
}
case "computer" -> {
if(playerClass != null) {
playerList.add(createNewPlayer(playerClass,
classPlayer != null ? classPlayer : ClassPlayer.DEFAULT, playerList.size())
);
classPlayer = null;
}
playerClass = RandomComputerPlayer.class;
}
case "computerS" -> {
if(playerClass != null) {
playerList.add(createNewPlayer(playerClass,
classPlayer != null ? classPlayer : ClassPlayer.DEFAULT, playerList.size())
);
classPlayer = null;
}
playerClass = StrategyComputerPlayer.class;
}
case "default" -> classPlayer = ClassPlayer.DEFAULT;
case "tank" -> classPlayer = ClassPlayer.TANK;
case "dps" -> classPlayer = ClassPlayer.DPS;
case "support" -> classPlayer = ClassPlayer.SUPPORT;
default -> throw new IllegalArgumentException("Unknown argument: " + str);
}
}
if(playerClass != null)
playerList.add(createNewPlayer(playerClass,
classPlayer != null ? classPlayer : ClassPlayer.DEFAULT, playerList.size())
);
return playerList;
}
/**
* create a new instance of the player
* @throws IllegalArgumentException when given argument is unknown (probably never called in production)
* @throws InvocationTargetException when the creation of the player throw an exception
* @throws NoSuchMethodException when constructor with given parameter in {@link Class#getConstructor(Class[])}
* doesn't exist
* @throws InstantiationException when the instanciation of the player is impossible (like when class is abstract),
* is probably never called
* @throws IllegalAccessException when the instanciation of thr player is impossible (like a private constructor),
* is probably never called
*/
private static Player createNewPlayer(Class<? extends AbstractPlayer> playerClass, ClassPlayer playerType,
int playerListSize) throws NoSuchMethodException, InvocationTargetException,
InstantiationException, IllegalAccessException {
return playerClass.getConstructor(Integer.class, Point.class, ClassPlayer.class)
.newInstance(playerListSize, null, playerType);
}
/**
* Parse the first argument given by user to know the view to use (Terminal or Window)
* @return The class of the View to use
* @throws IllegalArgumentException when given argument is unknown or no argument is given by user
*/
public static Class<? extends AbstractView> parseView() throws IllegalArgumentException {
Class<? extends AbstractView> clazz;
if(!argsList.isEmpty()) {
if(argsList.get(0).equals("terminal")) {
clazz = Terminal.class;
} else if(argsList.get(0).equals("window")){
clazz = Window.class;
} else {
throw new IllegalArgumentException("Unknown argument: " + argsList.get(0));
}
argsList.removeFirst();
} else {
throw new IllegalArgumentException("No argument given");
}
return clazz;
}
public static ViewManager getViewManager() {
return viewManager;
}
public static Game getGame() {
return game;
}
}

View File

@ -0,0 +1,18 @@
package fr.lnl.game.client;
import fr.lnl.game.client.view.View;
import fr.lnl.game.server.games.player.Player;
/**
* Store a view per player
*/
public record ClientPlayer(Player serverPlayer, View view) {
public Player getServerPlayer() {
return serverPlayer;
}
public View getView() {
return view;
}
}

View File

@ -0,0 +1,19 @@
package fr.lnl.game.client;
import fr.lnl.game.client.view.View;
import fr.lnl.game.server.games.player.Player;
/**
* Used as Lambda expression to instantiate a {@link View} per {@link Player} stored in {@link ClientPlayer}
*/
@FunctionalInterface
public interface ViewLambda {
/**
* A lambda create an anonymous class which implements this interface
* @param player an instance of {@link Player} to store in {@link View}
* @return an instance of view (depending on the first argument when launching the program)
*/
View createViewLambda(Player player);
}

View File

@ -0,0 +1,20 @@
package fr.lnl.game.client.listener;
import fr.lnl.game.server.listener.ModelListener;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
/**
* implementation of a listener from JavaFX {@link EventHandler}
*/
public record ClientEventHandler(ModelListener listener) implements EventHandler<ActionEvent> {
/**
* This method is call by JavaFX when we click to the button
* @param event event class created when clicking on the element
*/
@Override
public void handle(ActionEvent event) {
listener.updateModel(event);
}
}

View File

@ -0,0 +1,21 @@
package fr.lnl.game.client.listener;
import fr.lnl.game.client.App;
import fr.lnl.game.server.games.player.Player;
import fr.lnl.game.server.listener.AbstractModelListening;
/**
* Used to display the winner of the game
*/
public class DisplayWinnerEvent extends AbstractModelListening {
/**
* This method is call when the game is over
* @param obj contains the winner of the game, can be null
*/
@Override
public void updateModel(Object obj) {
Player winner = (Player) obj;
App.getViewManager().displayWinner(winner);
}
}

View File

@ -0,0 +1,40 @@
package fr.lnl.game.client.listener;
import fr.lnl.game.client.App;
import fr.lnl.game.server.games.Game;
import fr.lnl.game.server.listener.AbstractModelListening;
/**
* This method is call when the current player have selected an action to play (or if it's a computer player, will
* select it), then we call {@link Game#play()} and we update the view
*/
public class NextPlayerButtonListener extends AbstractModelListening {
private final Game game;
private final DisplayWinnerEvent displayWinnerEvent;
public NextPlayerButtonListener(Game game) {
this.game = game;
this.displayWinnerEvent = new DisplayWinnerEvent();
}
/**
* Call when clicking on "SUIVANT" button if current player is a computer player or after the human player selected
* action it want to play
*/
@Override
public void updateModel(Object event) {
// Player player = game.getCurrentPlayer();
boolean isOver = game.play();
/* Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Un joueur ordinateur a joué");
alert.setHeaderText("Le joueur ordinateur numéro" + player.getId() + " a joué");
alert.setContentText("Il a joué l'action: " + game.getSelectedAction()); */
App.getViewManager().updateView();
if(isOver) {
displayWinnerEvent.updateModel(game.getWinner());
System.exit(0);
}
//alert.showAndWait();
}
}

View File

@ -0,0 +1,38 @@
package fr.lnl.game.client.listener;
import fr.lnl.game.client.App;
import fr.lnl.game.client.view.Window;
import fr.lnl.game.server.games.Game;
import fr.lnl.game.server.games.action.ReunionSameAction;
import fr.lnl.game.server.listener.AbstractModelListening;
/**
* Used when the human player select type of action it want to play
*/
public class SelectActionButton extends AbstractModelListening {
private final Window window;
private final ReunionSameAction reunionSameAction;
private final Game game;
public SelectActionButton(Game game, Window window, ReunionSameAction reunionSameAction) {
this.game = game;
this.window = window;
this.reunionSameAction = reunionSameAction;
}
/**
* This method is call when the player select the type of action it want to play
* @param obj contain information about the event like the button where the player clicked
*/
@Override
public void updateModel(Object obj) {
if(reunionSameAction.getActions().size() == 1){
game.setSelectedAction(reunionSameAction.getActions().get(0));
window.getNextPlayerButtonListener().updateModel(obj);
} else {
window.setSelectedReunionAction(reunionSameAction);
App.getViewManager().updateView(); // update screen
}
}
}

View File

@ -0,0 +1,34 @@
package fr.lnl.game.client.listener;
import fr.lnl.game.client.view.Window;
import fr.lnl.game.server.games.Game;
import fr.lnl.game.server.games.action.Action;
import fr.lnl.game.server.listener.AbstractModelListening;
/**
* Call when the player selected the direction where it wants to play it
*/
public class SelectDirectionListener extends AbstractModelListening {
private final Game game;
private final Action action;
private final Window window;
public SelectDirectionListener(Game game, Window window, Action action) {
this.game = game;
this.window = window;
this.action = action;
}
/**
* This method is call when the player click on the button to select the direction of the previously selected action
* @param obj contain information about the event like the button where the player clicked
*/
@Override
public void updateModel(Object obj) {
game.setSelectedAction(action);
window.setSelectedReunionAction(null);
window.getNextPlayerButtonListener().updateModel(obj);
}
}

View File

@ -0,0 +1,4 @@
/**
* Package that contains every view listeners
*/
package fr.lnl.game.client.listener;

View File

@ -0,0 +1,4 @@
/**
* Client package
*/
package fr.lnl.game.client;

View File

@ -0,0 +1,18 @@
package fr.lnl.game.client.view;
import fr.lnl.game.server.games.Game;
import fr.lnl.game.server.games.player.Player;
/**
* Abstract class implemented by every view classes
*/
public abstract class AbstractView implements View {
protected final Player player;
protected Game game;
public AbstractView(Game game, Player player) {
this.game = game;
this.player = player;
}
}

View File

@ -0,0 +1,89 @@
package fr.lnl.game.client.view;
import fr.lnl.game.server.games.Game;
import fr.lnl.game.server.games.action.Shot;
import fr.lnl.game.server.games.grid.elements.Bomb;
import fr.lnl.game.server.games.grid.elements.EnergyBall;
import fr.lnl.game.server.games.grid.elements.Mine;
import fr.lnl.game.server.games.grid.elements.Wall;
import fr.lnl.game.server.games.player.Player;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
/**
* classe qui a pour but de générer chaque case de la grid et de vérifier les entités présentes dessus
* (Mur, Joueur, Energie, Bombe, etc.)
*/
public class Cell extends Rectangle {
//Images libres de droit :
//https://www.minecraftforum.net/forums/mapping-and-modding-java-edition/resource-packs/1242533-pixel-perfection-now-with-polar-bears-1-11
//https://www.stocklib.fr/media-134367689/pixel-game-icons-vector-isolated-bombs-with-fire-graphics-of-retro-gaming-flat-style-of-weapon-with-flames-destruction-and-danger-explosive-substance.html?keyword=bomb%20pixel
private static final Image PLAYER_IMAGE = new Image("player.png");
private static final Image PLAYER_SHIELD_IMAGE = new Image("player_shield.png");
private static final Image PLAYER_SHOT_IMAGE = new Image("player_shot.png");
private static final Image ENERGY_BALL_IMAGE = new Image("energyBall.png");
private static final Image BOMB_IMAGE = new Image("bomb.png");
private static final Image MINE_IMAGE = new Image("mine.png");
private static final Image WALL_IMAGE = new Image("wall.png");
private static final Image BACKGROUND_IMAGE = new Image("background.png");
private static final BackgroundImage BG = new BackgroundImage(BACKGROUND_IMAGE,BackgroundRepeat.NO_REPEAT,BackgroundRepeat.NO_REPEAT,BackgroundPosition.DEFAULT,
BackgroundSize.DEFAULT);
public Cell(int x, int y){
setWidth(Window.cellSize);
setHeight(Window.cellSize);
relocate(x * Window.cellSize,y * Window.cellSize);
setFill(Color.WHITE);
setStroke(Color.DARKGRAY);
}
/**
* @param object the object we'll define the type
* @return a pane which contains an image depending on the type of the object
*/
public static StackPane setImageObject(Object object, Game game){
StackPane sp = new StackPane();
Image in;
BackgroundImage bg = BG;
if(object instanceof Player){
if(object.equals(game.getCurrentPlayer()) && game.getSelectedAction() instanceof Shot){
in = PLAYER_SHOT_IMAGE;
}
else if(((Player) object).isShieldDeploy()){
in = PLAYER_SHIELD_IMAGE;
}
else{
in = PLAYER_IMAGE;
}
} else if(object instanceof EnergyBall){
in = ENERGY_BALL_IMAGE;
} else if(object instanceof Bomb){
in = BOMB_IMAGE;
} else if(object instanceof Mine){
in = MINE_IMAGE;
}
else if(object instanceof Wall){
in = WALL_IMAGE;
bg = null;
}
else{
in = null;
}
ImageView iv = new ImageView(in);
iv.setFitHeight(Window.cellSize);
iv.setFitWidth(Window.cellSize);
sp.getChildren().add(iv);
sp.setBackground(new Background(bg));
return sp;
}
public static Image getPlayerImage() {
return PLAYER_IMAGE;
}
}

View File

@ -0,0 +1,113 @@
package fr.lnl.game.client.view;
import fr.lnl.game.server.games.Game;
import fr.lnl.game.server.games.action.*;
import fr.lnl.game.server.games.player.Player;
import fr.lnl.game.server.utils.Maths;
import java.util.List;
import java.util.Scanner;
/**
* View terminal, use standard input and output
*/
public class Terminal extends AbstractView {
/**
* Standard input
*/
public static Scanner scanner;
public Terminal(Game game, Player player) {
super(game, player);
}
/**
* Used to update view
*/
public void show() {
System.out.println(game.getGrid().privateView(player));
}
/**
* Used to display the winner of the game
* @param winner the player who win the game, can be Null
*/
@Override
public void displayWinner(Player winner) {
System.out.println("\n\033[0;31m====== FIN DU JEU ======\033[0m");
System.out.println(game.getGrid().toString());
if(winner == null) {
System.out.println("\n\033[0;Partie nulle, personne n'a gagné la partie\033[0m");
} else {
System.out.println("\n\033[0;33mVictoire de " + winner + " " + winner.getId() + "\033[0m");
}
}
/**
* Used when current player is an instance of {@link fr.lnl.game.server.games.player.HumanPlayer} and demand to it
* an action to do
* @return chosen action
* @see Terminal#choseReunionSameAction(List)
*/
public Action choseAction() {
List<ReunionSameAction> actions = player.generateAvailableActions();
List<Action> listActions = choseReunionSameAction(actions).getActions();
Action action = null;
String error = "Veuillez renseigner une valeur numérique comprise entre 1 et " + listActions.size();
do {
if(listActions.size() == 1){
return listActions.get(0);
}
System.out.println("Choisissez la cible :");
for (int i = 0; i < listActions.size(); i++) {
Action a = listActions.get(i);
if(a instanceof Move m){
System.out.println(i + 1 + " : " + m.getDirection());
}
else if(a instanceof DropObject o){
System.out.println(i + 1 + " : " + o.getDirection());
}
else if(a instanceof Shot s){
System.out.println(i + 1 + " : " + s.getPoint());
}
else{
System.out.println(i + 1 + " : " + a.getClass().getSimpleName());
}
}
String entry = scanner.next();
int value = Maths.testInteger(entry, scanner, error);
if (value >= 1 && value <= listActions.size()) {
action = listActions.get(value - 1);
}
} while (action == null);
return action;
}
/**
* Used when current player is an instance of {@link fr.lnl.game.server.games.player.HumanPlayer} and demand to it
* a type of action to do
* @param actions the list of actions possible
* @return the type of action to execute
* @see Terminal#choseAction()
*/
private ReunionSameAction choseReunionSameAction(List<ReunionSameAction> actions) {
ReunionSameAction reunion = null;
String error = "Veuillez renseigner une valeur numérique comprise entre 1 et " + actions.size();
Scanner scanner = new Scanner(System.in);
do {
System.out.println("Choisissez une action :");
for (int i = 0; i < actions.size(); i++) {
System.out.println(i + 1 + " : " + actions.get(i).getActionName());
}
String entry = scanner.next();
int value = Maths.testInteger(entry, scanner, error);
if (value >= 1 && value <= actions.size()) {
reunion = actions.get(value - 1);
}
}while (reunion == null) ;
return reunion;
}
}

View File

@ -0,0 +1,20 @@
package fr.lnl.game.client.view;
import fr.lnl.game.server.games.player.Player;
/**
* View interface, implemented by Terminal and Window.
*/
public interface View {
/**
* used to update screen
*/
void show();
/**
* Used to display the name of the winner
* @param winner the player who win the game, can be Null
*/
void displayWinner(/* Nullable */ Player winner);
}

View File

@ -0,0 +1,81 @@
package fr.lnl.game.client.view;
import fr.lnl.game.client.ClientPlayer;
import fr.lnl.game.client.ViewLambda;
import fr.lnl.game.client.listener.DisplayWinnerEvent;
import fr.lnl.game.server.games.Game;
import fr.lnl.game.server.games.player.HumanPlayer;
import fr.lnl.game.server.games.player.Player;
import java.util.HashMap;
import java.util.Scanner;
/**
* View manager, main access to every views
*/
public final class ViewManager {
private final Game game;
private final Class<? extends View> viewType;
public HashMap<Player, ClientPlayer> players = new HashMap<>();
public ViewManager(Game game, Class<? extends View> viewType, ViewLambda lambda) {
this.game = game;
this.viewType = viewType;
for (Player player : game.getPlayers()) {
players.put(player, new ClientPlayer(player, lambda.createViewLambda(player)));
}
}
/**
* Call when we need to change or update view
*/
public void updateView() {
players.get(game.getCurrentPlayer()).getView().show();
}
/**
* This method is call when the view is a terminal
*/
public void terminalView() {
Terminal.scanner = new Scanner(System.in);
DisplayWinnerEvent displayWinnerEvent = new DisplayWinnerEvent();
while (true) {
Player player = game.getCurrentPlayer();
System.out.println("\n\033[0;34m====== Tour n°" + game.getNbrTurn() + " =======\033[0m");
System.out.println("\nA \033[0;31m" + player + " " + player.getId() + "\033[0m de jouer");
players.get(game.getCurrentPlayer()).getView().show();
if (game.getCurrentPlayer() instanceof HumanPlayer human) {
game.setSelectedAction(((Terminal) players.get(human).getView()).choseAction());
}
boolean isOver = game.play();
System.out.println("\n\033[0;31m" + player + " " + player.getId() + "\033[0m utilise l'action \033[0;36m" +
game.getSelectedAction().getClass().getSimpleName() + "\033[0m");
if (isOver) {
displayWinnerEvent.updateModel(game.getWinner());
Terminal.scanner.close();
System.exit(0);
}
}
}
/**
* This method is call when the game is finish
* @param winner The winner of the game, can be null
*/
public void displayWinner(Player winner) {
players.get(game.getCurrentPlayer()).getView().displayWinner(winner);
}
/**
* This method is call after initialized view manager to display a first screen
*/
public void run() {
if (viewType == Terminal.class) {
terminalView();
} else {
updateView();
}
}
}

View File

@ -0,0 +1,302 @@
package fr.lnl.game.client.view;
import fr.lnl.game.client.App;
import fr.lnl.game.client.listener.ClientEventHandler;
import fr.lnl.game.client.listener.NextPlayerButtonListener;
import fr.lnl.game.client.listener.SelectActionButton;
import fr.lnl.game.client.listener.SelectDirectionListener;
import fr.lnl.game.server.games.Game;
import fr.lnl.game.server.games.action.*;
import fr.lnl.game.server.games.grid.Grid;
import fr.lnl.game.server.games.grid.elements.Box;
import fr.lnl.game.server.games.grid.elements.EnergyBall;
import fr.lnl.game.server.games.grid.elements.Explosive;
import fr.lnl.game.server.games.grid.elements.Wall;
import fr.lnl.game.server.games.player.HumanPlayer;
import fr.lnl.game.server.games.player.Player;
import fr.lnl.game.server.utils.Pair;
import fr.lnl.game.server.utils.Point;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.layout.*;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Text;
import javafx.stage.Stage;
import java.util.List;
/**
* Window view, use mouse and keyboard to control interface
*/
public class Window extends AbstractView {
// il faut pouvoir trouver une formule responsive avec width et height
public static final int cellSize = 40;
public static final int width = 500;
public static final int height = 160;
private static final Color dark = Color.valueOf("1F1F1F");
private static final Background bg = new Background(new BackgroundFill(dark, CornerRadii.EMPTY, Insets.EMPTY));
private final Stage stage;
private Pane buttonPane;
private ReunionSameAction selectedReunionAction = null;
private final NextPlayerButtonListener nextPlayerButtonListener = new NextPlayerButtonListener(game);
public Window(Stage stage, Game game, Player player) {
super(game, player);
this.stage = stage;
}
/**
* used to update screen
*/
public void show() {
Scene scene = new Scene(createContent());
stage.setScene(scene);
stage.setTitle("Game");
stage.getIcons().add(Cell.getPlayerImage());
stage.setResizable(false);
stage.sizeToScene();
stage.show();
}
/**
* Used to display the name of the winner
* @param winner the player who win the game, can be Null
*/
@Override
public void displayWinner(Player winner) {
Alert alert = new Alert(Alert.AlertType.INFORMATION);
alert.setTitle("Fin du jeu");
alert.setHeaderText("La partie est termin\u00E9");
if(winner == null) {
alert.setContentText("La partie est nulle, personne n'a gagn\u00E9");
} else {
alert.setContentText("Le joueur " + winner + " " + winner.getId() + " a gagn\u00E9");
}
App.getViewManager().updateView();
alert.showAndWait();
}
/**
* Choose a direction between all possible from the previously selected action type
* @param selectedReunionAction previously selected type of action
* @see Window#choseReunionSameAction(List)
*/
public void choseDirectionAction(ReunionSameAction selectedReunionAction) {
for(int i = 0; i < selectedReunionAction.getActions().size(); ++i) {
Action action = selectedReunionAction.getActions().get(i);
if(action instanceof Move m){
addButtonToPane(m.getDirection().toString(),
new ClientEventHandler(new SelectDirectionListener(game, this, action)), buttonPane,
i * 100 + 50, 0);
}
else if(action instanceof DropObject o){
addButtonToPane(o.getDirection().toString(), new ClientEventHandler(new SelectDirectionListener(game, this, action)), buttonPane, i * 100 + 50, 0);
}
else if(action instanceof Shot s){
addButtonToPane(s.getPoint().toString(), new ClientEventHandler(new SelectDirectionListener(game, this, action)), buttonPane, i * 100 + 50, 0);
}
else{
addButtonToPane(action.getClass().getSimpleName(), new ClientEventHandler(new SelectDirectionListener(game, this, action)), buttonPane, i * 100 + 50, 0);
}
}
}
/**
* Used when {@link Game#getCurrentPlayer()} is an instance of {@link HumanPlayer}.
* Display button to demand to player to choose the type of action to execute
* @param actions the list of possible actions
* @see Window#choseDirectionAction(ReunionSameAction)
*/
private void choseReunionSameAction(List<ReunionSameAction> actions) {
for (int i = 0; i < actions.size(); i++) {
ReunionSameAction action = actions.get(i);
addButtonToPane(action.getActionName(), new ClientEventHandler(new SelectActionButton(game, this, action)),
buttonPane, i * 100 + 50, 0);
}
}
/**
* called when we add a button in the interface
* @param content content of the button
* @param listener listener of the button
* @param pane pane where we add the button
* @param offsetX move the button from the base position of the pane to the left (when offsetX is negative) or on
* the right (when offsetY is positive)
* @param offsetY move the button from the base position of the pane to the up (when offsetX is negative) or on
* the down (when offsetY is positive)
*/
private void addButtonToPane(String content, EventHandler<ActionEvent> listener, Pane pane, int offsetX, int offsetY) {
Button button = new Button(content);
button.setOnAction(listener);
button.setPrefSize(85, 35);
button.setStyle("-fx-background-color: #a96806;");
button.setTextFill(javafx.scene.paint.Color.WHITE);
button.setLayoutX(offsetX - button.getPrefWidth() / 2);
button.setLayoutY(offsetY);
pane.getChildren().add(button);
}
/**
* Create content of the stage
* @return the parent element to set to the stage
*/
private Parent createContent() {
Pane principalPane = new Pane();
principalPane.setPrefSize(game.getGrid().getRow() * cellSize + width, game.getGrid().getColumn() * cellSize + height); // TODO: 04/12/2021 A corriger -> doit plutôt s'adapter à la taille de la grid (grid.getRow() et grid.getColumn())
for (int i = 0; i < game.getGrid().getRow(); i++) {
for (int j = 0; j < game.getGrid().getColumn(); j++) {
Cell cell = new Cell(i, j);
principalPane.getChildren().add(cell);
}
}
Grid grid = game.getGrid();
for (int i = 0; i < grid.getRow(); i++) {
for (int j = 0; j < grid.getColumn(); j++) {
Pair<Player, Box> value = grid.getBoard().get(new Point(i, j));
if (value.getB() instanceof Wall || value.getB() instanceof EnergyBall) {
addToPrincipalPanel(value.getB(), principalPane, i, j);
}
else if(value.getB() instanceof Explosive){
if(((Explosive) value.getB()).getPlayer().equals(player)){
addToPrincipalPanel(value.getB(), principalPane, i, j);
}
else{
addToPrincipalPanel(null,principalPane, i, j);
}
}
else if (value.getA() != null) {
addToPrincipalPanel(value.getA(), principalPane, i, j);
}
else{
addToPrincipalPanel(null,principalPane, i, j);
}
}
}
putStatePlayerPane(principalPane);
putMoveTextPane(principalPane);
this.buttonPane = new Pane();
buttonPane.setLayoutX(0);
buttonPane.setLayoutY(600);
if(game.getCurrentPlayer() instanceof HumanPlayer) {
if(this.selectedReunionAction == null) {
choseReunionSameAction(player.generateAvailableActions());
} else {
choseDirectionAction(selectedReunionAction);
}
} else {
addButtonToPane("SUIVANT", new ClientEventHandler(nextPlayerButtonListener), buttonPane, (int) (principalPane.getPrefWidth() / 2), 0);
}
principalPane.getChildren().add(buttonPane);
principalPane.setBackground(bg);
return principalPane;
}
/**
* Add grid element to the principal pane
* @param object object to add to the pane
* @param principalPane pane where we'll add the object
* @param i
* @param j
*/
public void addToPrincipalPanel(Object object, Pane principalPane, int i, int j) {
StackPane sp = Cell.setImageObject(object, game);
sp.setLayoutY(i * cellSize);
sp.setLayoutX(j * cellSize);
principalPane.getChildren().add(sp);
}
/**
* Create the right pane
* @param principalPane principal pane where we'll add the left down pane
*/
public void putStatePlayerPane(Pane principalPane){
int Y = 0;
for(int i=0;i<game.getPlayers().size();i++){
StackPane sp = showStatePlayer(game.getPlayers().get(i).toString(),i);
sp.setLayoutX(480);
sp.setLayoutY(Y);
Y+=90;
principalPane.getChildren().add(sp);
}
}
/**
* Build left down pane (list all players information)
* @param type
* @param playerNumber
* @return
*/
public StackPane showStatePlayer(String type, int playerNumber){
StackPane subSp = new StackPane();
String s = type + " " + (playerNumber+1) + "\n" +
"Energie : " + game.getPlayers().get(playerNumber).getEnergy() + "\n" +
"Arme : " + game.getPlayers().get(playerNumber).getWeapon().getClass().getSimpleName() + "\n";
Text t = new Text(s);
Rectangle r = new Rectangle();
r.setWidth(500);
r.setHeight(90);
if(game.getPlayers().get(playerNumber).getEnergy() <= 0){
r.setFill(Color.valueOf("A54747"));
}else{
r.setFill(Color.valueOf("62B262"));
}
r.setStrokeWidth(1);
r.setStroke(Color.BLACK);
subSp.getChildren().addAll(r,t);
return subSp;
}
/**
* build left down pane and move it to its position
* @param principalPane the principal pane where we'll add the left down pane
*/
public void putMoveTextPane(Pane principalPane){
StackPane stateMoveTextPane = showMoveText();
stateMoveTextPane.setLayoutY(480);
principalPane.getChildren().add((stateMoveTextPane));
}
/**
* Build the left down pane (contains current player information)
* @return the built pane
*/
public StackPane showMoveText() {
StackPane subSp = new StackPane();
String action = game.getSelectedAction() == null ? "null" : game.getSelectedAction().getClass().getSimpleName();
String s = "Vous \u00EAtes \u00E0 la position " + player.getPosition().toString();
if(game.getPreviousPlayer() != null) {
s = game.getPreviousPlayer() + " : " + (game.getPreviousPlayer().getId()+1) + "\n" +
"Vient de jouer : " + action + "\n";
}
Text t = new Text(s);
t.setFill(Color.WHITE);
Rectangle r = new Rectangle();
r.setWidth(478);
r.setHeight(165);
r.setFill(dark);
subSp.getChildren().addAll(r,t);
return subSp;
}
public void setSelectedReunionAction(ReunionSameAction selectedReunionAction) {
this.selectedReunionAction = selectedReunionAction;
}
public NextPlayerButtonListener getNextPlayerButtonListener() {
return nextPlayerButtonListener;
}
}

View File

@ -0,0 +1,4 @@
/**
* View package, contains all classes about user view
*/
package fr.lnl.game.client.view;

View File

@ -0,0 +1,11 @@
/**
* Client module, include every view and controller classes from MVC model
*/
module client {
requires javafx.controls;
requires transitive javafx.graphics;
requires server;
exports fr.lnl.game.client;
exports fr.lnl.game.client.listener;
exports fr.lnl.game.client.view;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 525 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 360 B

BIN
livraison/dist/client.jar vendored Normal file

Binary file not shown.

BIN
livraison/dist/server.jar vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,127 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>All Classes and Interfaces (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="class index">
<meta name="generator" content="javadoc/AllClassesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="all-classes-index-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="client/module-summary.html">Module</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#all-classes">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="All Classes and Interfaces" class="title">All Classes and Interfaces</h1>
</div>
<div id="all-classes-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="all-classes-table-tab0" role="tab" aria-selected="true" aria-controls="all-classes-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="all-classes-table-tab1" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab1', 2)" class="table-tab">Interfaces</button><button id="all-classes-table-tab2" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab2', 2)" class="table-tab">Classes</button><button id="all-classes-table-tab4" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab4', 2)" class="table-tab">Record Classes</button></div>
<div id="all-classes-table.tabpanel" role="tabpanel">
<div class="summary-table two-column-summary" aria-labelledby="all-classes-table-tab0">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="client/fr/lnl/game/client/view/AbstractView.html" title="class in fr.lnl.game.client.view">AbstractView</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Abstract class implemented by every view classes</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Application starting point</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="client/fr/lnl/game/client/view/Cell.html" title="class in fr.lnl.game.client.view">Cell</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">classe qui a pour but de générer chaque case de la grid et de vérifier les entités présentes dessus
(Mur, Joueur, Energie, Bombe, etc.)</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab4"><a href="client/fr/lnl/game/client/listener/ClientEventHandler.html" title="class in fr.lnl.game.client.listener">ClientEventHandler</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab4">
<div class="block">implementation of a listener from JavaFX <code>EventHandler</code></div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab4"><a href="client/fr/lnl/game/client/ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab4">
<div class="block">Store a view per player</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="client/fr/lnl/game/client/listener/DisplayWinnerEvent.html" title="class in fr.lnl.game.client.listener">DisplayWinnerEvent</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Used to display the winner of the game</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="client/fr/lnl/game/client/listener/NextPlayerButtonListener.html" title="class in fr.lnl.game.client.listener">NextPlayerButtonListener</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This method is call when the current player have selected an action to play (or if it's a computer player, will
select it), then we call <code>Game.play()</code> and we update the view</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="client/fr/lnl/game/client/listener/SelectActionButton.html" title="class in fr.lnl.game.client.listener">SelectActionButton</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Used when the human player select type of action it want to play</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="client/fr/lnl/game/client/listener/SelectDirectionListener.html" title="class in fr.lnl.game.client.listener">SelectDirectionListener</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Call when the player selected the direction where it wants to play it</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="client/fr/lnl/game/client/view/Terminal.html" title="class in fr.lnl.game.client.view">Terminal</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">View terminal, use standard input and output</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="client/fr/lnl/game/client/view/View.html" title="interface in fr.lnl.game.client.view">View</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
<div class="block">View interface, implemented by Terminal and Window.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="client/fr/lnl/game/client/ViewLambda.html" title="interface in fr.lnl.game.client">ViewLambda</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">Used as Lambda expression to instantiate a <a href="client/fr/lnl/game/client/view/View.html" title="interface in fr.lnl.game.client.view"><code>View</code></a> per <code>Player</code> stored in <a href="client/fr/lnl/game/client/ClientPlayer.html" title="class in fr.lnl.game.client"><code>ClientPlayer</code></a></div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="client/fr/lnl/game/client/view/ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">View manager, main access to every views</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Window view, use mouse and keyboard to control interface</div>
</div>
</div>
</div>
</div>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,73 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>All Packages (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="package index">
<meta name="generator" content="javadoc/AllPackagesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="all-packages-index-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="client/module-summary.html">Module</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#all-packages">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
</div>
<div class="caption"><span>Package Summary</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="client/fr/lnl/game/client/package-summary.html">fr.lnl.game.client</a></div>
<div class="col-last even-row-color">
<div class="block">Client package</div>
</div>
<div class="col-first odd-row-color"><a href="client/fr/lnl/game/client/listener/package-summary.html">fr.lnl.game.client.listener</a></div>
<div class="col-last odd-row-color">
<div class="block">Package that contains every view listeners</div>
</div>
<div class="col-first even-row-color"><a href="client/fr/lnl/game/client/view/package-summary.html">fr.lnl.game.client.view</a></div>
<div class="col-last even-row-color">
<div class="block">View package, contains all classes about user view</div>
</div>
</div>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,369 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>App (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client, class: App">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li><a href="#nested-class-summary">Nested</a>&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">client</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.lnl.game.client</a></div>
<h1 title="Class App" class="title">Class App</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">javafx.application.Application
<div class="inheritance">fr.lnl.game.client.App</div>
</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">App</span>
<span class="extends-implements">extends javafx.application.Application</span></div>
<div class="block">Application starting point</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Nested Class Summary</h2>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-javafx.application.Application">Nested classes/interfaces inherited from class&nbsp;javafx.application.Application</h2>
<code>javafx.application.Application.Parameters</code></div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>private static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/LinkedList.html" title="class or interface in java.util" class="external-link">LinkedList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</code></div>
<div class="col-second even-row-color"><code><a href="#argsList" class="member-name-link">argsList</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private static fr.lnl.game.server.games.Game</code></div>
<div class="col-second odd-row-color"><code><a href="#game" class="member-name-link">game</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private static <a href="view/ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></code></div>
<div class="col-second even-row-color"><code><a href="#viewManager" class="member-name-link">viewManager</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-javafx.application.Application">Fields inherited from class&nbsp;javafx.application.Application</h3>
<code>STYLESHEET_CASPIAN, STYLESHEET_MODENA</code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">App</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>private static fr.lnl.game.server.games.player.Player</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#createNewPlayer(java.lang.Class,fr.lnl.game.server.games.player.ClassPlayer,int)" class="member-name-link">createNewPlayer</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends fr.lnl.game.server.games.player.AbstractPlayer&gt;&nbsp;playerClass,
fr.lnl.game.server.games.player.ClassPlayer&nbsp;playerType,
int&nbsp;playerListSize)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">create a new instance of the player</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static fr.lnl.game.server.games.Game</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getGame()" class="member-name-link">getGame</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="view/ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getViewManager()" class="member-name-link">getViewManager</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#launchTerminal()" class="member-name-link">launchTerminal</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#main(java.lang.String%5B%5D)" class="member-name-link">main</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;fr.lnl.game.server.games.player.Player&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#parsePlayers()" class="member-name-link">parsePlayers</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Parse players arguments and create instances for each player</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="view/AbstractView.html" title="class in fr.lnl.game.client.view">AbstractView</a>&gt;</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#parseView()" class="member-name-link">parseView</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Parse the first argument given by user to know the view to use (Terminal or Window)</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#start(javafx.stage.Stage)" class="member-name-link">start</a><wbr>(javafx.stage.Stage&nbsp;stage)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#startGame()" class="member-name-link">startGame</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Parse players arguments and create a new instance of Game</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-javafx.application.Application">Methods inherited from class&nbsp;javafx.application.Application</h3>
<code>getHostServices, getParameters, getUserAgentStylesheet, init, launch, launch, notifyPreloader, setUserAgentStylesheet, stop</code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="argsList">
<h3>argsList</h3>
<div class="member-signature"><span class="modifiers">private static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/LinkedList.html" title="class or interface in java.util" class="external-link">LinkedList</a>&lt;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&gt;</span>&nbsp;<span class="element-name">argsList</span></div>
</section>
</li>
<li>
<section class="detail" id="game">
<h3>game</h3>
<div class="member-signature"><span class="modifiers">private static</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.Game</span>&nbsp;<span class="element-name">game</span></div>
</section>
</li>
<li>
<section class="detail" id="viewManager">
<h3>viewManager</h3>
<div class="member-signature"><span class="modifiers">private static</span>&nbsp;<span class="return-type"><a href="view/ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></span>&nbsp;<span class="element-name">viewManager</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>App</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">App</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="main(java.lang.String[])">
<h3>main</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">main</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>[]&nbsp;args)</span></div>
</section>
</li>
<li>
<section class="detail" id="startGame()">
<h3>startGame</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">startGame</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a>,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/reflect/InvocationTargetException.html" title="class or interface in java.lang.reflect" class="external-link">InvocationTargetException</a>,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NoSuchMethodException.html" title="class or interface in java.lang" class="external-link">NoSuchMethodException</a>,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/InstantiationException.html" title="class or interface in java.lang" class="external-link">InstantiationException</a>,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalAccessException.html" title="class or interface in java.lang" class="external-link">IllegalAccessException</a></span></div>
<div class="block">Parse players arguments and create a new instance of Game</div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - when given argument is unknown</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/reflect/InvocationTargetException.html" title="class or interface in java.lang.reflect" class="external-link">InvocationTargetException</a></code> - when the creation of the player throw an exception</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NoSuchMethodException.html" title="class or interface in java.lang" class="external-link">NoSuchMethodException</a></code> - when constructor with given parameter in <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html#getConstructor(java.lang.Class...)" title="class or interface in java.lang" class="external-link"><code>Class.getConstructor(Class[])</code></a>
doesn't exist</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/InstantiationException.html" title="class or interface in java.lang" class="external-link">InstantiationException</a></code> - when the instanciation of the player is impossible (like when class is abstract),
is probably never called</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalAccessException.html" title="class or interface in java.lang" class="external-link">IllegalAccessException</a></code> - when the instanciation of thr player is impossible (like a private constructor),
is probably never called</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="start(javafx.stage.Stage)">
<h3>start</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">start</span><wbr><span class="parameters">(javafx.stage.Stage&nbsp;stage)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>start</code>&nbsp;in class&nbsp;<code>javafx.application.Application</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="launchTerminal()">
<h3>launchTerminal</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">launchTerminal</span>()</div>
</section>
</li>
<li>
<section class="detail" id="parsePlayers()">
<h3>parsePlayers</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;fr.lnl.game.server.games.player.Player&gt;</span>&nbsp;<span class="element-name">parsePlayers</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a>,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NoSuchMethodException.html" title="class or interface in java.lang" class="external-link">NoSuchMethodException</a>,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/reflect/InvocationTargetException.html" title="class or interface in java.lang.reflect" class="external-link">InvocationTargetException</a>,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/InstantiationException.html" title="class or interface in java.lang" class="external-link">InstantiationException</a>,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalAccessException.html" title="class or interface in java.lang" class="external-link">IllegalAccessException</a></span></div>
<div class="block">Parse players arguments and create instances for each player</div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - when given argument is unknown</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/reflect/InvocationTargetException.html" title="class or interface in java.lang.reflect" class="external-link">InvocationTargetException</a></code> - when the creation of the player throw an exception</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NoSuchMethodException.html" title="class or interface in java.lang" class="external-link">NoSuchMethodException</a></code> - when constructor with given parameter in <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html#getConstructor(java.lang.Class...)" title="class or interface in java.lang" class="external-link"><code>Class.getConstructor(Class[])</code></a>
doesn't exist</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/InstantiationException.html" title="class or interface in java.lang" class="external-link">InstantiationException</a></code> - when the instanciation of the player is impossible (like when class is abstract),
is probably never called</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalAccessException.html" title="class or interface in java.lang" class="external-link">IllegalAccessException</a></code> - when the instanciation of thr player is impossible (like a private constructor),
is probably never called</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createNewPlayer(java.lang.Class,fr.lnl.game.server.games.player.ClassPlayer,int)">
<h3>createNewPlayer</h3>
<div class="member-signature"><span class="modifiers">private static</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.player.Player</span>&nbsp;<span class="element-name">createNewPlayer</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends fr.lnl.game.server.games.player.AbstractPlayer&gt;&nbsp;playerClass,
fr.lnl.game.server.games.player.ClassPlayer&nbsp;playerType,
int&nbsp;playerListSize)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NoSuchMethodException.html" title="class or interface in java.lang" class="external-link">NoSuchMethodException</a>,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/reflect/InvocationTargetException.html" title="class or interface in java.lang.reflect" class="external-link">InvocationTargetException</a>,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/InstantiationException.html" title="class or interface in java.lang" class="external-link">InstantiationException</a>,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalAccessException.html" title="class or interface in java.lang" class="external-link">IllegalAccessException</a></span></div>
<div class="block">create a new instance of the player</div>
<dl class="notes">
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - when given argument is unknown (probably never called in production)</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/reflect/InvocationTargetException.html" title="class or interface in java.lang.reflect" class="external-link">InvocationTargetException</a></code> - when the creation of the player throw an exception</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/NoSuchMethodException.html" title="class or interface in java.lang" class="external-link">NoSuchMethodException</a></code> - when constructor with given parameter in <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html#getConstructor(java.lang.Class...)" title="class or interface in java.lang" class="external-link"><code>Class.getConstructor(Class[])</code></a>
doesn't exist</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/InstantiationException.html" title="class or interface in java.lang" class="external-link">InstantiationException</a></code> - when the instanciation of the player is impossible (like when class is abstract),
is probably never called</dd>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalAccessException.html" title="class or interface in java.lang" class="external-link">IllegalAccessException</a></code> - when the instanciation of thr player is impossible (like a private constructor),
is probably never called</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="parseView()">
<h3>parseView</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="view/AbstractView.html" title="class in fr.lnl.game.client.view">AbstractView</a>&gt;</span>&nbsp;<span class="element-name">parseView</span>()
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></span></div>
<div class="block">Parse the first argument given by user to know the view to use (Terminal or Window)</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>The class of the View to use</dd>
<dt>Throws:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - when given argument is unknown or no argument is given by user</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getViewManager()">
<h3>getViewManager</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="view/ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></span>&nbsp;<span class="element-name">getViewManager</span>()</div>
</section>
</li>
<li>
<section class="detail" id="getGame()">
<h3>getGame</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.Game</span>&nbsp;<span class="element-name">getGame</span>()</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,312 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>ClientPlayer (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client, record: ClientPlayer">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">client</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.lnl.game.client</a></div>
<h1 title="Record Class ClientPlayer" class="title">Record Class ClientPlayer</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" title="class or interface in java.lang" class="external-link">java.lang.Record</a>
<div class="inheritance">fr.lnl.game.client.ClientPlayer</div>
</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public record </span><span class="element-name type-name-label">ClientPlayer</span>(fr.lnl.game.server.games.player.Player&nbsp;serverPlayer, <a href="view/View.html" title="interface in fr.lnl.game.client.view">View</a>&nbsp;view)
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" title="class or interface in java.lang" class="external-link">Record</a></span></div>
<div class="block">Store a view per player</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>private final fr.lnl.game.server.games.player.Player</code></div>
<div class="col-second even-row-color"><code><a href="#serverPlayer" class="member-name-link">serverPlayer</a></code></div>
<div class="col-last even-row-color">
<div class="block">The field for the <code>serverPlayer</code> record component.</div>
</div>
<div class="col-first odd-row-color"><code>private final <a href="view/View.html" title="interface in fr.lnl.game.client.view">View</a></code></div>
<div class="col-second odd-row-color"><code><a href="#view" class="member-name-link">view</a></code></div>
<div class="col-last odd-row-color">
<div class="block">The field for the <code>view</code> record component.</div>
</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(fr.lnl.game.server.games.player.Player,fr.lnl.game.client.view.View)" class="member-name-link">ClientPlayer</a><wbr>(fr.lnl.game.server.games.player.Player&nbsp;serverPlayer,
<a href="view/View.html" title="interface in fr.lnl.game.client.view">View</a>&nbsp;view)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates an instance of a <code>ClientPlayer</code> record class.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;o)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Indicates whether some other object is "equal to" this one.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>fr.lnl.game.server.games.player.Player</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getServerPlayer()" class="member-name-link">getServerPlayer</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="view/View.html" title="interface in fr.lnl.game.client.view">View</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getView()" class="member-name-link">getView</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final int</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hashCode()" class="member-name-link">hashCode</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a hash code value for this object.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>fr.lnl.game.server.games.player.Player</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#serverPlayer()" class="member-name-link">serverPlayer</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the value of the <code>serverPlayer</code> record component.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a string representation of this record class.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="view/View.html" title="interface in fr.lnl.game.client.view">View</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#view()" class="member-name-link">view</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the value of the <code>view</code> record component.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="serverPlayer">
<h3>serverPlayer</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.player.Player</span>&nbsp;<span class="element-name">serverPlayer</span></div>
<div class="block">The field for the <code>serverPlayer</code> record component.</div>
</section>
</li>
<li>
<section class="detail" id="view">
<h3>view</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="view/View.html" title="interface in fr.lnl.game.client.view">View</a></span>&nbsp;<span class="element-name">view</span></div>
<div class="block">The field for the <code>view</code> record component.</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(fr.lnl.game.server.games.player.Player,fr.lnl.game.client.view.View)">
<h3>ClientPlayer</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ClientPlayer</span><wbr><span class="parameters">(fr.lnl.game.server.games.player.Player&nbsp;serverPlayer,
<a href="view/View.html" title="interface in fr.lnl.game.client.view">View</a>&nbsp;view)</span></div>
<div class="block">Creates an instance of a <code>ClientPlayer</code> record class.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>serverPlayer</code> - the value for the <code>serverPlayer</code> record component</dd>
<dd><code>view</code> - the value for the <code>view</code> record component</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getServerPlayer()">
<h3>getServerPlayer</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.player.Player</span>&nbsp;<span class="element-name">getServerPlayer</span>()</div>
</section>
</li>
<li>
<section class="detail" id="getView()">
<h3>getView</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="view/View.html" title="interface in fr.lnl.game.client.view">View</a></span>&nbsp;<span class="element-name">getView</span>()</div>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
<div class="block">Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" title="class or interface in java.lang" class="external-link">Record</a></code></dd>
<dt>Returns:</dt>
<dd>a string representation of this object</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hashCode()">
<h3>hashCode</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">hashCode</span>()</div>
<div class="block">Returns a hash code value for this object. The value is derived from the hash code of each of the record components.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" title="class or interface in java.lang" class="external-link">Record</a></code></dd>
<dt>Returns:</dt>
<dd>a hash code value for this object</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object)">
<h3>equals</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;o)</span></div>
<div class="block">Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Objects.html#equals(java.lang.Object,java.lang.Object)" title="class or interface in java.util" class="external-link"><code>Objects::equals(Object,Object)</code></a>.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" title="class or interface in java.lang" class="external-link">Record</a></code></dd>
<dt>Parameters:</dt>
<dd><code>o</code> - the object with which to compare</dd>
<dt>Returns:</dt>
<dd><code>true</code> if this object is the same as the <code>o</code> argument; <code>false</code> otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="serverPlayer()">
<h3>serverPlayer</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.player.Player</span>&nbsp;<span class="element-name">serverPlayer</span>()</div>
<div class="block">Returns the value of the <code>serverPlayer</code> record component.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the value of the <code>serverPlayer</code> record component</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="view()">
<h3>view</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="view/View.html" title="interface in fr.lnl.game.client.view">View</a></span>&nbsp;<span class="element-name">view</span>()</div>
<div class="block">Returns the value of the <code>view</code> record component.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the value of the <code>view</code> record component</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,139 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>ViewLambda (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client, interface: ViewLambda">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../module-summary.html">client</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.lnl.game.client</a></div>
<h1 title="Interface ViewLambda" class="title">Interface ViewLambda</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Functional Interface:</dt>
<dd>This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.</dd>
</dl>
<hr>
<div class="type-signature"><span class="annotations"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/FunctionalInterface.html" title="class or interface in java.lang" class="external-link">@FunctionalInterface</a>
</span><span class="modifiers">public interface </span><span class="element-name type-name-label">ViewLambda</span></div>
<div class="block">Used as Lambda expression to instantiate a <a href="view/View.html" title="interface in fr.lnl.game.client.view"><code>View</code></a> per <code>Player</code> stored in <a href="ClientPlayer.html" title="class in fr.lnl.game.client"><code>ClientPlayer</code></a></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="view/View.html" title="interface in fr.lnl.game.client.view">View</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#createViewLambda(fr.lnl.game.server.games.player.Player)" class="member-name-link">createViewLambda</a><wbr>(fr.lnl.game.server.games.player.Player&nbsp;player)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">A lambda create an anonymous class which implements this interface</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="createViewLambda(fr.lnl.game.server.games.player.Player)">
<h3>createViewLambda</h3>
<div class="member-signature"><span class="return-type"><a href="view/View.html" title="interface in fr.lnl.game.client.view">View</a></span>&nbsp;<span class="element-name">createViewLambda</span><wbr><span class="parameters">(fr.lnl.game.server.games.player.Player&nbsp;player)</span></div>
<div class="block">A lambda create an anonymous class which implements this interface</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>player</code> - an instance of <code>Player</code> to store in <a href="view/View.html" title="interface in fr.lnl.game.client.view"><code>View</code></a></dd>
<dt>Returns:</dt>
<dd>an instance of view (depending on the first argument when launching the program)</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,286 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>ClientEventHandler (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client.listener, record: ClientEventHandler">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">client</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.lnl.game.client.listener</a></div>
<h1 title="Record Class ClientEventHandler" class="title">Record Class ClientEventHandler</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" title="class or interface in java.lang" class="external-link">java.lang.Record</a>
<div class="inheritance">fr.lnl.game.client.listener.ClientEventHandler</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/EventListener.html" title="class or interface in java.util" class="external-link">EventListener</a></code>, <code>javafx.event.EventHandler&lt;javafx.event.ActionEvent&gt;</code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public record </span><span class="element-name type-name-label">ClientEventHandler</span>(fr.lnl.game.server.listener.ModelListener&nbsp;listener)
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" title="class or interface in java.lang" class="external-link">Record</a>
implements javafx.event.EventHandler&lt;javafx.event.ActionEvent&gt;</span></div>
<div class="block">implementation of a listener from JavaFX <code>EventHandler</code></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>private final fr.lnl.game.server.listener.ModelListener</code></div>
<div class="col-second even-row-color"><code><a href="#listener" class="member-name-link">listener</a></code></div>
<div class="col-last even-row-color">
<div class="block">The field for the <code>listener</code> record component.</div>
</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(fr.lnl.game.server.listener.ModelListener)" class="member-name-link">ClientEventHandler</a><wbr>(fr.lnl.game.server.listener.ModelListener&nbsp;listener)</code></div>
<div class="col-last even-row-color">
<div class="block">Creates an instance of a <code>ClientEventHandler</code> record class.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#equals(java.lang.Object)" class="member-name-link">equals</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;o)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Indicates whether some other object is "equal to" this one.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#handle(javafx.event.ActionEvent)" class="member-name-link">handle</a><wbr>(javafx.event.ActionEvent&nbsp;event)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method is call by JavaFX when we click to the button</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#hashCode()" class="member-name-link">hashCode</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a hash code value for this object.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>fr.lnl.game.server.listener.ModelListener</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#listener()" class="member-name-link">listener</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the value of the <code>listener</code> record component.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#toString()" class="member-name-link">toString</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns a string representation of this record class.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="listener">
<h3>listener</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">fr.lnl.game.server.listener.ModelListener</span>&nbsp;<span class="element-name">listener</span></div>
<div class="block">The field for the <code>listener</code> record component.</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(fr.lnl.game.server.listener.ModelListener)">
<h3>ClientEventHandler</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ClientEventHandler</span><wbr><span class="parameters">(fr.lnl.game.server.listener.ModelListener&nbsp;listener)</span></div>
<div class="block">Creates an instance of a <code>ClientEventHandler</code> record class.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>listener</code> - the value for the <code>listener</code> record component</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="handle(javafx.event.ActionEvent)">
<h3>handle</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">handle</span><wbr><span class="parameters">(javafx.event.ActionEvent&nbsp;event)</span></div>
<div class="block">This method is call by JavaFX when we click to the button</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>handle</code>&nbsp;in interface&nbsp;<code>javafx.event.EventHandler&lt;javafx.event.ActionEvent&gt;</code></dd>
<dt>Parameters:</dt>
<dd><code>event</code> - event class created when clicking on the element</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="toString()">
<h3>toString</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></span>&nbsp;<span class="element-name">toString</span>()</div>
<div class="block">Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html#toString()" title="class or interface in java.lang" class="external-link">toString</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" title="class or interface in java.lang" class="external-link">Record</a></code></dd>
<dt>Returns:</dt>
<dd>a string representation of this object</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hashCode()">
<h3>hashCode</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">hashCode</span>()</div>
<div class="block">Returns a hash code value for this object. The value is derived from the hash code of each of the record components.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" title="class or interface in java.lang" class="external-link">Record</a></code></dd>
<dt>Returns:</dt>
<dd>a hash code value for this object</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object)">
<h3>equals</h3>
<div class="member-signature"><span class="modifiers">public final</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;o)</span></div>
<div class="block">Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Objects.html#equals(java.lang.Object,java.lang.Object)" title="class or interface in java.util" class="external-link"><code>Objects::equals(Object,Object)</code></a>.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" title="class or interface in java.lang" class="external-link">Record</a></code></dd>
<dt>Parameters:</dt>
<dd><code>o</code> - the object with which to compare</dd>
<dt>Returns:</dt>
<dd><code>true</code> if this object is the same as the <code>o</code> argument; <code>false</code> otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="listener()">
<h3>listener</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">fr.lnl.game.server.listener.ModelListener</span>&nbsp;<span class="element-name">listener</span>()</div>
<div class="block">Returns the value of the <code>listener</code> record component.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the value of the <code>listener</code> record component</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,184 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>DisplayWinnerEvent (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client.listener, class: DisplayWinnerEvent">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">client</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.lnl.game.client.listener</a></div>
<h1 title="Class DisplayWinnerEvent" class="title">Class DisplayWinnerEvent</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">fr.lnl.game.server.listener.AbstractModelListening
<div class="inheritance">fr.lnl.game.client.listener.DisplayWinnerEvent</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code>fr.lnl.game.server.listener.ModelListener</code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">DisplayWinnerEvent</span>
<span class="extends-implements">extends fr.lnl.game.server.listener.AbstractModelListening</span></div>
<div class="block">Used to display the winner of the game</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-fr.lnl.game.server.listener.AbstractModelListening">Fields inherited from class&nbsp;fr.lnl.game.server.listener.AbstractModelListening</h3>
<code>listeners</code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">DisplayWinnerEvent</a>()</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateModel(java.lang.Object)" class="member-name-link">updateModel</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;obj)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method is call when the game is over</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-fr.lnl.game.server.listener.AbstractModelListening">Methods inherited from class&nbsp;fr.lnl.game.server.listener.AbstractModelListening</h3>
<code>addListener, fireChange, removalListener</code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>DisplayWinnerEvent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">DisplayWinnerEvent</span>()</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="updateModel(java.lang.Object)">
<h3>updateModel</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updateModel</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;obj)</span></div>
<div class="block">This method is call when the game is over</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>obj</code> - contains the winner of the game, can be null</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,215 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>NextPlayerButtonListener (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client.listener, class: NextPlayerButtonListener">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">client</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.lnl.game.client.listener</a></div>
<h1 title="Class NextPlayerButtonListener" class="title">Class NextPlayerButtonListener</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">fr.lnl.game.server.listener.AbstractModelListening
<div class="inheritance">fr.lnl.game.client.listener.NextPlayerButtonListener</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code>fr.lnl.game.server.listener.ModelListener</code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">NextPlayerButtonListener</span>
<span class="extends-implements">extends fr.lnl.game.server.listener.AbstractModelListening</span></div>
<div class="block">This method is call when the current player have selected an action to play (or if it's a computer player, will
select it), then we call <code>Game.play()</code> and we update the view</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>private final <a href="DisplayWinnerEvent.html" title="class in fr.lnl.game.client.listener">DisplayWinnerEvent</a></code></div>
<div class="col-second even-row-color"><code><a href="#displayWinnerEvent" class="member-name-link">displayWinnerEvent</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private final fr.lnl.game.server.games.Game</code></div>
<div class="col-second odd-row-color"><code><a href="#game" class="member-name-link">game</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-fr.lnl.game.server.listener.AbstractModelListening">Fields inherited from class&nbsp;fr.lnl.game.server.listener.AbstractModelListening</h3>
<code>listeners</code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(fr.lnl.game.server.games.Game)" class="member-name-link">NextPlayerButtonListener</a><wbr>(fr.lnl.game.server.games.Game&nbsp;game)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateModel(java.lang.Object)" class="member-name-link">updateModel</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;event)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Call when clicking on "SUIVANT" button if current player is a computer player or after the human player selected
action it want to play</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-fr.lnl.game.server.listener.AbstractModelListening">Methods inherited from class&nbsp;fr.lnl.game.server.listener.AbstractModelListening</h3>
<code>addListener, fireChange, removalListener</code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="game">
<h3>game</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.Game</span>&nbsp;<span class="element-name">game</span></div>
</section>
</li>
<li>
<section class="detail" id="displayWinnerEvent">
<h3>displayWinnerEvent</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="DisplayWinnerEvent.html" title="class in fr.lnl.game.client.listener">DisplayWinnerEvent</a></span>&nbsp;<span class="element-name">displayWinnerEvent</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(fr.lnl.game.server.games.Game)">
<h3>NextPlayerButtonListener</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">NextPlayerButtonListener</span><wbr><span class="parameters">(fr.lnl.game.server.games.Game&nbsp;game)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="updateModel(java.lang.Object)">
<h3>updateModel</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updateModel</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;event)</span></div>
<div class="block">Call when clicking on "SUIVANT" button if current player is a computer player or after the human player selected
action it want to play</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,229 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>SelectActionButton (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client.listener, class: SelectActionButton">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">client</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.lnl.game.client.listener</a></div>
<h1 title="Class SelectActionButton" class="title">Class SelectActionButton</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">fr.lnl.game.server.listener.AbstractModelListening
<div class="inheritance">fr.lnl.game.client.listener.SelectActionButton</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code>fr.lnl.game.server.listener.ModelListener</code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">SelectActionButton</span>
<span class="extends-implements">extends fr.lnl.game.server.listener.AbstractModelListening</span></div>
<div class="block">Used when the human player select type of action it want to play</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>private final fr.lnl.game.server.games.Game</code></div>
<div class="col-second even-row-color"><code><a href="#game" class="member-name-link">game</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private final fr.lnl.game.server.games.action.ReunionSameAction</code></div>
<div class="col-second odd-row-color"><code><a href="#reunionSameAction" class="member-name-link">reunionSameAction</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final <a href="../view/Window.html" title="class in fr.lnl.game.client.view">Window</a></code></div>
<div class="col-second even-row-color"><code><a href="#window" class="member-name-link">window</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-fr.lnl.game.server.listener.AbstractModelListening">Fields inherited from class&nbsp;fr.lnl.game.server.listener.AbstractModelListening</h3>
<code>listeners</code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(fr.lnl.game.server.games.Game,fr.lnl.game.client.view.Window,fr.lnl.game.server.games.action.ReunionSameAction)" class="member-name-link">SelectActionButton</a><wbr>(fr.lnl.game.server.games.Game&nbsp;game,
<a href="../view/Window.html" title="class in fr.lnl.game.client.view">Window</a>&nbsp;window,
fr.lnl.game.server.games.action.ReunionSameAction&nbsp;reunionSameAction)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateModel(java.lang.Object)" class="member-name-link">updateModel</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;obj)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method is call when the player select the type of action it want to play</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-fr.lnl.game.server.listener.AbstractModelListening">Methods inherited from class&nbsp;fr.lnl.game.server.listener.AbstractModelListening</h3>
<code>addListener, fireChange, removalListener</code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="window">
<h3>window</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="../view/Window.html" title="class in fr.lnl.game.client.view">Window</a></span>&nbsp;<span class="element-name">window</span></div>
</section>
</li>
<li>
<section class="detail" id="reunionSameAction">
<h3>reunionSameAction</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.action.ReunionSameAction</span>&nbsp;<span class="element-name">reunionSameAction</span></div>
</section>
</li>
<li>
<section class="detail" id="game">
<h3>game</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.Game</span>&nbsp;<span class="element-name">game</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(fr.lnl.game.server.games.Game,fr.lnl.game.client.view.Window,fr.lnl.game.server.games.action.ReunionSameAction)">
<h3>SelectActionButton</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SelectActionButton</span><wbr><span class="parameters">(fr.lnl.game.server.games.Game&nbsp;game,
<a href="../view/Window.html" title="class in fr.lnl.game.client.view">Window</a>&nbsp;window,
fr.lnl.game.server.games.action.ReunionSameAction&nbsp;reunionSameAction)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="updateModel(java.lang.Object)">
<h3>updateModel</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updateModel</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;obj)</span></div>
<div class="block">This method is call when the player select the type of action it want to play</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>obj</code> - contain information about the event like the button where the player clicked</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,229 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>SelectDirectionListener (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client.listener, class: SelectDirectionListener">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">client</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.lnl.game.client.listener</a></div>
<h1 title="Class SelectDirectionListener" class="title">Class SelectDirectionListener</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">fr.lnl.game.server.listener.AbstractModelListening
<div class="inheritance">fr.lnl.game.client.listener.SelectDirectionListener</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code>fr.lnl.game.server.listener.ModelListener</code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">SelectDirectionListener</span>
<span class="extends-implements">extends fr.lnl.game.server.listener.AbstractModelListening</span></div>
<div class="block">Call when the player selected the direction where it wants to play it</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>private final fr.lnl.game.server.games.action.Action</code></div>
<div class="col-second even-row-color"><code><a href="#action" class="member-name-link">action</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private final fr.lnl.game.server.games.Game</code></div>
<div class="col-second odd-row-color"><code><a href="#game" class="member-name-link">game</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final <a href="../view/Window.html" title="class in fr.lnl.game.client.view">Window</a></code></div>
<div class="col-second even-row-color"><code><a href="#window" class="member-name-link">window</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-fr.lnl.game.server.listener.AbstractModelListening">Fields inherited from class&nbsp;fr.lnl.game.server.listener.AbstractModelListening</h3>
<code>listeners</code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(fr.lnl.game.server.games.Game,fr.lnl.game.client.view.Window,fr.lnl.game.server.games.action.Action)" class="member-name-link">SelectDirectionListener</a><wbr>(fr.lnl.game.server.games.Game&nbsp;game,
<a href="../view/Window.html" title="class in fr.lnl.game.client.view">Window</a>&nbsp;window,
fr.lnl.game.server.games.action.Action&nbsp;action)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateModel(java.lang.Object)" class="member-name-link">updateModel</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;obj)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method is call when the player click on the button to select the direction of the previously selected action</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-fr.lnl.game.server.listener.AbstractModelListening">Methods inherited from class&nbsp;fr.lnl.game.server.listener.AbstractModelListening</h3>
<code>addListener, fireChange, removalListener</code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="game">
<h3>game</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.Game</span>&nbsp;<span class="element-name">game</span></div>
</section>
</li>
<li>
<section class="detail" id="action">
<h3>action</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.action.Action</span>&nbsp;<span class="element-name">action</span></div>
</section>
</li>
<li>
<section class="detail" id="window">
<h3>window</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="../view/Window.html" title="class in fr.lnl.game.client.view">Window</a></span>&nbsp;<span class="element-name">window</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(fr.lnl.game.server.games.Game,fr.lnl.game.client.view.Window,fr.lnl.game.server.games.action.Action)">
<h3>SelectDirectionListener</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">SelectDirectionListener</span><wbr><span class="parameters">(fr.lnl.game.server.games.Game&nbsp;game,
<a href="../view/Window.html" title="class in fr.lnl.game.client.view">Window</a>&nbsp;window,
fr.lnl.game.server.games.action.Action&nbsp;action)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="updateModel(java.lang.Object)">
<h3>updateModel</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updateModel</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;obj)</span></div>
<div class="block">This method is call when the player click on the button to select the direction of the previously selected action</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>obj</code> - contain information about the event like the button where the player clicked</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,127 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>fr.lnl.game.client.listener (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client.listener">
<meta name="generator" content="javadoc/PackageWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li class="nav-bar-cell1-rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#package">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Package:&nbsp;</li>
<li><a href="#package-description">Description</a>&nbsp;|&nbsp;</li>
<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
<li><a href="#class-summary">Classes and Interfaces</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<div class="sub-title"><span class="module-label-in-package">Module</span>&nbsp;<a href="../../../../../module-summary.html">client</a></div>
<h1 title="Package fr.lnl.game.client.listener" class="title">Package fr.lnl.game.client.listener</h1>
</div>
<hr>
<div class="package-signature">package <span class="element-name">fr.lnl.game.client.listener</span></div>
<section class="package-description" id="package-description">
<div class="block">Package that contains every view listeners</div>
</section>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="../package-summary.html">fr.lnl.game.client</a></div>
<div class="col-last even-row-color">
<div class="block">Client package</div>
</div>
<div class="col-first odd-row-color"><a href="../view/package-summary.html">fr.lnl.game.client.view</a></div>
<div class="col-last odd-row-color">
<div class="block">View package, contains all classes about user view</div>
</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button><button id="class-summary-tab4" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab4', 2)" class="table-tab">Record Classes</button></div>
<div id="class-summary.tabpanel" role="tabpanel">
<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab4"><a href="ClientEventHandler.html" title="class in fr.lnl.game.client.listener">ClientEventHandler</a></div>
<div class="col-last even-row-color class-summary class-summary-tab4">
<div class="block">implementation of a listener from JavaFX <code>EventHandler</code></div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="DisplayWinnerEvent.html" title="class in fr.lnl.game.client.listener">DisplayWinnerEvent</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Used to display the winner of the game</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="NextPlayerButtonListener.html" title="class in fr.lnl.game.client.listener">NextPlayerButtonListener</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">This method is call when the current player have selected an action to play (or if it's a computer player, will
select it), then we call <code>Game.play()</code> and we update the view</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="SelectActionButton.html" title="class in fr.lnl.game.client.listener">SelectActionButton</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Used when the human player select type of action it want to play</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="SelectDirectionListener.html" title="class in fr.lnl.game.client.listener">SelectDirectionListener</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Call when the player selected the direction where it wants to play it</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,82 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>fr.lnl.game.client.listener Class Hierarchy (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="tree: module: client, package: fr.lnl.game.client.listener">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="package-tree-page">
<script type="text/javascript">var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#tree">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package fr.lnl.game.client.listener</h1>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">fr.lnl.game.server.listener.AbstractModelListening (implements fr.lnl.game.server.listener.ModelListener)
<ul>
<li class="circle">fr.lnl.game.client.listener.<a href="DisplayWinnerEvent.html" class="type-name-link" title="class in fr.lnl.game.client.listener">DisplayWinnerEvent</a></li>
<li class="circle">fr.lnl.game.client.listener.<a href="NextPlayerButtonListener.html" class="type-name-link" title="class in fr.lnl.game.client.listener">NextPlayerButtonListener</a></li>
<li class="circle">fr.lnl.game.client.listener.<a href="SelectActionButton.html" class="type-name-link" title="class in fr.lnl.game.client.listener">SelectActionButton</a></li>
<li class="circle">fr.lnl.game.client.listener.<a href="SelectDirectionListener.html" class="type-name-link" title="class in fr.lnl.game.client.listener">SelectDirectionListener</a></li>
</ul>
</li>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" class="type-name-link external-link" title="class or interface in java.lang">Record</a>
<ul>
<li class="circle">fr.lnl.game.client.listener.<a href="ClientEventHandler.html" class="type-name-link" title="class in fr.lnl.game.client.listener">ClientEventHandler</a> (implements javafx.event.EventHandler&lt;T&gt;)</li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,118 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>fr.lnl.game.client (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client">
<meta name="generator" content="javadoc/PackageWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../module-summary.html">Module</a></li>
<li class="nav-bar-cell1-rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html#package">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Package:&nbsp;</li>
<li><a href="#package-description">Description</a>&nbsp;|&nbsp;</li>
<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
<li><a href="#class-summary">Classes and Interfaces</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<div class="sub-title"><span class="module-label-in-package">Module</span>&nbsp;<a href="../../../../module-summary.html">client</a></div>
<h1 title="Package fr.lnl.game.client" class="title">Package fr.lnl.game.client</h1>
</div>
<hr>
<div class="package-signature">package <span class="element-name">fr.lnl.game.client</span></div>
<section class="package-description" id="package-description">
<div class="block">Client package</div>
</section>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="listener/package-summary.html">fr.lnl.game.client.listener</a></div>
<div class="col-last even-row-color">
<div class="block">Package that contains every view listeners</div>
</div>
<div class="col-first odd-row-color"><a href="view/package-summary.html">fr.lnl.game.client.view</a></div>
<div class="col-last odd-row-color">
<div class="block">View package, contains all classes about user view</div>
</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button><button id="class-summary-tab4" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab4', 2)" class="table-tab">Record Classes</button></div>
<div id="class-summary.tabpanel" role="tabpanel">
<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="App.html" title="class in fr.lnl.game.client">App</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Application starting point</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab4"><a href="ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab4">
<div class="block">Store a view per player</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="ViewLambda.html" title="interface in fr.lnl.game.client">ViewLambda</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Used as Lambda expression to instantiate a <a href="view/View.html" title="interface in fr.lnl.game.client.view"><code>View</code></a> per <code>Player</code> stored in <a href="ClientPlayer.html" title="class in fr.lnl.game.client"><code>ClientPlayer</code></a></div>
</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,85 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>fr.lnl.game.client Class Hierarchy (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="tree: module: client, package: fr.lnl.game.client">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="package-tree-page">
<script type="text/javascript">var pathtoroot = "../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../help-doc.html#tree">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package fr.lnl.game.client</h1>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">javafx.application.Application
<ul>
<li class="circle">fr.lnl.game.client.<a href="App.html" class="type-name-link" title="class in fr.lnl.game.client">App</a></li>
</ul>
</li>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" class="type-name-link external-link" title="class or interface in java.lang">Record</a>
<ul>
<li class="circle">fr.lnl.game.client.<a href="ClientPlayer.html" class="type-name-link" title="class in fr.lnl.game.client">ClientPlayer</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</section>
<section class="hierarchy">
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li class="circle">fr.lnl.game.client.<a href="ViewLambda.html" class="type-name-link" title="interface in fr.lnl.game.client">ViewLambda</a></li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,180 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>AbstractView (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client.view, class: AbstractView">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li>Method</li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">client</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.lnl.game.client.view</a></div>
<h1 title="Class AbstractView" class="title">Class AbstractView</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">fr.lnl.game.client.view.AbstractView</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="View.html" title="interface in fr.lnl.game.client.view">View</a></code></dd>
</dl>
<dl class="notes">
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="Terminal.html" title="class in fr.lnl.game.client.view">Terminal</a></code>, <code><a href="Window.html" title="class in fr.lnl.game.client.view">Window</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">AbstractView</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>
implements <a href="View.html" title="interface in fr.lnl.game.client.view">View</a></span></div>
<div class="block">Abstract class implemented by every view classes</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected fr.lnl.game.server.games.Game</code></div>
<div class="col-second even-row-color"><code><a href="#game" class="member-name-link">game</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>protected final fr.lnl.game.server.games.player.Player</code></div>
<div class="col-second odd-row-color"><code><a href="#player" class="member-name-link">player</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(fr.lnl.game.server.games.Game,fr.lnl.game.server.games.player.Player)" class="member-name-link">AbstractView</a><wbr>(fr.lnl.game.server.games.Game&nbsp;game,
fr.lnl.game.server.games.player.Player&nbsp;player)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-fr.lnl.game.client.view.View">Methods inherited from interface&nbsp;fr.lnl.game.client.view.<a href="View.html" title="interface in fr.lnl.game.client.view">View</a></h3>
<code><a href="View.html#displayWinner(fr.lnl.game.server.games.player.Player)">displayWinner</a>, <a href="View.html#show()">show</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="player">
<h3>player</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.player.Player</span>&nbsp;<span class="element-name">player</span></div>
</section>
</li>
<li>
<section class="detail" id="game">
<h3>game</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.Game</span>&nbsp;<span class="element-name">game</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(fr.lnl.game.server.games.Game,fr.lnl.game.server.games.player.Player)">
<h3>AbstractView</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">AbstractView</span><wbr><span class="parameters">(fr.lnl.game.server.games.Game&nbsp;game,
fr.lnl.game.server.games.player.Player&nbsp;player)</span></div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,271 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Terminal (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client.view, class: Terminal">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">client</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.lnl.game.client.view</a></div>
<h1 title="Class Terminal" class="title">Class Terminal</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="AbstractView.html" title="class in fr.lnl.game.client.view">fr.lnl.game.client.view.AbstractView</a>
<div class="inheritance">fr.lnl.game.client.view.Terminal</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="View.html" title="interface in fr.lnl.game.client.view">View</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Terminal</span>
<span class="extends-implements">extends <a href="AbstractView.html" title="class in fr.lnl.game.client.view">AbstractView</a></span></div>
<div class="block">View terminal, use standard input and output</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>static <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Scanner.html" title="class or interface in java.util" class="external-link">Scanner</a></code></div>
<div class="col-second even-row-color"><code><a href="#scanner" class="member-name-link">scanner</a></code></div>
<div class="col-last even-row-color">
<div class="block">Standard input</div>
</div>
</div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-fr.lnl.game.client.view.AbstractView">Fields inherited from class&nbsp;fr.lnl.game.client.view.<a href="AbstractView.html" title="class in fr.lnl.game.client.view">AbstractView</a></h3>
<code><a href="AbstractView.html#game">game</a>, <a href="AbstractView.html#player">player</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(fr.lnl.game.server.games.Game,fr.lnl.game.server.games.player.Player)" class="member-name-link">Terminal</a><wbr>(fr.lnl.game.server.games.Game&nbsp;game,
fr.lnl.game.server.games.player.Player&nbsp;player)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>fr.lnl.game.server.games.action.Action</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#choseAction()" class="member-name-link">choseAction</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Used when current player is an instance of <code>HumanPlayer</code> and demand to it
an action to do</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private fr.lnl.game.server.games.action.ReunionSameAction</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#choseReunionSameAction(java.util.List)" class="member-name-link">choseReunionSameAction</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;fr.lnl.game.server.games.action.ReunionSameAction&gt;&nbsp;actions)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Used when current player is an instance of <code>HumanPlayer</code> and demand to it
a type of action to do</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#displayWinner(fr.lnl.game.server.games.player.Player)" class="member-name-link">displayWinner</a><wbr>(fr.lnl.game.server.games.player.Player&nbsp;winner)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Used to display the winner of the game</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#show()" class="member-name-link">show</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Used to update view</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="scanner">
<h3>scanner</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Scanner.html" title="class or interface in java.util" class="external-link">Scanner</a></span>&nbsp;<span class="element-name">scanner</span></div>
<div class="block">Standard input</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(fr.lnl.game.server.games.Game,fr.lnl.game.server.games.player.Player)">
<h3>Terminal</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Terminal</span><wbr><span class="parameters">(fr.lnl.game.server.games.Game&nbsp;game,
fr.lnl.game.server.games.player.Player&nbsp;player)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="show()">
<h3>show</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">show</span>()</div>
<div class="block">Used to update view</div>
</section>
</li>
<li>
<section class="detail" id="displayWinner(fr.lnl.game.server.games.player.Player)">
<h3>displayWinner</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">displayWinner</span><wbr><span class="parameters">(fr.lnl.game.server.games.player.Player&nbsp;winner)</span></div>
<div class="block">Used to display the winner of the game</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>winner</code> - the player who win the game, can be Null</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="choseAction()">
<h3>choseAction</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.action.Action</span>&nbsp;<span class="element-name">choseAction</span>()</div>
<div class="block">Used when current player is an instance of <code>HumanPlayer</code> and demand to it
an action to do</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>chosen action</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#choseReunionSameAction(java.util.List)"><code>choseReunionSameAction(List)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="choseReunionSameAction(java.util.List)">
<h3>choseReunionSameAction</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.action.ReunionSameAction</span>&nbsp;<span class="element-name">choseReunionSameAction</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;fr.lnl.game.server.games.action.ReunionSameAction&gt;&nbsp;actions)</span></div>
<div class="block">Used when current player is an instance of <code>HumanPlayer</code> and demand to it
a type of action to do</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>actions</code> - the list of actions possible</dd>
<dt>Returns:</dt>
<dd>the type of action to execute</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#choseAction()"><code>choseAction()</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,148 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>View (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client.view, interface: View">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">client</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.lnl.game.client.view</a></div>
<h1 title="Interface View" class="title">Interface View</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="AbstractView.html" title="class in fr.lnl.game.client.view">AbstractView</a></code>, <code><a href="Terminal.html" title="class in fr.lnl.game.client.view">Terminal</a></code>, <code><a href="Window.html" title="class in fr.lnl.game.client.view">Window</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">View</span></div>
<div class="block">View interface, implemented by Terminal and Window.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#displayWinner(fr.lnl.game.server.games.player.Player)" class="member-name-link">displayWinner</a><wbr>(fr.lnl.game.server.games.player.Player&nbsp;winner)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Used to display the name of the winner</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#show()" class="member-name-link">show</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">used to update screen</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="show()">
<h3>show</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">show</span>()</div>
<div class="block">used to update screen</div>
</section>
</li>
<li>
<section class="detail" id="displayWinner(fr.lnl.game.server.games.player.Player)">
<h3>displayWinner</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">displayWinner</span><wbr><span class="parameters">(fr.lnl.game.server.games.player.Player&nbsp;winner)</span></div>
<div class="block">Used to display the name of the winner</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>winner</code> - the player who win the game, can be Null</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,253 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>ViewManager (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client.view, class: ViewManager">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">client</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.lnl.game.client.view</a></div>
<h1 title="Class ViewManager" class="title">Class ViewManager</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">fr.lnl.game.client.view.ViewManager</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">ViewManager</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
<div class="block">View manager, main access to every views</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>private final fr.lnl.game.server.games.Game</code></div>
<div class="col-second even-row-color"><code><a href="#game" class="member-name-link">game</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/HashMap.html" title="class or interface in java.util" class="external-link">HashMap</a>&lt;fr.lnl.game.server.games.player.Player,<wbr><a href="../ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a>&gt;</code></div>
<div class="col-second odd-row-color"><code><a href="#players" class="member-name-link">players</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private final <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="View.html" title="interface in fr.lnl.game.client.view">View</a>&gt;</code></div>
<div class="col-second even-row-color"><code><a href="#viewType" class="member-name-link">viewType</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(fr.lnl.game.server.games.Game,java.lang.Class,fr.lnl.game.client.ViewLambda)" class="member-name-link">ViewManager</a><wbr>(fr.lnl.game.server.games.Game&nbsp;game,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="View.html" title="interface in fr.lnl.game.client.view">View</a>&gt;&nbsp;viewType,
<a href="../ViewLambda.html" title="interface in fr.lnl.game.client">ViewLambda</a>&nbsp;lambda)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#displayWinner(fr.lnl.game.server.games.player.Player)" class="member-name-link">displayWinner</a><wbr>(fr.lnl.game.server.games.player.Player&nbsp;winner)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method is call when the game is finish</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#run()" class="member-name-link">run</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method is call after initialized view manager to display a first screen</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#terminalView()" class="member-name-link">terminalView</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">This method is call when the view is a terminal</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#updateView()" class="member-name-link">updateView</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Call when we need to change or update view</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="game">
<h3>game</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.Game</span>&nbsp;<span class="element-name">game</span></div>
</section>
</li>
<li>
<section class="detail" id="viewType">
<h3>viewType</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="View.html" title="interface in fr.lnl.game.client.view">View</a>&gt;</span>&nbsp;<span class="element-name">viewType</span></div>
</section>
</li>
<li>
<section class="detail" id="players">
<h3>players</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/HashMap.html" title="class or interface in java.util" class="external-link">HashMap</a>&lt;fr.lnl.game.server.games.player.Player,<wbr><a href="../ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a>&gt;</span>&nbsp;<span class="element-name">players</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(fr.lnl.game.server.games.Game,java.lang.Class,fr.lnl.game.client.ViewLambda)">
<h3>ViewManager</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ViewManager</span><wbr><span class="parameters">(fr.lnl.game.server.games.Game&nbsp;game,
<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Class.html" title="class or interface in java.lang" class="external-link">Class</a>&lt;? extends <a href="View.html" title="interface in fr.lnl.game.client.view">View</a>&gt;&nbsp;viewType,
<a href="../ViewLambda.html" title="interface in fr.lnl.game.client">ViewLambda</a>&nbsp;lambda)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="updateView()">
<h3>updateView</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">updateView</span>()</div>
<div class="block">Call when we need to change or update view</div>
</section>
</li>
<li>
<section class="detail" id="terminalView()">
<h3>terminalView</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">terminalView</span>()</div>
<div class="block">This method is call when the view is a terminal</div>
</section>
</li>
<li>
<section class="detail" id="displayWinner(fr.lnl.game.server.games.player.Player)">
<h3>displayWinner</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">displayWinner</span><wbr><span class="parameters">(fr.lnl.game.server.games.player.Player&nbsp;winner)</span></div>
<div class="block">This method is call when the game is finish</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>winner</code> - The winner of the game, can be null</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="run()">
<h3>run</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">run</span>()</div>
<div class="block">This method is call after initialized view manager to display a first screen</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,518 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Window (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client.view, class: Window">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field-summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li><a href="#field-detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">client</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">fr.lnl.game.client.view</a></div>
<h1 title="Class Window" class="title">Class Window</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance"><a href="AbstractView.html" title="class in fr.lnl.game.client.view">fr.lnl.game.client.view.AbstractView</a>
<div class="inheritance">fr.lnl.game.client.view.Window</div>
</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="View.html" title="interface in fr.lnl.game.client.view">View</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">Window</span>
<span class="extends-implements">extends <a href="AbstractView.html" title="class in fr.lnl.game.client.view">AbstractView</a></span></div>
<div class="block">Window view, use mouse and keyboard to control interface</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>private static final javafx.scene.layout.Background</code></div>
<div class="col-second even-row-color"><code><a href="#bg" class="member-name-link">bg</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private javafx.scene.layout.Pane</code></div>
<div class="col-second odd-row-color"><code><a href="#buttonPane" class="member-name-link">buttonPane</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>static final int</code></div>
<div class="col-second even-row-color"><code><a href="#cellSize" class="member-name-link">cellSize</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private static final javafx.scene.paint.Color</code></div>
<div class="col-second odd-row-color"><code><a href="#dark" class="member-name-link">dark</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>static final int</code></div>
<div class="col-second even-row-color"><code><a href="#height" class="member-name-link">height</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private final <a href="../listener/NextPlayerButtonListener.html" title="class in fr.lnl.game.client.listener">NextPlayerButtonListener</a></code></div>
<div class="col-second odd-row-color"><code><a href="#nextPlayerButtonListener" class="member-name-link">nextPlayerButtonListener</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>private fr.lnl.game.server.games.action.ReunionSameAction</code></div>
<div class="col-second even-row-color"><code><a href="#selectedReunionAction" class="member-name-link">selectedReunionAction</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
<div class="col-first odd-row-color"><code>private final javafx.stage.Stage</code></div>
<div class="col-second odd-row-color"><code><a href="#stage" class="member-name-link">stage</a></code></div>
<div class="col-last odd-row-color">&nbsp;</div>
<div class="col-first even-row-color"><code>static final int</code></div>
<div class="col-second even-row-color"><code><a href="#width" class="member-name-link">width</a></code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
<div class="inherited-list">
<h3 id="fields-inherited-from-class-fr.lnl.game.client.view.AbstractView">Fields inherited from class&nbsp;fr.lnl.game.client.view.<a href="AbstractView.html" title="class in fr.lnl.game.client.view">AbstractView</a></h3>
<code><a href="AbstractView.html#game">game</a>, <a href="AbstractView.html#player">player</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(javafx.stage.Stage,fr.lnl.game.server.games.Game,fr.lnl.game.server.games.player.Player)" class="member-name-link">Window</a><wbr>(javafx.stage.Stage&nbsp;stage,
fr.lnl.game.server.games.Game&nbsp;game,
fr.lnl.game.server.games.player.Player&nbsp;player)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addButtonToPane(java.lang.String,javafx.event.EventHandler,javafx.scene.layout.Pane,int,int)" class="member-name-link">addButtonToPane</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
javafx.event.EventHandler&lt;javafx.event.ActionEvent&gt;&nbsp;listener,
javafx.scene.layout.Pane&nbsp;pane,
int&nbsp;offsetX,
int&nbsp;offsetY)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">called when we add a button in the interface</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addToPrincipalPanel(java.lang.Object,javafx.scene.layout.Pane,int,int)" class="member-name-link">addToPrincipalPanel</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;object,
javafx.scene.layout.Pane&nbsp;principalPane,
int&nbsp;i,
int&nbsp;j)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Add grid element to the principal pane</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#choseDirectionAction(fr.lnl.game.server.games.action.ReunionSameAction)" class="member-name-link">choseDirectionAction</a><wbr>(fr.lnl.game.server.games.action.ReunionSameAction&nbsp;selectedReunionAction)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Choose a direction between all possible from the previously selected action type</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#choseReunionSameAction(java.util.List)" class="member-name-link">choseReunionSameAction</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;fr.lnl.game.server.games.action.ReunionSameAction&gt;&nbsp;actions)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Used when <code>Game.getCurrentPlayer()</code> is an instance of <code>HumanPlayer</code>.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>private javafx.scene.Parent</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#createContent()" class="member-name-link">createContent</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Create content of the stage</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#displayWinner(fr.lnl.game.server.games.player.Player)" class="member-name-link">displayWinner</a><wbr>(fr.lnl.game.server.games.player.Player&nbsp;winner)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Used to display the name of the winner</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../listener/NextPlayerButtonListener.html" title="class in fr.lnl.game.client.listener">NextPlayerButtonListener</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getNextPlayerButtonListener()" class="member-name-link">getNextPlayerButtonListener</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#putMoveTextPane(javafx.scene.layout.Pane)" class="member-name-link">putMoveTextPane</a><wbr>(javafx.scene.layout.Pane&nbsp;principalPane)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">build left down pane and move it to its position</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#putStatePlayerPane(javafx.scene.layout.Pane)" class="member-name-link">putStatePlayerPane</a><wbr>(javafx.scene.layout.Pane&nbsp;principalPane)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Create the right pane</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setSelectedReunionAction(fr.lnl.game.server.games.action.ReunionSameAction)" class="member-name-link">setSelectedReunionAction</a><wbr>(fr.lnl.game.server.games.action.ReunionSameAction&nbsp;selectedReunionAction)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">&nbsp;</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#show()" class="member-name-link">show</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">used to update screen</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>javafx.scene.layout.StackPane</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#showMoveText()" class="member-name-link">showMoveText</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Build the left down pane (contains current player information)</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>javafx.scene.layout.StackPane</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#showStatePlayer(java.lang.String,int)" class="member-name-link">showStatePlayer</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;type,
int&nbsp;playerNumber)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Build left down pane (list all players information)</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="cellSize">
<h3>cellSize</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">cellSize</span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#fr.lnl.game.client.view.Window.cellSize">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="width">
<h3>width</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">width</span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#fr.lnl.game.client.view.Window.width">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="height">
<h3>height</h3>
<div class="member-signature"><span class="modifiers">public static final</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">height</span></div>
<dl class="notes">
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="../../../../../../constant-values.html#fr.lnl.game.client.view.Window.height">Constant Field Values</a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="dark">
<h3>dark</h3>
<div class="member-signature"><span class="modifiers">private static final</span>&nbsp;<span class="return-type">javafx.scene.paint.Color</span>&nbsp;<span class="element-name">dark</span></div>
</section>
</li>
<li>
<section class="detail" id="bg">
<h3>bg</h3>
<div class="member-signature"><span class="modifiers">private static final</span>&nbsp;<span class="return-type">javafx.scene.layout.Background</span>&nbsp;<span class="element-name">bg</span></div>
</section>
</li>
<li>
<section class="detail" id="stage">
<h3>stage</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type">javafx.stage.Stage</span>&nbsp;<span class="element-name">stage</span></div>
</section>
</li>
<li>
<section class="detail" id="buttonPane">
<h3>buttonPane</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">javafx.scene.layout.Pane</span>&nbsp;<span class="element-name">buttonPane</span></div>
</section>
</li>
<li>
<section class="detail" id="selectedReunionAction">
<h3>selectedReunionAction</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">fr.lnl.game.server.games.action.ReunionSameAction</span>&nbsp;<span class="element-name">selectedReunionAction</span></div>
</section>
</li>
<li>
<section class="detail" id="nextPlayerButtonListener">
<h3>nextPlayerButtonListener</h3>
<div class="member-signature"><span class="modifiers">private final</span>&nbsp;<span class="return-type"><a href="../listener/NextPlayerButtonListener.html" title="class in fr.lnl.game.client.listener">NextPlayerButtonListener</a></span>&nbsp;<span class="element-name">nextPlayerButtonListener</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(javafx.stage.Stage,fr.lnl.game.server.games.Game,fr.lnl.game.server.games.player.Player)">
<h3>Window</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">Window</span><wbr><span class="parameters">(javafx.stage.Stage&nbsp;stage,
fr.lnl.game.server.games.Game&nbsp;game,
fr.lnl.game.server.games.player.Player&nbsp;player)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="show()">
<h3>show</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">show</span>()</div>
<div class="block">used to update screen</div>
</section>
</li>
<li>
<section class="detail" id="displayWinner(fr.lnl.game.server.games.player.Player)">
<h3>displayWinner</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">displayWinner</span><wbr><span class="parameters">(fr.lnl.game.server.games.player.Player&nbsp;winner)</span></div>
<div class="block">Used to display the name of the winner</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>winner</code> - the player who win the game, can be Null</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="choseDirectionAction(fr.lnl.game.server.games.action.ReunionSameAction)">
<h3>choseDirectionAction</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">choseDirectionAction</span><wbr><span class="parameters">(fr.lnl.game.server.games.action.ReunionSameAction&nbsp;selectedReunionAction)</span></div>
<div class="block">Choose a direction between all possible from the previously selected action type</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>selectedReunionAction</code> - previously selected type of action</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list">
<li><a href="#choseReunionSameAction(java.util.List)"><code>choseReunionSameAction(List)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="choseReunionSameAction(java.util.List)">
<h3>choseReunionSameAction</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">choseReunionSameAction</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/List.html" title="class or interface in java.util" class="external-link">List</a>&lt;fr.lnl.game.server.games.action.ReunionSameAction&gt;&nbsp;actions)</span></div>
<div class="block">Used when <code>Game.getCurrentPlayer()</code> is an instance of <code>HumanPlayer</code>.
Display button to demand to player to choose the type of action to execute</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>actions</code> - the list of possible actions</dd>
<dt>See Also:</dt>
<dd>
<ul class="see-list-long">
<li><a href="#choseDirectionAction(fr.lnl.game.server.games.action.ReunionSameAction)"><code>choseDirectionAction(ReunionSameAction)</code></a></li>
</ul>
</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addButtonToPane(java.lang.String,javafx.event.EventHandler,javafx.scene.layout.Pane,int,int)">
<h3>addButtonToPane</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addButtonToPane</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;content,
javafx.event.EventHandler&lt;javafx.event.ActionEvent&gt;&nbsp;listener,
javafx.scene.layout.Pane&nbsp;pane,
int&nbsp;offsetX,
int&nbsp;offsetY)</span></div>
<div class="block">called when we add a button in the interface</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>content</code> - content of the button</dd>
<dd><code>listener</code> - listener of the button</dd>
<dd><code>pane</code> - pane where we add the button</dd>
<dd><code>offsetX</code> - move the button from the base position of the pane to the left (when offsetX is negative) or on
the right (when offsetY is positive)</dd>
<dd><code>offsetY</code> - move the button from the base position of the pane to the up (when offsetX is negative) or on
the down (when offsetY is positive)</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="createContent()">
<h3>createContent</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">javafx.scene.Parent</span>&nbsp;<span class="element-name">createContent</span>()</div>
<div class="block">Create content of the stage</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the parent element to set to the stage</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addToPrincipalPanel(java.lang.Object,javafx.scene.layout.Pane,int,int)">
<h3>addToPrincipalPanel</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addToPrincipalPanel</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a>&nbsp;object,
javafx.scene.layout.Pane&nbsp;principalPane,
int&nbsp;i,
int&nbsp;j)</span></div>
<div class="block">Add grid element to the principal pane</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>object</code> - object to add to the pane</dd>
<dd><code>principalPane</code> - pane where we'll add the object</dd>
<dd><code>i</code> - </dd>
<dd><code>j</code> - </dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="putStatePlayerPane(javafx.scene.layout.Pane)">
<h3>putStatePlayerPane</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">putStatePlayerPane</span><wbr><span class="parameters">(javafx.scene.layout.Pane&nbsp;principalPane)</span></div>
<div class="block">Create the right pane</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>principalPane</code> - principal pane where we'll add the left down pane</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="showStatePlayer(java.lang.String,int)">
<h3>showStatePlayer</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">javafx.scene.layout.StackPane</span>&nbsp;<span class="element-name">showStatePlayer</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>&nbsp;type,
int&nbsp;playerNumber)</span></div>
<div class="block">Build left down pane (list all players information)</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>type</code> - </dd>
<dd><code>playerNumber</code> - </dd>
<dt>Returns:</dt>
</dl>
</section>
</li>
<li>
<section class="detail" id="putMoveTextPane(javafx.scene.layout.Pane)">
<h3>putMoveTextPane</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">putMoveTextPane</span><wbr><span class="parameters">(javafx.scene.layout.Pane&nbsp;principalPane)</span></div>
<div class="block">build left down pane and move it to its position</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>principalPane</code> - the principal pane where we'll add the left down pane</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="showMoveText()">
<h3>showMoveText</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">javafx.scene.layout.StackPane</span>&nbsp;<span class="element-name">showMoveText</span>()</div>
<div class="block">Build the left down pane (contains current player information)</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>the built pane</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setSelectedReunionAction(fr.lnl.game.server.games.action.ReunionSameAction)">
<h3>setSelectedReunionAction</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setSelectedReunionAction</span><wbr><span class="parameters">(fr.lnl.game.server.games.action.ReunionSameAction&nbsp;selectedReunionAction)</span></div>
</section>
</li>
<li>
<section class="detail" id="getNextPlayerButtonListener()">
<h3>getNextPlayerButtonListener</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../listener/NextPlayerButtonListener.html" title="class in fr.lnl.game.client.listener">NextPlayerButtonListener</a></span>&nbsp;<span class="element-name">getNextPlayerButtonListener</span>()</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,131 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>fr.lnl.game.client.view (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: module: client, package: fr.lnl.game.client.view">
<meta name="generator" content="javadoc/PackageWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="package-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li class="nav-bar-cell1-rev">Package</li>
<li>Class</li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#package">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Package:&nbsp;</li>
<li><a href="#package-description">Description</a>&nbsp;|&nbsp;</li>
<li><a href="#related-package-summary">Related Packages</a>&nbsp;|&nbsp;</li>
<li><a href="#class-summary">Classes and Interfaces</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<div class="sub-title"><span class="module-label-in-package">Module</span>&nbsp;<a href="../../../../../module-summary.html">client</a></div>
<h1 title="Package fr.lnl.game.client.view" class="title">Package fr.lnl.game.client.view</h1>
</div>
<hr>
<div class="package-signature">package <span class="element-name">fr.lnl.game.client.view</span></div>
<section class="package-description" id="package-description">
<div class="block">View package, contains all classes about user view</div>
</section>
<section class="summary">
<ul class="summary-list">
<li>
<div id="related-package-summary">
<div class="caption"><span>Related Packages</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="../package-summary.html">fr.lnl.game.client</a></div>
<div class="col-last even-row-color">
<div class="block">Client package</div>
</div>
<div class="col-first odd-row-color"><a href="../listener/package-summary.html">fr.lnl.game.client.listener</a></div>
<div class="col-last odd-row-color">
<div class="block">Package that contains every view listeners</div>
</div>
</div>
</div>
</li>
<li>
<div id="class-summary">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Interfaces</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Classes</button></div>
<div id="class-summary.tabpanel" role="tabpanel">
<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="AbstractView.html" title="class in fr.lnl.game.client.view">AbstractView</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Abstract class implemented by every view classes</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="Cell.html" title="class in fr.lnl.game.client.view">Cell</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">classe qui a pour but de générer chaque case de la grid et de vérifier les entités présentes dessus
(Mur, Joueur, Energie, Bombe, etc.)</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="Terminal.html" title="class in fr.lnl.game.client.view">Terminal</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">View terminal, use standard input and output</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="View.html" title="interface in fr.lnl.game.client.view">View</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">View interface, implemented by Terminal and Window.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">View manager, main access to every views</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="Window.html" title="class in fr.lnl.game.client.view">Window</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Window view, use mouse and keyboard to control interface</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,95 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>fr.lnl.game.client.view Class Hierarchy (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="tree: module: client, package: fr.lnl.game.client.view">
<meta name="generator" content="javadoc/PackageTreeWriter">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="package-tree-page">
<script type="text/javascript">var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Class</li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="../../../../../../index-all.html">Index</a></li>
<li><a href="../../../../../../help-doc.html#tree">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For Package fr.lnl.game.client.view</h1>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="../../../../../../overview-tree.html">All Packages</a></li>
</ul>
</div>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">fr.lnl.game.client.view.<a href="AbstractView.html" class="type-name-link" title="class in fr.lnl.game.client.view">AbstractView</a> (implements fr.lnl.game.client.view.<a href="View.html" title="interface in fr.lnl.game.client.view">View</a>)
<ul>
<li class="circle">fr.lnl.game.client.view.<a href="Terminal.html" class="type-name-link" title="class in fr.lnl.game.client.view">Terminal</a></li>
<li class="circle">fr.lnl.game.client.view.<a href="Window.html" class="type-name-link" title="class in fr.lnl.game.client.view">Window</a></li>
</ul>
</li>
<li class="circle">javafx.scene.Node (implements javafx.event.EventTarget, javafx.css.Styleable)
<ul>
<li class="circle">javafx.scene.shape.Shape
<ul>
<li class="circle">javafx.scene.shape.Rectangle
<ul>
<li class="circle">fr.lnl.game.client.view.<a href="Cell.html" class="type-name-link" title="class in fr.lnl.game.client.view">Cell</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="circle">fr.lnl.game.client.view.<a href="ViewManager.html" class="type-name-link" title="class in fr.lnl.game.client.view">ViewManager</a></li>
</ul>
</li>
</ul>
</section>
<section class="hierarchy">
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li class="circle">fr.lnl.game.client.view.<a href="View.html" class="type-name-link" title="interface in fr.lnl.game.client.view">View</a></li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,84 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Constant Field Values (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="summary of constants">
<meta name="generator" content="javadoc/ConstantsSummaryWriterImpl">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="constants-summary-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="client/module-summary.html">Module</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#constant-values">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
<section class="packages">
<h2 title="Contents">Contents</h2>
<ul>
<li><a href="#fr.lnl">fr.lnl.*</a></li>
</ul>
</section>
</div>
<section class="constants-summary" id="fr.lnl.game.client.view">
<h2 title="fr.lnl">fr.lnl.*</h2>
<ul class="block-list">
<li>
<div class="caption"><span>fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Constant Field</div>
<div class="table-header col-last">Value</div>
<div class="col-first even-row-color"><code id="fr.lnl.game.client.view.Window.cellSize">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second even-row-color"><code><a href="client/fr/lnl/game/client/view/Window.html#cellSize">cellSize</a></code></div>
<div class="col-last even-row-color"><code>40</code></div>
<div class="col-first odd-row-color"><code id="fr.lnl.game.client.view.Window.height">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second odd-row-color"><code><a href="client/fr/lnl/game/client/view/Window.html#height">height</a></code></div>
<div class="col-last odd-row-color"><code>160</code></div>
<div class="col-first even-row-color"><code id="fr.lnl.game.client.view.Window.width">public&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second even-row-color"><code><a href="client/fr/lnl/game/client/view/Window.html#width">width</a></code></div>
<div class="col-last even-row-color"><code>500</code></div>
</div>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,4 @@
module:client
fr.lnl.game.client
fr.lnl.game.client.listener
fr.lnl.game.client.view

View File

@ -0,0 +1,185 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>API Help (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="help">
<meta name="generator" content="javadoc/HelpWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="help-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="client/module-summary.html">Module</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li class="nav-bar-cell1-rev">Help</li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Help:&nbsp;</li>
<li><a href="#help-navigation">Navigation</a>&nbsp;|&nbsp;</li>
<li><a href="#help-pages">Pages</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<h1 class="title">JavaDoc Help</h1>
<ul class="help-toc">
<li><a href="#help-navigation">Navigation</a>:
<ul class="help-subtoc">
<li><a href="#help-search">Search</a></li>
</ul>
</li>
<li><a href="#help-pages">Kinds of Pages</a>:
<ul class="help-subtoc">
<li><a href="#module">Module</a></li>
<li><a href="#package">Package</a></li>
<li><a href="#class">Class or Interface</a></li>
<li><a href="#doc-file">Other Files</a></li>
<li><a href="#tree">Tree (Class Hierarchy)</a></li>
<li><a href="#constant-values">Constant Field Values</a></li>
<li><a href="#all-packages">All Packages</a></li>
<li><a href="#all-classes">All Classes and Interfaces</a></li>
<li><a href="#index">Index</a></li>
</ul>
</li>
</ul>
<hr>
<div class="sub-title">
<h2 id="help-navigation">Navigation</h2>
Starting from the <a href="index.html">Overview</a> page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The <a href="index-all.html">Index</a> and Search box allow you to navigate to specific declarations and summary pages, including: <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>
<section class="help-section" id="help-search">
<h3>Search</h3>
<p>You can search for definitions of modules, packages, types, fields, methods, system properties and other terms defined in the API, using some or all of the name, optionally using "camelCase" abbreviations. For example:</p>
<ul class="help-section-list">
<li><code>j.l.obj</code> will match "java.lang.Object"</li>
<li><code>InpStr</code> will match "java.io.InputStream"</li>
<li><code>HM.cK</code> will match "java.util.HashMap.containsKey(Object)"</li>
</ul>
<p>Refer to the <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/javadoc/javadoc-search-spec.html">Javadoc Search Specification</a> for a full description of search features.</p>
</section>
</div>
<hr>
<div class="sub-title">
<h2 id="help-pages">Kinds of Pages</h2>
The following sections describe the different kinds of pages in this collection.
<section class="help-section" id="module">
<h3>Module</h3>
<p>Each module has a page that contains a list of its packages, dependencies on other modules, and services, with a summary for each. These pages may contain the following categories:</p>
<ul class="help-section-list">
<li>Packages</li>
<li>Modules</li>
<li>Services</li>
</ul>
</section>
<section class="help-section" id="package">
<h3>Package</h3>
<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:</p>
<ul class="help-section-list">
<li>Interfaces</li>
<li>Classes</li>
<li>Enum Classes</li>
<li>Exceptions</li>
<li>Errors</li>
<li>Annotation Interfaces</li>
</ul>
</section>
<section class="help-section" id="class">
<h3>Class or Interface</h3>
<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.</p>
<ul class="help-section-list">
<li>Class Inheritance Diagram</li>
<li>Direct Subclasses</li>
<li>All Known Subinterfaces</li>
<li>All Known Implementing Classes</li>
<li>Class or Interface Declaration</li>
<li>Class or Interface Description</li>
</ul>
<br>
<ul class="help-section-list">
<li>Nested Class Summary</li>
<li>Enum Constant Summary</li>
<li>Field Summary</li>
<li>Property Summary</li>
<li>Constructor Summary</li>
<li>Method Summary</li>
<li>Required Element Summary</li>
<li>Optional Element Summary</li>
</ul>
<br>
<ul class="help-section-list">
<li>Enum Constant Details</li>
<li>Field Details</li>
<li>Property Details</li>
<li>Constructor Details</li>
<li>Method Details</li>
<li>Element Details</li>
</ul>
<p><span class="help-note">Note:</span> Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.</p>
<p>The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
</section>
<section class="help-section" id="doc-file">
<h3>Other Files</h3>
<p>Packages and modules may contain pages with additional information related to the declarations nearby.</p>
</section>
<section class="help-section" id="tree">
<h3>Tree (Class Hierarchy)</h3>
<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with <code>java.lang.Object</code>. Interfaces do not inherit from <code>java.lang.Object</code>.</p>
<ul class="help-section-list">
<li>When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.</li>
<li>When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.</li>
</ul>
</section>
<section class="help-section" id="constant-values">
<h3>Constant Field Values</h3>
<p>The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.</p>
</section>
<section class="help-section" id="all-packages">
<h3>All Packages</h3>
<p>The <a href="allpackages-index.html">All Packages</a> page contains an alphabetic index of all packages contained in the documentation.</p>
</section>
<section class="help-section" id="all-classes">
<h3>All Classes and Interfaces</h3>
<p>The <a href="allclasses-index.html">All Classes and Interfaces</a> page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.</p>
</section>
<section class="help-section" id="index">
<h3>Index</h3>
<p>The <a href="index-all.html">Index</a> contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>.</p>
</section>
</div>
<hr>
<span class="help-footnote">This help file applies to API documentation generated by the standard doclet.</span></main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,482 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Index (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="index">
<meta name="generator" content="javadoc/IndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="index-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="client/module-summary.html">Module</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li class="nav-bar-cell1-rev">Index</li>
<li><a href="help-doc.html#index">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1>Index</h1>
</div>
<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="constant-values.html">Constant&nbsp;Field&nbsp;Values</a>
<h2 class="title" id="I:A">A</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/view/AbstractView.html" class="type-name-link" title="class in fr.lnl.game.client.view">AbstractView</a> - Class in <a href="client/fr/lnl/game/client/view/package-summary.html">fr.lnl.game.client.view</a></dt>
<dd>
<div class="block">Abstract class implemented by every view classes</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/AbstractView.html#%3Cinit%3E(fr.lnl.game.server.games.Game,fr.lnl.game.server.games.player.Player)" class="member-name-link">AbstractView(Game, Player)</a> - Constructor for class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/AbstractView.html" title="class in fr.lnl.game.client.view">AbstractView</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/listener/SelectDirectionListener.html#action" class="member-name-link">action</a> - Variable in class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/SelectDirectionListener.html" title="class in fr.lnl.game.client.listener">SelectDirectionListener</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#addButtonToPane(java.lang.String,javafx.event.EventHandler,javafx.scene.layout.Pane,int,int)" class="member-name-link">addButtonToPane(String, EventHandler&lt;ActionEvent&gt;, Pane, int, int)</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>
<div class="block">called when we add a button in the interface</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#addToPrincipalPanel(java.lang.Object,javafx.scene.layout.Pane,int,int)" class="member-name-link">addToPrincipalPanel(Object, Pane, int, int)</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>
<div class="block">Add grid element to the principal pane</div>
</dd>
<dt><a href="client/fr/lnl/game/client/App.html" class="type-name-link" title="class in fr.lnl.game.client">App</a> - Class in <a href="client/fr/lnl/game/client/package-summary.html">fr.lnl.game.client</a></dt>
<dd>
<div class="block">Application starting point</div>
</dd>
<dt><a href="client/fr/lnl/game/client/App.html#%3Cinit%3E()" class="member-name-link">App()</a> - Constructor for class fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/App.html#argsList" class="member-name-link">argsList</a> - Static variable in class fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></dt>
<dd>&nbsp;</dd>
</dl>
<h2 class="title" id="I:B">B</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/view/Cell.html#BACKGROUND_IMAGE" class="member-name-link">BACKGROUND_IMAGE</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Cell.html" title="class in fr.lnl.game.client.view">Cell</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#bg" class="member-name-link">bg</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Cell.html#BG" class="member-name-link">BG</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Cell.html" title="class in fr.lnl.game.client.view">Cell</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Cell.html#BOMB_IMAGE" class="member-name-link">BOMB_IMAGE</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Cell.html" title="class in fr.lnl.game.client.view">Cell</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#buttonPane" class="member-name-link">buttonPane</a> - Variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>&nbsp;</dd>
</dl>
<h2 class="title" id="I:C">C</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/view/Cell.html" class="type-name-link" title="class in fr.lnl.game.client.view">Cell</a> - Class in <a href="client/fr/lnl/game/client/view/package-summary.html">fr.lnl.game.client.view</a></dt>
<dd>
<div class="block">classe qui a pour but de générer chaque case de la grid et de vérifier les entités présentes dessus
(Mur, Joueur, Energie, Bombe, etc.)</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Cell.html#%3Cinit%3E(int,int)" class="member-name-link">Cell(int, int)</a> - Constructor for class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Cell.html" title="class in fr.lnl.game.client.view">Cell</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#cellSize" class="member-name-link">cellSize</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Terminal.html#choseAction()" class="member-name-link">choseAction()</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Terminal.html" title="class in fr.lnl.game.client.view">Terminal</a></dt>
<dd>
<div class="block">Used when current player is an instance of <code>HumanPlayer</code> and demand to it
an action to do</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#choseDirectionAction(fr.lnl.game.server.games.action.ReunionSameAction)" class="member-name-link">choseDirectionAction(ReunionSameAction)</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>
<div class="block">Choose a direction between all possible from the previously selected action type</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Terminal.html#choseReunionSameAction(java.util.List)" class="member-name-link">choseReunionSameAction(List&lt;ReunionSameAction&gt;)</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Terminal.html" title="class in fr.lnl.game.client.view">Terminal</a></dt>
<dd>
<div class="block">Used when current player is an instance of <code>HumanPlayer</code> and demand to it
a type of action to do</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#choseReunionSameAction(java.util.List)" class="member-name-link">choseReunionSameAction(List&lt;ReunionSameAction&gt;)</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>
<div class="block">Used when <code>Game.getCurrentPlayer()</code> is an instance of <code>HumanPlayer</code>.</div>
</dd>
<dt><a href="client/module-summary.html">client</a> - module client</dt>
<dd>
<div class="block">Client module, include every view and controller classes from MVC model</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/ClientEventHandler.html" class="type-name-link" title="class in fr.lnl.game.client.listener">ClientEventHandler</a> - Record Class in <a href="client/fr/lnl/game/client/listener/package-summary.html">fr.lnl.game.client.listener</a></dt>
<dd>
<div class="block">implementation of a listener from JavaFX <code>EventHandler</code></div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/ClientEventHandler.html#%3Cinit%3E(fr.lnl.game.server.listener.ModelListener)" class="member-name-link">ClientEventHandler(ModelListener)</a> - Constructor for record class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/ClientEventHandler.html" title="class in fr.lnl.game.client.listener">ClientEventHandler</a></dt>
<dd>
<div class="block">Creates an instance of a <code>ClientEventHandler</code> record class.</div>
</dd>
<dt><a href="client/fr/lnl/game/client/ClientPlayer.html" class="type-name-link" title="class in fr.lnl.game.client">ClientPlayer</a> - Record Class in <a href="client/fr/lnl/game/client/package-summary.html">fr.lnl.game.client</a></dt>
<dd>
<div class="block">Store a view per player</div>
</dd>
<dt><a href="client/fr/lnl/game/client/ClientPlayer.html#%3Cinit%3E(fr.lnl.game.server.games.player.Player,fr.lnl.game.client.view.View)" class="member-name-link">ClientPlayer(Player, View)</a> - Constructor for record class fr.lnl.game.client.<a href="client/fr/lnl/game/client/ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a></dt>
<dd>
<div class="block">Creates an instance of a <code>ClientPlayer</code> record class.</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#createContent()" class="member-name-link">createContent()</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>
<div class="block">Create content of the stage</div>
</dd>
<dt><a href="client/fr/lnl/game/client/App.html#createNewPlayer(java.lang.Class,fr.lnl.game.server.games.player.ClassPlayer,int)" class="member-name-link">createNewPlayer(Class&lt;? extends AbstractPlayer&gt;, ClassPlayer, int)</a> - Static method in class fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></dt>
<dd>
<div class="block">create a new instance of the player</div>
</dd>
<dt><a href="client/fr/lnl/game/client/ViewLambda.html#createViewLambda(fr.lnl.game.server.games.player.Player)" class="member-name-link">createViewLambda(Player)</a> - Method in interface fr.lnl.game.client.<a href="client/fr/lnl/game/client/ViewLambda.html" title="interface in fr.lnl.game.client">ViewLambda</a></dt>
<dd>
<div class="block">A lambda create an anonymous class which implements this interface</div>
</dd>
</dl>
<h2 class="title" id="I:D">D</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/view/Window.html#dark" class="member-name-link">dark</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Terminal.html#displayWinner(fr.lnl.game.server.games.player.Player)" class="member-name-link">displayWinner(Player)</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Terminal.html" title="class in fr.lnl.game.client.view">Terminal</a></dt>
<dd>
<div class="block">Used to display the winner of the game</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/View.html#displayWinner(fr.lnl.game.server.games.player.Player)" class="member-name-link">displayWinner(Player)</a> - Method in interface fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/View.html" title="interface in fr.lnl.game.client.view">View</a></dt>
<dd>
<div class="block">Used to display the name of the winner</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/ViewManager.html#displayWinner(fr.lnl.game.server.games.player.Player)" class="member-name-link">displayWinner(Player)</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></dt>
<dd>
<div class="block">This method is call when the game is finish</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#displayWinner(fr.lnl.game.server.games.player.Player)" class="member-name-link">displayWinner(Player)</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>
<div class="block">Used to display the name of the winner</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/NextPlayerButtonListener.html#displayWinnerEvent" class="member-name-link">displayWinnerEvent</a> - Variable in class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/NextPlayerButtonListener.html" title="class in fr.lnl.game.client.listener">NextPlayerButtonListener</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/listener/DisplayWinnerEvent.html" class="type-name-link" title="class in fr.lnl.game.client.listener">DisplayWinnerEvent</a> - Class in <a href="client/fr/lnl/game/client/listener/package-summary.html">fr.lnl.game.client.listener</a></dt>
<dd>
<div class="block">Used to display the winner of the game</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/DisplayWinnerEvent.html#%3Cinit%3E()" class="member-name-link">DisplayWinnerEvent()</a> - Constructor for class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/DisplayWinnerEvent.html" title="class in fr.lnl.game.client.listener">DisplayWinnerEvent</a></dt>
<dd>&nbsp;</dd>
</dl>
<h2 class="title" id="I:E">E</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/view/Cell.html#ENERGY_BALL_IMAGE" class="member-name-link">ENERGY_BALL_IMAGE</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Cell.html" title="class in fr.lnl.game.client.view">Cell</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/ClientPlayer.html#equals(java.lang.Object)" class="member-name-link">equals(Object)</a> - Method in record class fr.lnl.game.client.<a href="client/fr/lnl/game/client/ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a></dt>
<dd>
<div class="block">Indicates whether some other object is "equal to" this one.</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/ClientEventHandler.html#equals(java.lang.Object)" class="member-name-link">equals(Object)</a> - Method in record class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/ClientEventHandler.html" title="class in fr.lnl.game.client.listener">ClientEventHandler</a></dt>
<dd>
<div class="block">Indicates whether some other object is "equal to" this one.</div>
</dd>
</dl>
<h2 class="title" id="I:F">F</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/package-summary.html">fr.lnl.game.client</a> - package fr.lnl.game.client</dt>
<dd>
<div class="block">Client package</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/package-summary.html">fr.lnl.game.client.listener</a> - package fr.lnl.game.client.listener</dt>
<dd>
<div class="block">Package that contains every view listeners</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/package-summary.html">fr.lnl.game.client.view</a> - package fr.lnl.game.client.view</dt>
<dd>
<div class="block">View package, contains all classes about user view</div>
</dd>
</dl>
<h2 class="title" id="I:G">G</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/App.html#game" class="member-name-link">game</a> - Static variable in class fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/listener/NextPlayerButtonListener.html#game" class="member-name-link">game</a> - Variable in class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/NextPlayerButtonListener.html" title="class in fr.lnl.game.client.listener">NextPlayerButtonListener</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/listener/SelectActionButton.html#game" class="member-name-link">game</a> - Variable in class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/SelectActionButton.html" title="class in fr.lnl.game.client.listener">SelectActionButton</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/listener/SelectDirectionListener.html#game" class="member-name-link">game</a> - Variable in class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/SelectDirectionListener.html" title="class in fr.lnl.game.client.listener">SelectDirectionListener</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/AbstractView.html#game" class="member-name-link">game</a> - Variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/AbstractView.html" title="class in fr.lnl.game.client.view">AbstractView</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/ViewManager.html#game" class="member-name-link">game</a> - Variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/App.html#getGame()" class="member-name-link">getGame()</a> - Static method in class fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#getNextPlayerButtonListener()" class="member-name-link">getNextPlayerButtonListener()</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Cell.html#getPlayerImage()" class="member-name-link">getPlayerImage()</a> - Static method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Cell.html" title="class in fr.lnl.game.client.view">Cell</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/ClientPlayer.html#getServerPlayer()" class="member-name-link">getServerPlayer()</a> - Method in record class fr.lnl.game.client.<a href="client/fr/lnl/game/client/ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/ClientPlayer.html#getView()" class="member-name-link">getView()</a> - Method in record class fr.lnl.game.client.<a href="client/fr/lnl/game/client/ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/App.html#getViewManager()" class="member-name-link">getViewManager()</a> - Static method in class fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></dt>
<dd>&nbsp;</dd>
</dl>
<h2 class="title" id="I:H">H</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/listener/ClientEventHandler.html#handle(javafx.event.ActionEvent)" class="member-name-link">handle(ActionEvent)</a> - Method in record class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/ClientEventHandler.html" title="class in fr.lnl.game.client.listener">ClientEventHandler</a></dt>
<dd>
<div class="block">This method is call by JavaFX when we click to the button</div>
</dd>
<dt><a href="client/fr/lnl/game/client/ClientPlayer.html#hashCode()" class="member-name-link">hashCode()</a> - Method in record class fr.lnl.game.client.<a href="client/fr/lnl/game/client/ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a></dt>
<dd>
<div class="block">Returns a hash code value for this object.</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/ClientEventHandler.html#hashCode()" class="member-name-link">hashCode()</a> - Method in record class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/ClientEventHandler.html" title="class in fr.lnl.game.client.listener">ClientEventHandler</a></dt>
<dd>
<div class="block">Returns a hash code value for this object.</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#height" class="member-name-link">height</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>&nbsp;</dd>
</dl>
<h2 class="title" id="I:L">L</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/App.html#launchTerminal()" class="member-name-link">launchTerminal()</a> - Static method in class fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/listener/ClientEventHandler.html#listener" class="member-name-link">listener</a> - Variable in record class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/ClientEventHandler.html" title="class in fr.lnl.game.client.listener">ClientEventHandler</a></dt>
<dd>
<div class="block">The field for the <code>listener</code> record component.</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/ClientEventHandler.html#listener()" class="member-name-link">listener()</a> - Method in record class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/ClientEventHandler.html" title="class in fr.lnl.game.client.listener">ClientEventHandler</a></dt>
<dd>
<div class="block">Returns the value of the <code>listener</code> record component.</div>
</dd>
</dl>
<h2 class="title" id="I:M">M</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/App.html#main(java.lang.String%5B%5D)" class="member-name-link">main(String[])</a> - Static method in class fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Cell.html#MINE_IMAGE" class="member-name-link">MINE_IMAGE</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Cell.html" title="class in fr.lnl.game.client.view">Cell</a></dt>
<dd>&nbsp;</dd>
</dl>
<h2 class="title" id="I:N">N</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/view/Window.html#nextPlayerButtonListener" class="member-name-link">nextPlayerButtonListener</a> - Variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/listener/NextPlayerButtonListener.html" class="type-name-link" title="class in fr.lnl.game.client.listener">NextPlayerButtonListener</a> - Class in <a href="client/fr/lnl/game/client/listener/package-summary.html">fr.lnl.game.client.listener</a></dt>
<dd>
<div class="block">This method is call when the current player have selected an action to play (or if it's a computer player, will
select it), then we call <code>Game.play()</code> and we update the view</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/NextPlayerButtonListener.html#%3Cinit%3E(fr.lnl.game.server.games.Game)" class="member-name-link">NextPlayerButtonListener(Game)</a> - Constructor for class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/NextPlayerButtonListener.html" title="class in fr.lnl.game.client.listener">NextPlayerButtonListener</a></dt>
<dd>&nbsp;</dd>
</dl>
<h2 class="title" id="I:P">P</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/App.html#parsePlayers()" class="member-name-link">parsePlayers()</a> - Static method in class fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></dt>
<dd>
<div class="block">Parse players arguments and create instances for each player</div>
</dd>
<dt><a href="client/fr/lnl/game/client/App.html#parseView()" class="member-name-link">parseView()</a> - Static method in class fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></dt>
<dd>
<div class="block">Parse the first argument given by user to know the view to use (Terminal or Window)</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/AbstractView.html#player" class="member-name-link">player</a> - Variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/AbstractView.html" title="class in fr.lnl.game.client.view">AbstractView</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Cell.html#PLAYER_IMAGE" class="member-name-link">PLAYER_IMAGE</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Cell.html" title="class in fr.lnl.game.client.view">Cell</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Cell.html#PLAYER_SHIELD_IMAGE" class="member-name-link">PLAYER_SHIELD_IMAGE</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Cell.html" title="class in fr.lnl.game.client.view">Cell</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Cell.html#PLAYER_SHOT_IMAGE" class="member-name-link">PLAYER_SHOT_IMAGE</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Cell.html" title="class in fr.lnl.game.client.view">Cell</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/ViewManager.html#players" class="member-name-link">players</a> - Variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#putMoveTextPane(javafx.scene.layout.Pane)" class="member-name-link">putMoveTextPane(Pane)</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>
<div class="block">build left down pane and move it to its position</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#putStatePlayerPane(javafx.scene.layout.Pane)" class="member-name-link">putStatePlayerPane(Pane)</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>
<div class="block">Create the right pane</div>
</dd>
</dl>
<h2 class="title" id="I:R">R</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/listener/SelectActionButton.html#reunionSameAction" class="member-name-link">reunionSameAction</a> - Variable in class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/SelectActionButton.html" title="class in fr.lnl.game.client.listener">SelectActionButton</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/ViewManager.html#run()" class="member-name-link">run()</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></dt>
<dd>
<div class="block">This method is call after initialized view manager to display a first screen</div>
</dd>
</dl>
<h2 class="title" id="I:S">S</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/view/Terminal.html#scanner" class="member-name-link">scanner</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Terminal.html" title="class in fr.lnl.game.client.view">Terminal</a></dt>
<dd>
<div class="block">Standard input</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/SelectActionButton.html" class="type-name-link" title="class in fr.lnl.game.client.listener">SelectActionButton</a> - Class in <a href="client/fr/lnl/game/client/listener/package-summary.html">fr.lnl.game.client.listener</a></dt>
<dd>
<div class="block">Used when the human player select type of action it want to play</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/SelectActionButton.html#%3Cinit%3E(fr.lnl.game.server.games.Game,fr.lnl.game.client.view.Window,fr.lnl.game.server.games.action.ReunionSameAction)" class="member-name-link">SelectActionButton(Game, Window, ReunionSameAction)</a> - Constructor for class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/SelectActionButton.html" title="class in fr.lnl.game.client.listener">SelectActionButton</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/listener/SelectDirectionListener.html" class="type-name-link" title="class in fr.lnl.game.client.listener">SelectDirectionListener</a> - Class in <a href="client/fr/lnl/game/client/listener/package-summary.html">fr.lnl.game.client.listener</a></dt>
<dd>
<div class="block">Call when the player selected the direction where it wants to play it</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/SelectDirectionListener.html#%3Cinit%3E(fr.lnl.game.server.games.Game,fr.lnl.game.client.view.Window,fr.lnl.game.server.games.action.Action)" class="member-name-link">SelectDirectionListener(Game, Window, Action)</a> - Constructor for class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/SelectDirectionListener.html" title="class in fr.lnl.game.client.listener">SelectDirectionListener</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#selectedReunionAction" class="member-name-link">selectedReunionAction</a> - Variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/ClientPlayer.html#serverPlayer" class="member-name-link">serverPlayer</a> - Variable in record class fr.lnl.game.client.<a href="client/fr/lnl/game/client/ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a></dt>
<dd>
<div class="block">The field for the <code>serverPlayer</code> record component.</div>
</dd>
<dt><a href="client/fr/lnl/game/client/ClientPlayer.html#serverPlayer()" class="member-name-link">serverPlayer()</a> - Method in record class fr.lnl.game.client.<a href="client/fr/lnl/game/client/ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a></dt>
<dd>
<div class="block">Returns the value of the <code>serverPlayer</code> record component.</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Cell.html#setImageObject(java.lang.Object,fr.lnl.game.server.games.Game)" class="member-name-link">setImageObject(Object, Game)</a> - Static method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Cell.html" title="class in fr.lnl.game.client.view">Cell</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#setSelectedReunionAction(fr.lnl.game.server.games.action.ReunionSameAction)" class="member-name-link">setSelectedReunionAction(ReunionSameAction)</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Terminal.html#show()" class="member-name-link">show()</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Terminal.html" title="class in fr.lnl.game.client.view">Terminal</a></dt>
<dd>
<div class="block">Used to update view</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/View.html#show()" class="member-name-link">show()</a> - Method in interface fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/View.html" title="interface in fr.lnl.game.client.view">View</a></dt>
<dd>
<div class="block">used to update screen</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#show()" class="member-name-link">show()</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>
<div class="block">used to update screen</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#showMoveText()" class="member-name-link">showMoveText()</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>
<div class="block">Build the left down pane (contains current player information)</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#showStatePlayer(java.lang.String,int)" class="member-name-link">showStatePlayer(String, int)</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>
<div class="block">Build left down pane (list all players information)</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#stage" class="member-name-link">stage</a> - Variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/App.html#start(javafx.stage.Stage)" class="member-name-link">start(Stage)</a> - Method in class fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/App.html#startGame()" class="member-name-link">startGame()</a> - Static method in class fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></dt>
<dd>
<div class="block">Parse players arguments and create a new instance of Game</div>
</dd>
</dl>
<h2 class="title" id="I:T">T</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/view/Terminal.html" class="type-name-link" title="class in fr.lnl.game.client.view">Terminal</a> - Class in <a href="client/fr/lnl/game/client/view/package-summary.html">fr.lnl.game.client.view</a></dt>
<dd>
<div class="block">View terminal, use standard input and output</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Terminal.html#%3Cinit%3E(fr.lnl.game.server.games.Game,fr.lnl.game.server.games.player.Player)" class="member-name-link">Terminal(Game, Player)</a> - Constructor for class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Terminal.html" title="class in fr.lnl.game.client.view">Terminal</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/ViewManager.html#terminalView()" class="member-name-link">terminalView()</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></dt>
<dd>
<div class="block">This method is call when the view is a terminal</div>
</dd>
<dt><a href="client/fr/lnl/game/client/ClientPlayer.html#toString()" class="member-name-link">toString()</a> - Method in record class fr.lnl.game.client.<a href="client/fr/lnl/game/client/ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a></dt>
<dd>
<div class="block">Returns a string representation of this record class.</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/ClientEventHandler.html#toString()" class="member-name-link">toString()</a> - Method in record class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/ClientEventHandler.html" title="class in fr.lnl.game.client.listener">ClientEventHandler</a></dt>
<dd>
<div class="block">Returns a string representation of this record class.</div>
</dd>
</dl>
<h2 class="title" id="I:U">U</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/listener/DisplayWinnerEvent.html#updateModel(java.lang.Object)" class="member-name-link">updateModel(Object)</a> - Method in class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/DisplayWinnerEvent.html" title="class in fr.lnl.game.client.listener">DisplayWinnerEvent</a></dt>
<dd>
<div class="block">This method is call when the game is over</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/NextPlayerButtonListener.html#updateModel(java.lang.Object)" class="member-name-link">updateModel(Object)</a> - Method in class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/NextPlayerButtonListener.html" title="class in fr.lnl.game.client.listener">NextPlayerButtonListener</a></dt>
<dd>
<div class="block">Call when clicking on "SUIVANT" button if current player is a computer player or after the human player selected
action it want to play</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/SelectActionButton.html#updateModel(java.lang.Object)" class="member-name-link">updateModel(Object)</a> - Method in class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/SelectActionButton.html" title="class in fr.lnl.game.client.listener">SelectActionButton</a></dt>
<dd>
<div class="block">This method is call when the player select the type of action it want to play</div>
</dd>
<dt><a href="client/fr/lnl/game/client/listener/SelectDirectionListener.html#updateModel(java.lang.Object)" class="member-name-link">updateModel(Object)</a> - Method in class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/SelectDirectionListener.html" title="class in fr.lnl.game.client.listener">SelectDirectionListener</a></dt>
<dd>
<div class="block">This method is call when the player click on the button to select the direction of the previously selected action</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/ViewManager.html#updateView()" class="member-name-link">updateView()</a> - Method in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></dt>
<dd>
<div class="block">Call when we need to change or update view</div>
</dd>
</dl>
<h2 class="title" id="I:V">V</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/ClientPlayer.html#view" class="member-name-link">view</a> - Variable in record class fr.lnl.game.client.<a href="client/fr/lnl/game/client/ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a></dt>
<dd>
<div class="block">The field for the <code>view</code> record component.</div>
</dd>
<dt><a href="client/fr/lnl/game/client/ClientPlayer.html#view()" class="member-name-link">view()</a> - Method in record class fr.lnl.game.client.<a href="client/fr/lnl/game/client/ClientPlayer.html" title="class in fr.lnl.game.client">ClientPlayer</a></dt>
<dd>
<div class="block">Returns the value of the <code>view</code> record component.</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/View.html" class="type-name-link" title="interface in fr.lnl.game.client.view">View</a> - Interface in <a href="client/fr/lnl/game/client/view/package-summary.html">fr.lnl.game.client.view</a></dt>
<dd>
<div class="block">View interface, implemented by Terminal and Window.</div>
</dd>
<dt><a href="client/fr/lnl/game/client/ViewLambda.html" class="type-name-link" title="interface in fr.lnl.game.client">ViewLambda</a> - Interface in <a href="client/fr/lnl/game/client/package-summary.html">fr.lnl.game.client</a></dt>
<dd>
<div class="block">Used as Lambda expression to instantiate a <a href="client/fr/lnl/game/client/view/View.html" title="interface in fr.lnl.game.client.view"><code>View</code></a> per <code>Player</code> stored in <a href="client/fr/lnl/game/client/ClientPlayer.html" title="class in fr.lnl.game.client"><code>ClientPlayer</code></a></div>
</dd>
<dt><a href="client/fr/lnl/game/client/App.html#viewManager" class="member-name-link">viewManager</a> - Static variable in class fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" title="class in fr.lnl.game.client">App</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/ViewManager.html" class="type-name-link" title="class in fr.lnl.game.client.view">ViewManager</a> - Class in <a href="client/fr/lnl/game/client/view/package-summary.html">fr.lnl.game.client.view</a></dt>
<dd>
<div class="block">View manager, main access to every views</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/ViewManager.html#%3Cinit%3E(fr.lnl.game.server.games.Game,java.lang.Class,fr.lnl.game.client.ViewLambda)" class="member-name-link">ViewManager(Game, Class&lt;? extends View&gt;, ViewLambda)</a> - Constructor for class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/ViewManager.html#viewType" class="member-name-link">viewType</a> - Variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/ViewManager.html" title="class in fr.lnl.game.client.view">ViewManager</a></dt>
<dd>&nbsp;</dd>
</dl>
<h2 class="title" id="I:W">W</h2>
<dl class="index">
<dt><a href="client/fr/lnl/game/client/view/Cell.html#WALL_IMAGE" class="member-name-link">WALL_IMAGE</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Cell.html" title="class in fr.lnl.game.client.view">Cell</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#width" class="member-name-link">width</a> - Static variable in class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/listener/SelectActionButton.html#window" class="member-name-link">window</a> - Variable in class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/SelectActionButton.html" title="class in fr.lnl.game.client.listener">SelectActionButton</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/listener/SelectDirectionListener.html#window" class="member-name-link">window</a> - Variable in class fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/SelectDirectionListener.html" title="class in fr.lnl.game.client.listener">SelectDirectionListener</a></dt>
<dd>&nbsp;</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html" class="type-name-link" title="class in fr.lnl.game.client.view">Window</a> - Class in <a href="client/fr/lnl/game/client/view/package-summary.html">fr.lnl.game.client.view</a></dt>
<dd>
<div class="block">Window view, use mouse and keyboard to control interface</div>
</dd>
<dt><a href="client/fr/lnl/game/client/view/Window.html#%3Cinit%3E(javafx.stage.Stage,fr.lnl.game.server.games.Game,fr.lnl.game.server.games.player.Player)" class="member-name-link">Window(Stage, Game, Player)</a> - Constructor for class fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" title="class in fr.lnl.game.client.view">Window</a></dt>
<dd>&nbsp;</dd>
</dl>
<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:D">D</a>&nbsp;<a href="#I:E">E</a>&nbsp;<a href="#I:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:M">M</a>&nbsp;<a href="#I:N">N</a>&nbsp;<a href="#I:P">P</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:T">T</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:W">W</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes&nbsp;and&nbsp;Interfaces</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a><span class="vertical-separator">|</span><a href="constant-values.html">Constant&nbsp;Field&nbsp;Values</a></main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>client API</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="index redirect">
<meta name="generator" content="javadoc/IndexRedirectWriter">
<link rel="canonical" href="client/module-summary.html">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript">window.location.replace('client/module-summary.html')</script>
<noscript>
<meta http-equiv="Refresh" content="0;client/module-summary.html">
</noscript>
</head>
<body class="index-redirect-page">
<main role="main">
<noscript>
<p>JavaScript is disabled on your browser.</p>
</noscript>
<p><a href="client/module-summary.html">client/module-summary.html</a></p>
</main>
</body>
</html>

View File

@ -0,0 +1,34 @@
/*
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
/* Overrides the color of selection used in jQuery UI */
background: #F8981D;
}

View File

@ -0,0 +1 @@
Please see ..\java.base\COPYRIGHT

View File

@ -0,0 +1 @@
Please see ..\java.base\LICENSE

View File

@ -0,0 +1,72 @@
## jQuery v3.5.1
### jQuery License
```
jQuery v 3.5.1
Copyright JS Foundation and other contributors, https://js.foundation/
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
******************************************
The jQuery JavaScript Library v3.5.1 also includes Sizzle.js
Sizzle.js includes the following license:
Copyright JS Foundation and other contributors, https://js.foundation/
This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/jquery/sizzle
The following license applies to all parts of this software except as
documented below:
====
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
====
All files located in the node_modules and external directories are
externally maintained libraries used by this software which have their
own licenses; we recommend you read them, as their terms may differ from
the terms above.
*********************
```

View File

@ -0,0 +1,49 @@
## jQuery UI v1.12.1
### jQuery UI License
```
Copyright jQuery Foundation and other contributors, https://jquery.org/
This software consists of voluntary contributions made by many
individuals. For exact contribution history, see the revision history
available at https://github.com/jquery/jquery-ui
The following license applies to all parts of this software except as
documented below:
====
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
====
Copyright and related rights for sample code are waived via CC0. Sample
code is defined as all source code contained within the demos directory.
CC0: http://creativecommons.org/publicdomain/zero/1.0/
====
All files located in the node_modules and external directories are
externally maintained libraries used by this software which have their
own licenses; we recommend you read them, as their terms may differ from
the terms above.
```

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
moduleSearchIndex = [{"l":"client"}];updateSearchResults();

View File

@ -0,0 +1,117 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Class Hierarchy (client API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="class tree">
<meta name="generator" content="javadoc/TreeWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="tree-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li>Module</li>
<li>Package</li>
<li>Class</li>
<li class="nav-bar-cell1-rev">Tree</li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#tree">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 class="title">Hierarchy For All Packages</h1>
<span class="package-hierarchy-label">Package Hierarchies:</span>
<ul class="horizontal">
<li><a href="client/fr/lnl/game/client/package-tree.html">fr.lnl.game.client</a>, </li>
<li><a href="client/fr/lnl/game/client/listener/package-tree.html">fr.lnl.game.client.listener</a>, </li>
<li><a href="client/fr/lnl/game/client/view/package-tree.html">fr.lnl.game.client.view</a></li>
</ul>
</div>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="class or interface in java.lang">Object</a>
<ul>
<li class="circle">fr.lnl.game.server.listener.AbstractModelListening (implements fr.lnl.game.server.listener.ModelListener)
<ul>
<li class="circle">fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/DisplayWinnerEvent.html" class="type-name-link" title="class in fr.lnl.game.client.listener">DisplayWinnerEvent</a></li>
<li class="circle">fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/NextPlayerButtonListener.html" class="type-name-link" title="class in fr.lnl.game.client.listener">NextPlayerButtonListener</a></li>
<li class="circle">fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/SelectActionButton.html" class="type-name-link" title="class in fr.lnl.game.client.listener">SelectActionButton</a></li>
<li class="circle">fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/SelectDirectionListener.html" class="type-name-link" title="class in fr.lnl.game.client.listener">SelectDirectionListener</a></li>
</ul>
</li>
<li class="circle">fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/AbstractView.html" class="type-name-link" title="class in fr.lnl.game.client.view">AbstractView</a> (implements fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/View.html" title="interface in fr.lnl.game.client.view">View</a>)
<ul>
<li class="circle">fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Terminal.html" class="type-name-link" title="class in fr.lnl.game.client.view">Terminal</a></li>
<li class="circle">fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Window.html" class="type-name-link" title="class in fr.lnl.game.client.view">Window</a></li>
</ul>
</li>
<li class="circle">javafx.application.Application
<ul>
<li class="circle">fr.lnl.game.client.<a href="client/fr/lnl/game/client/App.html" class="type-name-link" title="class in fr.lnl.game.client">App</a></li>
</ul>
</li>
<li class="circle">javafx.scene.Node (implements javafx.event.EventTarget, javafx.css.Styleable)
<ul>
<li class="circle">javafx.scene.shape.Shape
<ul>
<li class="circle">javafx.scene.shape.Rectangle
<ul>
<li class="circle">fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/Cell.html" class="type-name-link" title="class in fr.lnl.game.client.view">Cell</a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Record.html" class="type-name-link external-link" title="class or interface in java.lang">Record</a>
<ul>
<li class="circle">fr.lnl.game.client.listener.<a href="client/fr/lnl/game/client/listener/ClientEventHandler.html" class="type-name-link" title="class in fr.lnl.game.client.listener">ClientEventHandler</a> (implements javafx.event.EventHandler&lt;T&gt;)</li>
<li class="circle">fr.lnl.game.client.<a href="client/fr/lnl/game/client/ClientPlayer.html" class="type-name-link" title="class in fr.lnl.game.client">ClientPlayer</a></li>
</ul>
</li>
<li class="circle">fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/ViewManager.html" class="type-name-link" title="class in fr.lnl.game.client.view">ViewManager</a></li>
</ul>
</li>
</ul>
</section>
<section class="hierarchy">
<h2 title="Interface Hierarchy">Interface Hierarchy</h2>
<ul>
<li class="circle">fr.lnl.game.client.view.<a href="client/fr/lnl/game/client/view/View.html" class="type-name-link" title="interface in fr.lnl.game.client.view">View</a></li>
<li class="circle">fr.lnl.game.client.<a href="client/fr/lnl/game/client/ViewLambda.html" class="type-name-link" title="interface in fr.lnl.game.client">ViewLambda</a></li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1 @@
packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"m":"client","l":"fr.lnl.game.client"},{"m":"client","l":"fr.lnl.game.client.listener"},{"m":"client","l":"fr.lnl.game.client.view"}];updateSearchResults();

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 332 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,5 @@
/*! jQuery UI - v1.12.1 - 2018-12-06
* http://jqueryui.com
* Copyright jQuery Foundation and other contributors; Licensed MIT */
.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}

View File

@ -0,0 +1,132 @@
/*
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
var moduleSearchIndex;
var packageSearchIndex;
var typeSearchIndex;
var memberSearchIndex;
var tagSearchIndex;
function loadScripts(doc, tag) {
createElem(doc, tag, 'search.js');
createElem(doc, tag, 'module-search-index.js');
createElem(doc, tag, 'package-search-index.js');
createElem(doc, tag, 'type-search-index.js');
createElem(doc, tag, 'member-search-index.js');
createElem(doc, tag, 'tag-search-index.js');
}
function createElem(doc, tag, path) {
var script = doc.createElement(tag);
var scriptElement = doc.getElementsByTagName(tag)[0];
script.src = pathtoroot + path;
scriptElement.parentNode.insertBefore(script, scriptElement);
}
function show(tableId, selected, columns) {
if (tableId !== selected) {
document.querySelectorAll('div.' + tableId + ':not(.' + selected + ')')
.forEach(function(elem) {
elem.style.display = 'none';
});
}
document.querySelectorAll('div.' + selected)
.forEach(function(elem, index) {
elem.style.display = '';
var isEvenRow = index % (columns * 2) < columns;
elem.classList.remove(isEvenRow ? oddRowColor : evenRowColor);
elem.classList.add(isEvenRow ? evenRowColor : oddRowColor);
});
updateTabs(tableId, selected);
}
function updateTabs(tableId, selected) {
document.querySelector('div#' + tableId +' .summary-table')
.setAttribute('aria-labelledby', selected);
document.querySelectorAll('button[id^="' + tableId + '"]')
.forEach(function(tab, index) {
if (selected === tab.id || (tableId === selected && index === 0)) {
tab.className = activeTableTab;
tab.setAttribute('aria-selected', true);
tab.setAttribute('tabindex',0);
} else {
tab.className = tableTab;
tab.setAttribute('aria-selected', false);
tab.setAttribute('tabindex',-1);
}
});
}
function switchTab(e) {
var selected = document.querySelector('[aria-selected=true]');
if (selected) {
if ((e.keyCode === 37 || e.keyCode === 38) && selected.previousSibling) {
// left or up arrow key pressed: move focus to previous tab
selected.previousSibling.click();
selected.previousSibling.focus();
e.preventDefault();
} else if ((e.keyCode === 39 || e.keyCode === 40) && selected.nextSibling) {
// right or down arrow key pressed: move focus to next tab
selected.nextSibling.click();
selected.nextSibling.focus();
e.preventDefault();
}
}
}
var updateSearchResults = function() {};
function indexFilesLoaded() {
return moduleSearchIndex
&& packageSearchIndex
&& typeSearchIndex
&& memberSearchIndex
&& tagSearchIndex;
}
// Workaround for scroll position not being included in browser history (8249133)
document.addEventListener("DOMContentLoaded", function(e) {
var contentDiv = document.querySelector("div.flex-content");
window.addEventListener("popstate", function(e) {
if (e.state !== null) {
contentDiv.scrollTop = e.state;
}
});
window.addEventListener("hashchange", function(e) {
history.replaceState(contentDiv.scrollTop, document.title);
});
contentDiv.addEventListener("scroll", function(e) {
var timeoutID;
if (!timeoutID) {
timeoutID = setTimeout(function() {
history.replaceState(contentDiv.scrollTop, document.title);
timeoutID = null;
}, 100);
}
});
if (!location.hash) {
history.replaceState(contentDiv.scrollTop, document.title);
}
});

View File

@ -0,0 +1,354 @@
/*
* Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
var noResult = {l: "No results found"};
var loading = {l: "Loading search index..."};
var catModules = "Modules";
var catPackages = "Packages";
var catTypes = "Classes and Interfaces";
var catMembers = "Members";
var catSearchTags = "Search Tags";
var highlight = "<span class=\"result-highlight\">$&</span>";
var searchPattern = "";
var fallbackPattern = "";
var RANKING_THRESHOLD = 2;
var NO_MATCH = 0xffff;
var MIN_RESULTS = 3;
var MAX_RESULTS = 500;
var UNNAMED = "<Unnamed>";
function escapeHtml(str) {
return str.replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
function getHighlightedText(item, matcher, fallbackMatcher) {
var escapedItem = escapeHtml(item);
var highlighted = escapedItem.replace(matcher, highlight);
if (highlighted === escapedItem) {
highlighted = escapedItem.replace(fallbackMatcher, highlight)
}
return highlighted;
}
function getURLPrefix(ui) {
var urlPrefix="";
var slash = "/";
if (ui.item.category === catModules) {
return ui.item.l + slash;
} else if (ui.item.category === catPackages && ui.item.m) {
return ui.item.m + slash;
} else if (ui.item.category === catTypes || ui.item.category === catMembers) {
if (ui.item.m) {
urlPrefix = ui.item.m + slash;
} else {
$.each(packageSearchIndex, function(index, item) {
if (item.m && ui.item.p === item.l) {
urlPrefix = item.m + slash;
}
});
}
}
return urlPrefix;
}
function createSearchPattern(term) {
var pattern = "";
var isWordToken = false;
term.replace(/,\s*/g, ", ").trim().split(/\s+/).forEach(function(w, index) {
if (index > 0) {
// whitespace between identifiers is significant
pattern += (isWordToken && /^\w/.test(w)) ? "\\s+" : "\\s*";
}
var tokens = w.split(/(?=[A-Z,.()<>[\/])/);
for (var i = 0; i < tokens.length; i++) {
var s = tokens[i];
if (s === "") {
continue;
}
pattern += $.ui.autocomplete.escapeRegex(s);
isWordToken = /\w$/.test(s);
if (isWordToken) {
pattern += "([a-z0-9_$<>\\[\\]]*?)";
}
}
});
return pattern;
}
function createMatcher(pattern, flags) {
var isCamelCase = /[A-Z]/.test(pattern);
return new RegExp(pattern, flags + (isCamelCase ? "" : "i"));
}
var watermark = 'Search';
$(function() {
var search = $("#search-input");
var reset = $("#reset-button");
search.val('');
search.prop("disabled", false);
reset.prop("disabled", false);
search.val(watermark).addClass('watermark');
search.blur(function() {
if ($(this).val().length === 0) {
$(this).val(watermark).addClass('watermark');
}
});
search.on('click keydown paste', function() {
if ($(this).val() === watermark) {
$(this).val('').removeClass('watermark');
}
});
reset.click(function() {
search.val('').focus();
});
search.focus()[0].setSelectionRange(0, 0);
});
$.widget("custom.catcomplete", $.ui.autocomplete, {
_create: function() {
this._super();
this.widget().menu("option", "items", "> :not(.ui-autocomplete-category)");
},
_renderMenu: function(ul, items) {
var rMenu = this;
var currentCategory = "";
rMenu.menu.bindings = $();
$.each(items, function(index, item) {
var li;
if (item.category && item.category !== currentCategory) {
ul.append("<li class=\"ui-autocomplete-category\">" + item.category + "</li>");
currentCategory = item.category;
}
li = rMenu._renderItemData(ul, item);
if (item.category) {
li.attr("aria-label", item.category + " : " + item.l);
li.attr("class", "result-item");
} else {
li.attr("aria-label", item.l);
li.attr("class", "result-item");
}
});
},
_renderItem: function(ul, item) {
var label = "";
var matcher = createMatcher(escapeHtml(searchPattern), "g");
var fallbackMatcher = new RegExp(fallbackPattern, "gi")
if (item.category === catModules) {
label = getHighlightedText(item.l, matcher, fallbackMatcher);
} else if (item.category === catPackages) {
label = getHighlightedText(item.l, matcher, fallbackMatcher);
} else if (item.category === catTypes) {
label = (item.p && item.p !== UNNAMED)
? getHighlightedText(item.p + "." + item.l, matcher, fallbackMatcher)
: getHighlightedText(item.l, matcher, fallbackMatcher);
} else if (item.category === catMembers) {
label = (item.p && item.p !== UNNAMED)
? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher, fallbackMatcher)
: getHighlightedText(item.c + "." + item.l, matcher, fallbackMatcher);
} else if (item.category === catSearchTags) {
label = getHighlightedText(item.l, matcher, fallbackMatcher);
} else {
label = item.l;
}
var li = $("<li/>").appendTo(ul);
var div = $("<div/>").appendTo(li);
if (item.category === catSearchTags && item.h) {
if (item.d) {
div.html(label + "<span class=\"search-tag-holder-result\"> (" + item.h + ")</span><br><span class=\"search-tag-desc-result\">"
+ item.d + "</span><br>");
} else {
div.html(label + "<span class=\"search-tag-holder-result\"> (" + item.h + ")</span>");
}
} else {
if (item.m) {
div.html(item.m + "/" + label);
} else {
div.html(label);
}
}
return li;
}
});
function rankMatch(match, category) {
if (!match) {
return NO_MATCH;
}
var index = match.index;
var input = match.input;
var leftBoundaryMatch = 2;
var periferalMatch = 0;
// make sure match is anchored on a left word boundary
if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index]) {
leftBoundaryMatch = 0;
} else if ("_" === input[index - 1] || (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input))) {
leftBoundaryMatch = 1;
}
var matchEnd = index + match[0].length;
var leftParen = input.indexOf("(");
var endOfName = leftParen > -1 ? leftParen : input.length;
// exclude peripheral matches
if (category !== catModules && category !== catSearchTags) {
var delim = category === catPackages ? "/" : ".";
if (leftParen > -1 && leftParen < index) {
periferalMatch += 2;
} else if (input.lastIndexOf(delim, endOfName) >= matchEnd) {
periferalMatch += 2;
}
}
var delta = match[0].length === endOfName ? 0 : 1; // rank full match higher than partial match
for (var i = 1; i < match.length; i++) {
// lower ranking if parts of the name are missing
if (match[i])
delta += match[i].length;
}
if (category === catTypes) {
// lower ranking if a type name contains unmatched camel-case parts
if (/[A-Z]/.test(input.substring(matchEnd)))
delta += 5;
if (/[A-Z]/.test(input.substring(0, index)))
delta += 5;
}
return leftBoundaryMatch + periferalMatch + (delta / 200);
}
function doSearch(request, response) {
var result = [];
searchPattern = createSearchPattern(request.term);
fallbackPattern = createSearchPattern(request.term.toLowerCase());
if (searchPattern === "") {
return this.close();
}
var camelCaseMatcher = createMatcher(searchPattern, "");
var fallbackMatcher = new RegExp(fallbackPattern, "i");
function searchIndexWithMatcher(indexArray, matcher, category, nameFunc) {
if (indexArray) {
var newResults = [];
$.each(indexArray, function (i, item) {
item.category = category;
var ranking = rankMatch(matcher.exec(nameFunc(item)), category);
if (ranking < RANKING_THRESHOLD) {
newResults.push({ranking: ranking, item: item});
}
return newResults.length <= MAX_RESULTS;
});
return newResults.sort(function(e1, e2) {
return e1.ranking - e2.ranking;
}).map(function(e) {
return e.item;
});
}
return [];
}
function searchIndex(indexArray, category, nameFunc) {
var primaryResults = searchIndexWithMatcher(indexArray, camelCaseMatcher, category, nameFunc);
result = result.concat(primaryResults);
if (primaryResults.length <= MIN_RESULTS && !camelCaseMatcher.ignoreCase) {
var secondaryResults = searchIndexWithMatcher(indexArray, fallbackMatcher, category, nameFunc);
result = result.concat(secondaryResults.filter(function (item) {
return primaryResults.indexOf(item) === -1;
}));
}
}
searchIndex(moduleSearchIndex, catModules, function(item) { return item.l; });
searchIndex(packageSearchIndex, catPackages, function(item) {
return (item.m && request.term.indexOf("/") > -1)
? (item.m + "/" + item.l) : item.l;
});
searchIndex(typeSearchIndex, catTypes, function(item) {
return request.term.indexOf(".") > -1 ? item.p + "." + item.l : item.l;
});
searchIndex(memberSearchIndex, catMembers, function(item) {
return request.term.indexOf(".") > -1
? item.p + "." + item.c + "." + item.l : item.l;
});
searchIndex(tagSearchIndex, catSearchTags, function(item) { return item.l; });
if (!indexFilesLoaded()) {
updateSearchResults = function() {
doSearch(request, response);
}
result.unshift(loading);
} else {
updateSearchResults = function() {};
}
response(result);
}
$(function() {
$("#search-input").catcomplete({
minLength: 1,
delay: 300,
source: doSearch,
response: function(event, ui) {
if (!ui.content.length) {
ui.content.push(noResult);
} else {
$("#search-input").empty();
}
},
autoFocus: true,
focus: function(event, ui) {
return false;
},
position: {
collision: "flip"
},
select: function(event, ui) {
if (ui.item.category) {
var url = getURLPrefix(ui);
if (ui.item.category === catModules) {
url += "module-summary.html";
} else if (ui.item.category === catPackages) {
if (ui.item.u) {
url = ui.item.u;
} else {
url += ui.item.l.replace(/\./g, '/') + "/package-summary.html";
}
} else if (ui.item.category === catTypes) {
if (ui.item.u) {
url = ui.item.u;
} else if (ui.item.p === UNNAMED) {
url += ui.item.l + ".html";
} else {
url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.l + ".html";
}
} else if (ui.item.category === catMembers) {
if (ui.item.p === UNNAMED) {
url += ui.item.c + ".html" + "#";
} else {
url += ui.item.p.replace(/\./g, '/') + "/" + ui.item.c + ".html" + "#";
}
if (ui.item.u) {
url += ui.item.u;
} else {
url += ui.item.l;
}
} else if (ui.item.category === catSearchTags) {
url += ui.item.u;
}
if (top !== window) {
parent.classFrame.location = pathtoroot + url;
} else {
window.location.href = pathtoroot + url;
}
$("#search-input").focus();
}
}
});
});

View File

@ -0,0 +1,865 @@
/*
* Javadoc style sheet
*/
@import url('resources/fonts/dejavu.css');
/*
* Styles for individual HTML elements.
*
* These are styles that are specific to individual HTML elements. Changing them affects the style of a particular
* HTML element throughout the page.
*/
body {
background-color:#ffffff;
color:#353833;
font-family:'DejaVu Sans', Arial, Helvetica, sans-serif;
font-size:14px;
margin:0;
padding:0;
height:100%;
width:100%;
}
iframe {
margin:0;
padding:0;
height:100%;
width:100%;
overflow-y:scroll;
border:none;
}
a:link, a:visited {
text-decoration:none;
color:#4A6782;
}
a[href]:hover, a[href]:focus {
text-decoration:none;
color:#bb7a2a;
}
a[name] {
color:#353833;
}
pre {
font-family:'DejaVu Sans Mono', monospace;
font-size:14px;
}
h1 {
font-size:20px;
}
h2 {
font-size:18px;
}
h3 {
font-size:16px;
}
h4 {
font-size:15px;
}
h5 {
font-size:14px;
}
h6 {
font-size:13px;
}
ul {
list-style-type:disc;
}
code, tt {
font-family:'DejaVu Sans Mono', monospace;
}
:not(h1, h2, h3, h4, h5, h6) > code,
:not(h1, h2, h3, h4, h5, h6) > tt {
font-size:14px;
padding-top:4px;
margin-top:8px;
line-height:1.4em;
}
dt code {
font-family:'DejaVu Sans Mono', monospace;
font-size:14px;
padding-top:4px;
}
.summary-table dt code {
font-family:'DejaVu Sans Mono', monospace;
font-size:14px;
vertical-align:top;
padding-top:4px;
}
sup {
font-size:8px;
}
button {
font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
font-size: 14px;
}
/*
* Styles for HTML generated by javadoc.
*
* These are style classes that are used by the standard doclet to generate HTML documentation.
*/
/*
* Styles for document title and copyright.
*/
.clear {
clear:both;
height:0;
overflow:hidden;
}
.about-language {
float:right;
padding:0 21px 8px 8px;
font-size:11px;
margin-top:-9px;
height:2.9em;
}
.legal-copy {
margin-left:.5em;
}
.tab {
background-color:#0066FF;
color:#ffffff;
padding:8px;
width:5em;
font-weight:bold;
}
/*
* Styles for navigation bar.
*/
@media screen {
.flex-box {
position:fixed;
display:flex;
flex-direction:column;
height: 100%;
width: 100%;
}
.flex-header {
flex: 0 0 auto;
}
.flex-content {
flex: 1 1 auto;
overflow-y: auto;
}
}
.top-nav {
background-color:#4D7A97;
color:#FFFFFF;
float:left;
padding:0;
width:100%;
clear:right;
min-height:2.8em;
padding-top:10px;
overflow:hidden;
font-size:12px;
}
.sub-nav {
background-color:#dee3e9;
float:left;
width:100%;
overflow:hidden;
font-size:12px;
}
.sub-nav div {
clear:left;
float:left;
padding:0 0 5px 6px;
text-transform:uppercase;
}
.sub-nav .nav-list {
padding-top:5px;
}
ul.nav-list {
display:block;
margin:0 25px 0 0;
padding:0;
}
ul.sub-nav-list {
float:left;
margin:0 25px 0 0;
padding:0;
}
ul.nav-list li {
list-style:none;
float:left;
padding: 5px 6px;
text-transform:uppercase;
}
.sub-nav .nav-list-search {
float:right;
margin:0 0 0 0;
padding:5px 6px;
clear:none;
}
.nav-list-search label {
position:relative;
right:-16px;
}
ul.sub-nav-list li {
list-style:none;
float:left;
padding-top:10px;
}
.top-nav a:link, .top-nav a:active, .top-nav a:visited {
color:#FFFFFF;
text-decoration:none;
text-transform:uppercase;
}
.top-nav a:hover {
text-decoration:none;
color:#bb7a2a;
text-transform:uppercase;
}
.nav-bar-cell1-rev {
background-color:#F8981D;
color:#253441;
margin: auto 5px;
}
.skip-nav {
position:absolute;
top:auto;
left:-9999px;
overflow:hidden;
}
/*
* Hide navigation links and search box in print layout
*/
@media print {
ul.nav-list, div.sub-nav {
display:none;
}
}
/*
* Styles for page header and footer.
*/
.title {
color:#2c4557;
margin:10px 0;
}
.sub-title {
margin:5px 0 0 0;
}
.header ul {
margin:0 0 15px 0;
padding:0;
}
.header ul li, .footer ul li {
list-style:none;
font-size:13px;
}
/*
* Styles for headings.
*/
body.class-declaration-page .summary h2,
body.class-declaration-page .details h2,
body.class-use-page h2,
body.module-declaration-page .block-list h2 {
font-style: italic;
padding:0;
margin:15px 0;
}
body.class-declaration-page .summary h3,
body.class-declaration-page .details h3,
body.class-declaration-page .summary .inherited-list h2 {
background-color:#dee3e9;
border:1px solid #d0d9e0;
margin:0 0 6px -8px;
padding:7px 5px;
}
/*
* Styles for page layout containers.
*/
main {
clear:both;
padding:10px 20px;
position:relative;
}
dl.notes > dt {
font-family: 'DejaVu Sans', Arial, Helvetica, sans-serif;
font-size:12px;
font-weight:bold;
margin:10px 0 0 0;
color:#4E4E4E;
}
dl.notes > dd {
margin:5px 10px 10px 0;
font-size:14px;
font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
}
dl.name-value > dt {
margin-left:1px;
font-size:1.1em;
display:inline;
font-weight:bold;
}
dl.name-value > dd {
margin:0 0 0 1px;
font-size:1.1em;
display:inline;
}
/*
* Styles for lists.
*/
li.circle {
list-style:circle;
}
ul.horizontal li {
display:inline;
font-size:0.9em;
}
div.inheritance {
margin:0;
padding:0;
}
div.inheritance div.inheritance {
margin-left:2em;
}
ul.block-list,
ul.details-list,
ul.member-list,
ul.summary-list {
margin:10px 0 10px 0;
padding:0;
}
ul.block-list > li,
ul.details-list > li,
ul.member-list > li,
ul.summary-list > li {
list-style:none;
margin-bottom:15px;
line-height:1.4;
}
.summary-table dl, .summary-table dl dt, .summary-table dl dd {
margin-top:0;
margin-bottom:1px;
}
ul.see-list, ul.see-list-long {
padding-left: 0;
list-style: none;
}
ul.see-list li {
display: inline;
}
ul.see-list li:not(:last-child):after,
ul.see-list-long li:not(:last-child):after {
content: ", ";
white-space: pre-wrap;
}
/*
* Styles for tables.
*/
.summary-table, .details-table {
width:100%;
border-spacing:0;
border-left:1px solid #EEE;
border-right:1px solid #EEE;
border-bottom:1px solid #EEE;
padding:0;
}
.caption {
position:relative;
text-align:left;
background-repeat:no-repeat;
color:#253441;
font-weight:bold;
clear:none;
overflow:hidden;
padding:0;
padding-top:10px;
padding-left:1px;
margin:0;
white-space:pre;
}
.caption a:link, .caption a:visited {
color:#1f389c;
}
.caption a:hover,
.caption a:active {
color:#FFFFFF;
}
.caption span {
white-space:nowrap;
padding-top:5px;
padding-left:12px;
padding-right:12px;
padding-bottom:7px;
display:inline-block;
float:left;
background-color:#F8981D;
border: none;
height:16px;
}
div.table-tabs {
padding:10px 0 0 1px;
margin:0;
}
div.table-tabs > button {
border: none;
cursor: pointer;
padding: 5px 12px 7px 12px;
font-weight: bold;
margin-right: 3px;
}
div.table-tabs > button.active-table-tab {
background: #F8981D;
color: #253441;
}
div.table-tabs > button.table-tab {
background: #4D7A97;
color: #FFFFFF;
}
.two-column-summary {
display: grid;
grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
}
.three-column-summary {
display: grid;
grid-template-columns: minmax(10%, max-content) minmax(15%, max-content) minmax(15%, auto);
}
.four-column-summary {
display: grid;
grid-template-columns: minmax(10%, max-content) minmax(10%, max-content) minmax(10%, max-content) minmax(10%, auto);
}
@media screen and (max-width: 600px) {
.two-column-summary {
display: grid;
grid-template-columns: 1fr;
}
}
@media screen and (max-width: 800px) {
.three-column-summary {
display: grid;
grid-template-columns: minmax(10%, max-content) minmax(25%, auto);
}
.three-column-summary .col-last {
grid-column-end: span 2;
}
}
@media screen and (max-width: 1000px) {
.four-column-summary {
display: grid;
grid-template-columns: minmax(15%, max-content) minmax(15%, auto);
}
}
.summary-table > div, .details-table > div {
text-align:left;
padding: 8px 3px 3px 7px;
}
.col-first, .col-second, .col-last, .col-constructor-name, .col-summary-item-name {
vertical-align:top;
padding-right:0;
padding-top:8px;
padding-bottom:3px;
}
.table-header {
background:#dee3e9;
font-weight: bold;
}
.col-first, .col-first {
font-size:13px;
}
.col-second, .col-second, .col-last, .col-constructor-name, .col-summary-item-name, .col-last {
font-size:13px;
}
.col-first, .col-second, .col-constructor-name {
vertical-align:top;
overflow: auto;
}
.col-last {
white-space:normal;
}
.col-first a:link, .col-first a:visited,
.col-second a:link, .col-second a:visited,
.col-first a:link, .col-first a:visited,
.col-second a:link, .col-second a:visited,
.col-constructor-name a:link, .col-constructor-name a:visited,
.col-summary-item-name a:link, .col-summary-item-name a:visited,
.constant-values-container a:link, .constant-values-container a:visited,
.all-classes-container a:link, .all-classes-container a:visited,
.all-packages-container a:link, .all-packages-container a:visited {
font-weight:bold;
}
.table-sub-heading-color {
background-color:#EEEEFF;
}
.even-row-color, .even-row-color .table-header {
background-color:#FFFFFF;
}
.odd-row-color, .odd-row-color .table-header {
background-color:#EEEEEF;
}
/*
* Styles for contents.
*/
.deprecated-content {
margin:0;
padding:10px 0;
}
div.block {
font-size:14px;
font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
}
.col-last div {
padding-top:0;
}
.col-last a {
padding-bottom:3px;
}
.module-signature,
.package-signature,
.type-signature,
.member-signature {
font-family:'DejaVu Sans Mono', monospace;
font-size:14px;
margin:14px 0;
white-space: pre-wrap;
}
.module-signature,
.package-signature,
.type-signature {
margin-top: 0;
}
.member-signature .type-parameters-long,
.member-signature .parameters,
.member-signature .exceptions {
display: inline-block;
vertical-align: top;
white-space: pre;
}
.member-signature .type-parameters {
white-space: normal;
}
/*
* Styles for formatting effect.
*/
.source-line-no {
color:green;
padding:0 30px 0 0;
}
h1.hidden {
visibility:hidden;
overflow:hidden;
font-size:10px;
}
.block {
display:block;
margin:0 10px 5px 0;
color:#474747;
}
.deprecated-label, .descfrm-type-label, .implementation-label, .member-name-label, .member-name-link,
.module-label-in-package, .module-label-in-type, .override-specify-label, .package-label-in-type,
.package-hierarchy-label, .type-name-label, .type-name-link, .search-tag-link, .preview-label {
font-weight:bold;
}
.deprecation-comment, .help-footnote, .preview-comment {
font-style:italic;
}
.deprecation-block {
font-size:14px;
font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
border-style:solid;
border-width:thin;
border-radius:10px;
padding:10px;
margin-bottom:10px;
margin-right:10px;
display:inline-block;
}
.preview-block {
font-size:14px;
font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
border-style:solid;
border-width:thin;
border-radius:10px;
padding:10px;
margin-bottom:10px;
margin-right:10px;
display:inline-block;
}
div.block div.deprecation-comment {
font-style:normal;
}
/*
* Styles specific to HTML5 elements.
*/
main, nav, header, footer, section {
display:block;
}
/*
* Styles for javadoc search.
*/
.ui-autocomplete-category {
font-weight:bold;
font-size:15px;
padding:7px 0 7px 3px;
background-color:#4D7A97;
color:#FFFFFF;
}
.result-item {
font-size:13px;
}
.ui-autocomplete {
max-height:85%;
max-width:65%;
overflow-y:scroll;
overflow-x:scroll;
white-space:nowrap;
box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
}
ul.ui-autocomplete {
position:fixed;
z-index:999999;
}
ul.ui-autocomplete li {
float:left;
clear:both;
width:100%;
}
.result-highlight {
font-weight:bold;
}
#search-input {
background-image:url('resources/glass.png');
background-size:13px;
background-repeat:no-repeat;
background-position:2px 3px;
padding-left:20px;
position:relative;
right:-18px;
width:400px;
}
#reset-button {
background-color: rgb(255,255,255);
background-image:url('resources/x.png');
background-position:center;
background-repeat:no-repeat;
background-size:12px;
border:0 none;
width:16px;
height:16px;
position:relative;
left:-4px;
top:-4px;
font-size:0px;
}
.watermark {
color:#545454;
}
.search-tag-desc-result {
font-style:italic;
font-size:11px;
}
.search-tag-holder-result {
font-style:italic;
font-size:12px;
}
.search-tag-result:target {
background-color:yellow;
}
.module-graph span {
display:none;
position:absolute;
}
.module-graph:hover span {
display:block;
margin: -100px 0 0 100px;
z-index: 1;
}
.inherited-list {
margin: 10px 0 10px 0;
}
section.class-description {
line-height: 1.4;
}
.summary section[class$="-summary"], .details section[class$="-details"],
.class-uses .detail, .serialized-class-details {
padding: 0px 20px 5px 10px;
border: 1px solid #ededed;
background-color: #f8f8f8;
}
.inherited-list, section[class$="-details"] .detail {
padding:0 0 5px 8px;
background-color:#ffffff;
border:none;
}
.vertical-separator {
padding: 0 5px;
}
ul.help-section-list {
margin: 0;
}
ul.help-subtoc > li {
display: inline-block;
padding-right: 5px;
font-size: smaller;
}
ul.help-subtoc > li::before {
content: "\2022" ;
padding-right:2px;
}
span.help-note {
font-style: italic;
}
/*
* Indicator icon for external links.
*/
main a[href*="://"]::after {
content:"";
display:inline-block;
background-image:url('data:image/svg+xml; utf8, \
<svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
<path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
132-240 240 120 120 240-240 132 132V0z" fill="%234a6782"/>\
</svg>');
background-size:100% 100%;
width:7px;
height:7px;
margin-left:2px;
margin-bottom:4px;
}
main a[href*="://"]:hover::after,
main a[href*="://"]:focus::after {
background-image:url('data:image/svg+xml; utf8, \
<svg xmlns="http://www.w3.org/2000/svg" width="768" height="768">\
<path d="M584 664H104V184h216V80H0v688h688V448H584zM384 0l132 \
132-240 240 120 120 240-240 132 132V0z" fill="%23bb7a2a"/>\
</svg>');
}
/*
* Styles for user-provided tables.
*
* borderless:
* No borders, vertical margins, styled caption.
* This style is provided for use with existing doc comments.
* In general, borderless tables should not be used for layout purposes.
*
* plain:
* Plain borders around table and cells, vertical margins, styled caption.
* Best for small tables or for complex tables for tables with cells that span
* rows and columns, when the "striped" style does not work well.
*
* striped:
* Borders around the table and vertical borders between cells, striped rows,
* vertical margins, styled caption.
* Best for tables that have a header row, and a body containing a series of simple rows.
*/
table.borderless,
table.plain,
table.striped {
margin-top: 10px;
margin-bottom: 10px;
}
table.borderless > caption,
table.plain > caption,
table.striped > caption {
font-weight: bold;
font-size: smaller;
}
table.borderless th, table.borderless td,
table.plain th, table.plain td,
table.striped th, table.striped td {
padding: 2px 5px;
}
table.borderless,
table.borderless > thead > tr > th, table.borderless > tbody > tr > th, table.borderless > tr > th,
table.borderless > thead > tr > td, table.borderless > tbody > tr > td, table.borderless > tr > td {
border: none;
}
table.borderless > thead > tr, table.borderless > tbody > tr, table.borderless > tr {
background-color: transparent;
}
table.plain {
border-collapse: collapse;
border: 1px solid black;
}
table.plain > thead > tr, table.plain > tbody tr, table.plain > tr {
background-color: transparent;
}
table.plain > thead > tr > th, table.plain > tbody > tr > th, table.plain > tr > th,
table.plain > thead > tr > td, table.plain > tbody > tr > td, table.plain > tr > td {
border: 1px solid black;
}
table.striped {
border-collapse: collapse;
border: 1px solid black;
}
table.striped > thead {
background-color: #E3E3E3;
}
table.striped > thead > tr > th, table.striped > thead > tr > td {
border: 1px solid black;
}
table.striped > tbody > tr:nth-child(even) {
background-color: #EEE
}
table.striped > tbody > tr:nth-child(odd) {
background-color: #FFF
}
table.striped > tbody > tr > th, table.striped > tbody > tr > td {
border-left: 1px solid black;
border-right: 1px solid black;
}
table.striped > tbody > tr > th {
font-weight: normal;
}
/**
* Tweak font sizes and paddings for small screens.
*/
@media screen and (max-width: 1050px) {
#search-input {
width: 300px;
}
}
@media screen and (max-width: 800px) {
#search-input {
width: 200px;
}
.top-nav,
.bottom-nav {
font-size: 11px;
padding-top: 6px;
}
.sub-nav {
font-size: 11px;
}
.about-language {
padding-right: 16px;
}
ul.nav-list li,
.sub-nav .nav-list-search {
padding: 6px;
}
ul.sub-nav-list li {
padding-top: 5px;
}
main {
padding: 10px;
}
.summary section[class$="-summary"], .details section[class$="-details"],
.class-uses .detail, .serialized-class-details {
padding: 0 8px 5px 8px;
}
body {
-webkit-text-size-adjust: none;
}
}
@media screen and (max-width: 500px) {
#search-input {
width: 150px;
}
.top-nav,
.bottom-nav {
font-size: 10px;
}
.sub-nav {
font-size: 10px;
}
.about-language {
font-size: 10px;
padding-right: 12px;
}
}

View File

@ -0,0 +1 @@
tagSearchIndex = [{"l":"Constant Field Values","h":"","u":"constant-values.html"}];updateSearchResults();

View File

@ -0,0 +1 @@
typeSearchIndex = [{"p":"fr.lnl.game.client.view","l":"AbstractView"},{"l":"All Classes and Interfaces","u":"allclasses-index.html"},{"p":"fr.lnl.game.client","l":"App"},{"p":"fr.lnl.game.client.view","l":"Cell"},{"p":"fr.lnl.game.client.listener","l":"ClientEventHandler"},{"p":"fr.lnl.game.client","l":"ClientPlayer"},{"p":"fr.lnl.game.client.listener","l":"DisplayWinnerEvent"},{"p":"fr.lnl.game.client.listener","l":"NextPlayerButtonListener"},{"p":"fr.lnl.game.client.listener","l":"SelectActionButton"},{"p":"fr.lnl.game.client.listener","l":"SelectDirectionListener"},{"p":"fr.lnl.game.client.view","l":"Terminal"},{"p":"fr.lnl.game.client.view","l":"View"},{"p":"fr.lnl.game.client","l":"ViewLambda"},{"p":"fr.lnl.game.client.view","l":"ViewManager"},{"p":"fr.lnl.game.client.view","l":"Window"}];updateSearchResults();

15
livraison/doc/index.html Normal file
View File

@ -0,0 +1,15 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Javadoc</title>
</head>
<body>
<h1>Accéder aux javadocs de nos modules</h1>
<hr>
<ul>
<li><a href="client/index.html">Module Client</a></li>
<li><a href="server/index.html">Module Server</a></li>
</ul>
</body>
</html>

View File

@ -0,0 +1,224 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>All Classes and Interfaces (server API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="class index">
<meta name="generator" content="javadoc/AllClassesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="all-classes-index-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="server/module-summary.html">Module</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#all-classes">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="All Classes and Interfaces" class="title">All Classes and Interfaces</h1>
</div>
<div id="all-classes-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="all-classes-table-tab0" role="tab" aria-selected="true" aria-controls="all-classes-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table', 2)" class="active-table-tab">All Classes and Interfaces</button><button id="all-classes-table-tab1" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab1', 2)" class="table-tab">Interfaces</button><button id="all-classes-table-tab2" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab2', 2)" class="table-tab">Classes</button><button id="all-classes-table-tab3" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab3', 2)" class="table-tab">Enum Classes</button><button id="all-classes-table-tab5" role="tab" aria-selected="false" aria-controls="all-classes-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('all-classes-table', 'all-classes-table-tab5', 2)" class="table-tab">Exceptions</button></div>
<div id="all-classes-table.tabpanel" role="tabpanel">
<div class="summary-table two-column-summary" aria-labelledby="all-classes-table-tab0">
<div class="table-header col-first">Class</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/action/AbstractAction.html" title="class in fr.lnl.game.server.games.action">AbstractAction</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/grid/elements/AbstractBox.html" title="class in fr.lnl.game.server.games.grid.elements">AbstractBox</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">AbstractBox is instantiable (not an abstract class), but when it's the case, instance doesn't represent anything,
it's only to see if there is a lock on this position or not</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/grid/build/AbstractGridFactoryBuilder.html" title="class in fr.lnl.game.server.games.grid.build">AbstractGridFactoryBuilder</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/listener/AbstractModelListening.html" title="class in fr.lnl.game.server.listener">AbstractModelListening</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/player/AbstractPlayer.html" title="class in fr.lnl.game.server.games.player">AbstractPlayer</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="server/fr/lnl/game/server/games/action/Action.html" title="interface in fr.lnl.game.server.games.action">Action</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/grid/elements/Bomb.html" title="class in fr.lnl.game.server.games.grid.elements">Bomb</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Bomb are elements which explode when someone walks on it or after a countdown, the explosion area is on multiple cases</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="server/fr/lnl/game/server/games/grid/elements/Box.html" title="interface in fr.lnl.game.server.games.grid.elements">Box</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="server/fr/lnl/game/server/games/player/ClassPlayer.html" title="enum class in fr.lnl.game.server.games.player">ClassPlayer</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab3">
<div class="block">ClassPlayer contains all data about the cost of an action or the cost of a damage</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/player/ComputerPlayer.html" title="class in fr.lnl.game.server.games.player">ComputerPlayer</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Super class of all Computer players</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab1"><a href="server/fr/lnl/game/server/games/grid/elements/CountdownBox.html" title="interface in fr.lnl.game.server.games.grid.elements">CountdownBox</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab1">
<div class="block">A box implemented by CountdownBox is a box which do an action a certain time after being placed</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab5"><a href="server/fr/lnl/game/server/utils/CrashException.html" title="class in fr.lnl.game.server.utils">CrashException</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab5">
<div class="block">Represent an unrecoverable error in the program, force program to stop</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/action/DeployShield.html" title="class in fr.lnl.game.server.games.action">DeployShield</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Used when a player want to protect himself from taking damage (shield state is reset to false at next player turn)</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="server/fr/lnl/game/server/games/action/Direction.html" title="interface in fr.lnl.game.server.games.action">Direction</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab3"><a href="server/fr/lnl/game/server/games/action/Direction4Axis.html" title="enum class in fr.lnl.game.server.games.action">Direction4Axis</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab3">
<div class="block">Enum used to chose where to move, shot, etc.</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab3"><a href="server/fr/lnl/game/server/games/action/Direction8Axis.html" title="enum class in fr.lnl.game.server.games.action">Direction8Axis</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab3">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/action/DropBomb.html" title="class in fr.lnl.game.server.games.action">DropBomb</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Used when player want to drop a <a href="server/fr/lnl/game/server/games/grid/elements/Bomb.html" title="class in fr.lnl.game.server.games.grid.elements"><code>Bomb</code></a>, bomb explode when someone walks on it and after 3 turns</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/action/DropMine.html" title="class in fr.lnl.game.server.games.action">DropMine</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Used when player want to drop a <a href="server/fr/lnl/game/server/games/grid/elements/Mine.html" title="class in fr.lnl.game.server.games.grid.elements"><code>Mine</code></a>, Mine only explode when someone walks on it</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/action/DropObject.html" title="class in fr.lnl.game.server.games.action">DropObject</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Super class used by <a href="server/fr/lnl/game/server/games/action/DropMine.html" title="class in fr.lnl.game.server.games.action"><code>DropMine</code></a> and <a href="server/fr/lnl/game/server/games/action/DropBomb.html" title="class in fr.lnl.game.server.games.action"><code>DropBomb</code></a></div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/grid/elements/EnergyBall.html" title="class in fr.lnl.game.server.games.grid.elements">EnergyBall</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">An EnergyBall is a box which give back a bit of player energy after it walks on the ball</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/utils/ErrorMessage.html" title="class in fr.lnl.game.server.utils">ErrorMessage</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Contain everything related to error messages, theirs errors are the fault of the end-user (like we demand an integer
and user give us a floating point number
Theirs error doesn't cause the program to stop, it'll demand a correct value</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/grid/elements/Explosive.html" title="class in fr.lnl.game.server.games.grid.elements">Explosive</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">
<div class="block">Super class of <a href="server/fr/lnl/game/server/games/grid/elements/Bomb.html" title="class in fr.lnl.game.server.games.grid.elements"><code>Bomb</code></a> and <a href="server/fr/lnl/game/server/games/grid/elements/Mine.html" title="class in fr.lnl.game.server.games.grid.elements"><code>Mine</code></a></div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/weapon/Firearm.html" title="class in fr.lnl.game.server.games.weapon">Firearm</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/Game.html" title="class in fr.lnl.game.server.games">Game</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/grid/Grid.html" title="class in fr.lnl.game.server.games.grid">Grid</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Class managing the board</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="server/fr/lnl/game/server/games/grid/build/GridFactoryBuilder.html" title="interface in fr.lnl.game.server.games.grid.build">GridFactoryBuilder</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">Factory pattern</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/player/HumanPlayer.html" title="class in fr.lnl.game.server.games.player">HumanPlayer</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Instance of Human Player.<br>
A human player choose an action to execute by using mouse or keyboard.<br>
Human Player don't implement choseAction cause this method is executed on client part</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="server/fr/lnl/game/server/games/grid/elements/InteractiveBox.html" title="interface in fr.lnl.game.server.games.grid.elements">InteractiveBox</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">A box implemented by InteractiveBox is a box which do an action when someone walks on it</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/grid/build/LockGridFactoryBuilder.html" title="class in fr.lnl.game.server.games.grid.build">LockGridFactoryBuilder</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/utils/Maths.html" title="class in fr.lnl.game.server.utils">Maths</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/grid/elements/Mine.html" title="class in fr.lnl.game.server.games.grid.elements">Mine</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">A mine is an element which explose when someone walks on it, the explosion area is on 1 case only</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="server/fr/lnl/game/server/listener/ModelListener.html" title="interface in fr.lnl.game.server.listener">ModelListener</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">
<div class="block">Model implemented by <a href="server/fr/lnl/game/server/listener/AbstractModelListening.html" title="class in fr.lnl.game.server.listener"><code>AbstractModelListening</code></a></div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/action/Move.html" title="class in fr.lnl.game.server.games.action">Move</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Used when the player want to move in a direction, it can move in a direction when there is another player or a wall</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab5"><a href="server/fr/lnl/game/server/games/action/NoMoreBulletInWeaponException.html" title="class in fr.lnl.game.server.games.action">NoMoreBulletInWeaponException</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab5">
<div class="block">This exception is throw when player has no remaining bullet</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/action/Nothing.html" title="class in fr.lnl.game.server.games.action">Nothing</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">This action is used when player doesn't want to move and/or loose energy</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab5"><a href="server/fr/lnl/game/server/games/action/NotValidDirectionException.html" title="class in fr.lnl.game.server.games.action">NotValidDirectionException</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab5">
<div class="block">throw when action instantiated and the chosen direction in constructor isn't valid</div>
</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/utils/Pair.html" title="class in fr.lnl.game.server.utils">Pair</a>&lt;<a href="server/fr/lnl/game/server/utils/Pair.html" title="type parameter in Pair">A</a>,<wbr><a href="server/fr/lnl/game/server/utils/Pair.html" title="type parameter in Pair">B</a>&gt;</div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Tuple associating storing two value of undefined type.<br>
Unlike Python, value in this Tuple can be modified (but the type of its new value need to be the same)</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="server/fr/lnl/game/server/games/player/Player.html" title="interface in fr.lnl.game.server.games.player">Player</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/utils/Point.html" title="class in fr.lnl.game.server.utils">Point</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">Point extends from Pair, basically a simpler ways to use Pair when using grid position</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/player/RandomComputerPlayer.html" title="class in fr.lnl.game.server.games.player">RandomComputerPlayer</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/action/ReunionSameAction.html" title="class in fr.lnl.game.server.games.action">ReunionSameAction</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">When we generate action, we generate one per available direction (like in <a href="server/fr/lnl/game/server/games/action/Move.html" title="class in fr.lnl.game.server.games.action"><code>Move</code></a>) but to improve human
readability, we list every same Action here</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/ServerMain.html" title="class in fr.lnl.game.server">ServerMain</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/action/Shot.html" title="class in fr.lnl.game.server.games.action">Shot</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/player/StrategyComputerPlayer.html" title="class in fr.lnl.game.server.games.player">StrategyComputerPlayer</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab2">&nbsp;</div>
<div class="col-first even-row-color all-classes-table all-classes-table-tab2"><a href="server/fr/lnl/game/server/games/grid/elements/Wall.html" title="class in fr.lnl.game.server.games.grid.elements">Wall</a></div>
<div class="col-last even-row-color all-classes-table all-classes-table-tab2">
<div class="block">A wall is an intraversable object</div>
</div>
<div class="col-first odd-row-color all-classes-table all-classes-table-tab1"><a href="server/fr/lnl/game/server/games/weapon/Weapon.html" title="interface in fr.lnl.game.server.games.weapon">Weapon</a></div>
<div class="col-last odd-row-color all-classes-table all-classes-table-tab1">&nbsp;</div>
</div>
</div>
</div>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,102 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>All Packages (server API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="package index">
<meta name="generator" content="javadoc/AllPackagesIndexWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="all-packages-index-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="server/module-summary.html">Module</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#all-packages">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
</div>
<div class="caption"><span>Package Summary</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Package</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><a href="server/fr/lnl/game/server/package-summary.html">fr.lnl.game.server</a></div>
<div class="col-last even-row-color">
<div class="block">Server package</div>
</div>
<div class="col-first odd-row-color"><a href="server/fr/lnl/game/server/games/package-summary.html">fr.lnl.game.server.games</a></div>
<div class="col-last odd-row-color">
<div class="block">Game package, contains all classes and sub-packages mainly related game works</div>
</div>
<div class="col-first even-row-color"><a href="server/fr/lnl/game/server/games/action/package-summary.html">fr.lnl.game.server.games.action</a></div>
<div class="col-last even-row-color">
<div class="block">Package storing all actions a player can do</div>
</div>
<div class="col-first odd-row-color"><a href="server/fr/lnl/game/server/games/grid/package-summary.html">fr.lnl.game.server.games.grid</a></div>
<div class="col-last odd-row-color">
<div class="block">Package containing all about Grid components</div>
</div>
<div class="col-first even-row-color"><a href="server/fr/lnl/game/server/games/grid/build/package-summary.html">fr.lnl.game.server.games.grid.build</a></div>
<div class="col-last even-row-color">
<div class="block">Package containing all about Grid construction</div>
</div>
<div class="col-first odd-row-color"><a href="server/fr/lnl/game/server/games/grid/elements/package-summary.html">fr.lnl.game.server.games.grid.elements</a></div>
<div class="col-last odd-row-color">
<div class="block">Package containing all the elements that can be arranged in a grid</div>
</div>
<div class="col-first even-row-color"><a href="server/fr/lnl/game/server/games/player/package-summary.html">fr.lnl.game.server.games.player</a></div>
<div class="col-last even-row-color">
<div class="block">Package storing all players classes and as well AI behavior</div>
</div>
<div class="col-first odd-row-color"><a href="server/fr/lnl/game/server/games/weapon/package-summary.html">fr.lnl.game.server.games.weapon</a></div>
<div class="col-last odd-row-color">
<div class="block">Package containing all bout player's weapons</div>
</div>
<div class="col-first even-row-color"><a href="server/fr/lnl/game/server/listener/package-summary.html">fr.lnl.game.server.listener</a></div>
<div class="col-last even-row-color">
<div class="block">Package containing model of listener to implement
Used by listeners in client module</div>
</div>
<div class="col-first odd-row-color"><a href="server/fr/lnl/game/server/utils/package-summary.html">fr.lnl.game.server.utils</a></div>
<div class="col-last odd-row-color">
<div class="block">Package containing all utility classes</div>
</div>
</div>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,91 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>Constant Field Values (server API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="summary of constants">
<meta name="generator" content="javadoc/ConstantsSummaryWriterImpl">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="constants-summary-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="server/module-summary.html">Module</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html#constant-values">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<div class="header">
<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
<section class="packages">
<h2 title="Contents">Contents</h2>
<ul>
<li><a href="#fr.lnl">fr.lnl.*</a></li>
</ul>
</section>
</div>
<section class="constants-summary" id="fr.lnl.game.server.games.grid.elements">
<h2 title="fr.lnl">fr.lnl.*</h2>
<ul class="block-list">
<li>
<div class="caption"><span>fr.lnl.game.server.games.grid.elements.<a href="server/fr/lnl/game/server/games/grid/elements/Bomb.html" title="class in fr.lnl.game.server.games.grid.elements">Bomb</a></span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Constant Field</div>
<div class="table-header col-last">Value</div>
<div class="col-first even-row-color"><code id="fr.lnl.game.server.games.grid.elements.Bomb.EXPLOSION_SIZE">private&nbsp;static&nbsp;final&nbsp;int</code></div>
<div class="col-second even-row-color"><code><a href="server/fr/lnl/game/server/games/grid/elements/Bomb.html#EXPLOSION_SIZE">EXPLOSION_SIZE</a></code></div>
<div class="col-last even-row-color"><code>2</code></div>
</div>
</li>
</ul>
<ul class="block-list">
<li>
<div class="caption"><span>fr.lnl.game.server.utils.<a href="server/fr/lnl/game/server/utils/ErrorMessage.html" title="class in fr.lnl.game.server.utils">ErrorMessage</a></span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Constant Field</div>
<div class="table-header col-last">Value</div>
<div class="col-first even-row-color"><code id="fr.lnl.game.server.utils.ErrorMessage.Entry_Error_Message">public&nbsp;static&nbsp;final&nbsp;<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a></code></div>
<div class="col-second even-row-color"><code><a href="server/fr/lnl/game/server/utils/ErrorMessage.html#Entry_Error_Message">Entry_Error_Message</a></code></div>
<div class="col-last even-row-color"><code>"\u001b[0;31mErreur de saisie\u001b[0m : "</code></div>
</div>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,11 @@
module:server
fr.lnl.game.server
fr.lnl.game.server.games
fr.lnl.game.server.games.action
fr.lnl.game.server.games.grid
fr.lnl.game.server.games.grid.build
fr.lnl.game.server.games.grid.elements
fr.lnl.game.server.games.player
fr.lnl.game.server.games.weapon
fr.lnl.game.server.listener
fr.lnl.game.server.utils

View File

@ -0,0 +1,190 @@
<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) -->
<title>API Help (server API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="help">
<meta name="generator" content="javadoc/HelpWriter">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="script.js"></script>
<script type="text/javascript" src="script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="script-dir/jquery-ui.min.js"></script>
</head>
<body class="help-page">
<script type="text/javascript">var pathtoroot = "./";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="server/module-summary.html">Module</a></li>
<li>Package</li>
<li>Class</li>
<li><a href="overview-tree.html">Tree</a></li>
<li><a href="index-all.html">Index</a></li>
<li class="nav-bar-cell1-rev">Help</li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Help:&nbsp;</li>
<li><a href="#help-navigation">Navigation</a>&nbsp;|&nbsp;</li>
<li><a href="#help-pages">Pages</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<h1 class="title">JavaDoc Help</h1>
<ul class="help-toc">
<li><a href="#help-navigation">Navigation</a>:
<ul class="help-subtoc">
<li><a href="#help-search">Search</a></li>
</ul>
</li>
<li><a href="#help-pages">Kinds of Pages</a>:
<ul class="help-subtoc">
<li><a href="#module">Module</a></li>
<li><a href="#package">Package</a></li>
<li><a href="#class">Class or Interface</a></li>
<li><a href="#doc-file">Other Files</a></li>
<li><a href="#tree">Tree (Class Hierarchy)</a></li>
<li><a href="#constant-values">Constant Field Values</a></li>
<li><a href="#serialized-form">Serialized Form</a></li>
<li><a href="#all-packages">All Packages</a></li>
<li><a href="#all-classes">All Classes and Interfaces</a></li>
<li><a href="#index">Index</a></li>
</ul>
</li>
</ul>
<hr>
<div class="sub-title">
<h2 id="help-navigation">Navigation</h2>
Starting from the <a href="index.html">Overview</a> page, you can browse the documentation using the links in each page, and in the navigation bar at the top of each page. The <a href="index-all.html">Index</a> and Search box allow you to navigate to specific declarations and summary pages, including: <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>
<section class="help-section" id="help-search">
<h3>Search</h3>
<p>You can search for definitions of modules, packages, types, fields, methods, system properties and other terms defined in the API, using some or all of the name, optionally using "camelCase" abbreviations. For example:</p>
<ul class="help-section-list">
<li><code>j.l.obj</code> will match "java.lang.Object"</li>
<li><code>InpStr</code> will match "java.io.InputStream"</li>
<li><code>HM.cK</code> will match "java.util.HashMap.containsKey(Object)"</li>
</ul>
<p>Refer to the <a href="https://docs.oracle.com/en/java/javase/17/docs/specs/javadoc/javadoc-search-spec.html">Javadoc Search Specification</a> for a full description of search features.</p>
</section>
</div>
<hr>
<div class="sub-title">
<h2 id="help-pages">Kinds of Pages</h2>
The following sections describe the different kinds of pages in this collection.
<section class="help-section" id="module">
<h3>Module</h3>
<p>Each module has a page that contains a list of its packages, dependencies on other modules, and services, with a summary for each. These pages may contain the following categories:</p>
<ul class="help-section-list">
<li>Packages</li>
<li>Modules</li>
<li>Services</li>
</ul>
</section>
<section class="help-section" id="package">
<h3>Package</h3>
<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain the following categories:</p>
<ul class="help-section-list">
<li>Interfaces</li>
<li>Classes</li>
<li>Enum Classes</li>
<li>Exceptions</li>
<li>Errors</li>
<li>Annotation Interfaces</li>
</ul>
</section>
<section class="help-section" id="class">
<h3>Class or Interface</h3>
<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a declaration and description, member summary tables, and detailed member descriptions. Entries in each of these sections are omitted if they are empty or not applicable.</p>
<ul class="help-section-list">
<li>Class Inheritance Diagram</li>
<li>Direct Subclasses</li>
<li>All Known Subinterfaces</li>
<li>All Known Implementing Classes</li>
<li>Class or Interface Declaration</li>
<li>Class or Interface Description</li>
</ul>
<br>
<ul class="help-section-list">
<li>Nested Class Summary</li>
<li>Enum Constant Summary</li>
<li>Field Summary</li>
<li>Property Summary</li>
<li>Constructor Summary</li>
<li>Method Summary</li>
<li>Required Element Summary</li>
<li>Optional Element Summary</li>
</ul>
<br>
<ul class="help-section-list">
<li>Enum Constant Details</li>
<li>Field Details</li>
<li>Property Details</li>
<li>Constructor Details</li>
<li>Method Details</li>
<li>Element Details</li>
</ul>
<p><span class="help-note">Note:</span> Annotation interfaces have required and optional elements, but not methods. Only enum classes have enum constants. The components of a record class are displayed as part of the declaration of the record class. Properties are a feature of JavaFX.</p>
<p>The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</p>
</section>
<section class="help-section" id="doc-file">
<h3>Other Files</h3>
<p>Packages and modules may contain pages with additional information related to the declarations nearby.</p>
</section>
<section class="help-section" id="tree">
<h3>Tree (Class Hierarchy)</h3>
<p>There is a <a href="overview-tree.html">Class Hierarchy</a> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. Classes are organized by inheritance structure starting with <code>java.lang.Object</code>. Interfaces do not inherit from <code>java.lang.Object</code>.</p>
<ul class="help-section-list">
<li>When viewing the Overview page, clicking on TREE displays the hierarchy for all packages.</li>
<li>When viewing a particular package, class or interface page, clicking on TREE displays the hierarchy for only that package.</li>
</ul>
</section>
<section class="help-section" id="constant-values">
<h3>Constant Field Values</h3>
<p>The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.</p>
</section>
<section class="help-section" id="serialized-form">
<h3>Serialized Form</h3>
<p>Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to those who implement rather than use the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See Also" section of the class description.</p>
</section>
<section class="help-section" id="all-packages">
<h3>All Packages</h3>
<p>The <a href="allpackages-index.html">All Packages</a> page contains an alphabetic index of all packages contained in the documentation.</p>
</section>
<section class="help-section" id="all-classes">
<h3>All Classes and Interfaces</h3>
<p>The <a href="allclasses-index.html">All Classes and Interfaces</a> page contains an alphabetic index of all classes and interfaces contained in the documentation, including annotation interfaces, enum classes, and record classes.</p>
</section>
<section class="help-section" id="index">
<h3>Index</h3>
<p>The <a href="index-all.html">Index</a> contains an alphabetic index of all classes, interfaces, constructors, methods, and fields in the documentation, as well as summary pages such as <a href="allpackages-index.html">All Packages</a>, <a href="allclasses-index.html">All Classes and Interfaces</a>.</p>
</section>
</div>
<hr>
<span class="help-footnote">This help file applies to API documentation generated by the standard doclet.</span></main>
</div>
</div>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More