Class PlayerLocal

java.lang.Object
javafx.scene.Node
javafx.scene.shape.Shape
javafx.scene.shape.Rectangle
com.apogee.dev.DuoVaders.client.Player
com.apogee.dev.DuoVaders.client.PlayerLocal
All Implemented Interfaces:
IPlayer, Ship, javafx.beans.Observable, javafx.css.Styleable, javafx.event.EventTarget

public class PlayerLocal extends Player
Classe représentant un joueur local. Ses coups sont récupérés par le clavier et transformés en actions sur le jeu local. L'envoi ou non des informations au serveur est décidée par la stratégie appliquée.
Version:
1.0
See Also:
  • Property Summary

    Properties inherited from class javafx.scene.shape.Rectangle

    arcHeight, arcWidth, height, width, x, y

    Properties inherited from class javafx.scene.shape.Shape

    fill, smooth, strokeDashOffset, strokeLineCap, strokeLineJoin, strokeMiterLimit, stroke, strokeType, strokeWidth

    Properties inherited from class javafx.scene.Node

    accessibleHelp, accessibleRoleDescription, accessibleRole, accessibleText, blendMode, boundsInLocal, boundsInParent, cacheHint, cache, clip, cursor, depthTest, disabled, disable, effectiveNodeOrientation, effect, eventDispatcher, focused, focusTraversable, focusVisible, focusWithin, hover, id, inputMethodRequests, layoutBounds, layoutX, layoutY, localToParentTransform, localToSceneTransform, managed, mouseTransparent, nodeOrientation, onContextMenuRequested, onDragDetected, onDragDone, onDragDropped, onDragEntered, onDragExited, onDragOver, onInputMethodTextChanged, onKeyPressed, onKeyReleased, onKeyTyped, onMouseClicked, onMouseDragEntered, onMouseDragExited, onMouseDragged, onMouseDragOver, onMouseDragReleased, onMouseEntered, onMouseExited, onMouseMoved, onMousePressed, onMouseReleased, onRotate, onRotationFinished, onRotationStarted, onScrollFinished, onScroll, onScrollStarted, onSwipeDown, onSwipeLeft, onSwipeRight, onSwipeUp, onTouchMoved, onTouchPressed, onTouchReleased, onTouchStationary, onZoomFinished, onZoom, onZoomStarted, opacity, parent, pickOnBounds, pressed, rotate, rotationAxis, scaleX, scaleY, scaleZ, scene, style, translateX, translateY, translateZ, viewOrder, visible
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private List<Bullet>
     
    private final int
     
    private final double
     
    private final javafx.scene.input.KeyCode
     
    private int
     
    private final javafx.scene.layout.Pane
     
    private final javafx.scene.input.KeyCode
     
    private final javafx.scene.Scene
     
    private int
     
    private final javafx.scene.input.KeyCode
     
    private int
     
    private final StrategyHandler
     
    private final double
     

    Fields inherited from class javafx.scene.Node

    BASELINE_OFFSET_SAME_AS_HEIGHT
  • Constructor Summary

    Constructors
    Constructor
    Description
    PlayerLocal(double width, double height, javafx.scene.layout.Pane p, javafx.scene.Scene s, javafx.scene.input.KeyCode left, javafx.scene.input.KeyCode right, javafx.scene.input.KeyCode shoot)
     
    PlayerLocal(double width, double height, javafx.scene.layout.Pane p, javafx.scene.Scene s, javafx.scene.input.KeyCode left, javafx.scene.input.KeyCode right, javafx.scene.input.KeyCode shoot, boolean isLocal)
     
    PlayerLocal(double width, double height, javafx.scene.layout.Pane p, javafx.scene.Scene s, javafx.scene.input.KeyCode left, javafx.scene.input.KeyCode right, javafx.scene.input.KeyCode shoot, List<Bullet> bulletList)
     
    PlayerLocal(double width, double height, javafx.scene.layout.Pane p, javafx.scene.Scene s, javafx.scene.input.KeyCode left, javafx.scene.input.KeyCode right, javafx.scene.input.KeyCode shoot, List<Bullet> bulletList, boolean isLocal)
    Constructeur du joueur.
  • Method Summary

    Modifier and Type
    Method
    Description
    Accès à la liste de balles du joueur
    javafx.scene.input.KeyCode
    getKeyCode(char key)
    Obtention d'une touche de déplacement du joueur.
    int
    Accès à la vie du joueur
    javafx.scene.layout.Pane
     
    int
    Accès au score du joueur
    int
    Accès à la direction de tir du joueur
    int[]
    Accès à la taille du joueur
    void
    Prise en compte de la collision avec une balle ennemie.
    void
    move(char dir, javafx.scene.Scene s)
    Déplacement du joueur
    void
    setBulletList(List<Bullet> bulletList)
    Place une liste donnée comme liste de balles du joueur
    void
    setLife(int life)
    Met la vie du joueur à une valeur donnée
    void
    setScore(int score)
    Met le score du joueur à une valeur donnée
    private void
    Direction de tir du joueur en fonction de sa touche d'instruction de tir.
    void
    setShootDirection(int shootDirection)
    Met la direction de tir du joueur à une valeur donnée.
    void
    Tir du joueur

    Methods inherited from class com.apogee.dev.DuoVaders.client.Player

    addListener, getcanonType, removeListener

    Methods inherited from class javafx.scene.shape.Rectangle

    arcHeightProperty, arcWidthProperty, getArcHeight, getArcWidth, getClassCssMetaData, getCssMetaData, getHeight, getWidth, getX, getY, heightProperty, setArcHeight, setArcWidth, setHeight, setWidth, setX, setY, toString, widthProperty, xProperty, yProperty

    Methods inherited from class javafx.scene.shape.Shape

    fillProperty, getFill, getStroke, getStrokeDashArray, getStrokeDashOffset, getStrokeLineCap, getStrokeLineJoin, getStrokeMiterLimit, getStrokeType, getStrokeWidth, intersect, isSmooth, setFill, setSmooth, setStroke, setStrokeDashOffset, setStrokeLineCap, setStrokeLineJoin, setStrokeMiterLimit, setStrokeType, setStrokeWidth, smoothProperty, strokeDashOffsetProperty, strokeLineCapProperty, strokeLineJoinProperty, strokeMiterLimitProperty, strokeProperty, strokeTypeProperty, strokeWidthProperty, subtract, union

    Methods inherited from class javafx.scene.Node

    accessibleHelpProperty, accessibleRoleDescriptionProperty, accessibleRoleProperty, accessibleTextProperty, addEventFilter, addEventHandler, applyCss, autosize, blendModeProperty, boundsInLocalProperty, boundsInParentProperty, buildEventDispatchChain, cacheHintProperty, cacheProperty, clipProperty, computeAreaInScreen, contains, contains, cursorProperty, depthTestProperty, disabledProperty, disableProperty, effectiveNodeOrientationProperty, effectProperty, eventDispatcherProperty, executeAccessibleAction, fireEvent, focusedProperty, focusTraversableProperty, focusVisibleProperty, focusWithinProperty, getAccessibleHelp, getAccessibleRole, getAccessibleRoleDescription, getAccessibleText, getBaselineOffset, getBlendMode, getBoundsInLocal, getBoundsInParent, getCacheHint, getClip, getContentBias, getCursor, getDepthTest, getEffect, getEffectiveNodeOrientation, getEventDispatcher, getId, getInitialCursor, getInitialFocusTraversable, getInputMethodRequests, getLayoutBounds, getLayoutX, getLayoutY, getLocalToParentTransform, getLocalToSceneTransform, getNodeOrientation, getOnContextMenuRequested, getOnDragDetected, getOnDragDone, getOnDragDropped, getOnDragEntered, getOnDragExited, getOnDragOver, getOnInputMethodTextChanged, getOnKeyPressed, getOnKeyReleased, getOnKeyTyped, getOnMouseClicked, getOnMouseDragEntered, getOnMouseDragExited, getOnMouseDragged, getOnMouseDragOver, getOnMouseDragReleased, getOnMouseEntered, getOnMouseExited, getOnMouseMoved, getOnMousePressed, getOnMouseReleased, getOnRotate, getOnRotationFinished, getOnRotationStarted, getOnScroll, getOnScrollFinished, getOnScrollStarted, getOnSwipeDown, getOnSwipeLeft, getOnSwipeRight, getOnSwipeUp, getOnTouchMoved, getOnTouchPressed, getOnTouchReleased, getOnTouchStationary, getOnZoom, getOnZoomFinished, getOnZoomStarted, getOpacity, getParent, getProperties, getPseudoClassStates, getRotate, getRotationAxis, getScaleX, getScaleY, getScaleZ, getScene, getStyle, getStyleableParent, getStyleClass, getTransforms, getTranslateX, getTranslateY, getTranslateZ, getTypeSelector, getUserData, getViewOrder, hasProperties, hoverProperty, idProperty, inputMethodRequestsProperty, intersects, intersects, isCache, isDisable, isDisabled, isFocused, isFocusTraversable, isFocusVisible, isFocusWithin, isHover, isManaged, isMouseTransparent, isPickOnBounds, isPressed, isResizable, isVisible, layoutBoundsProperty, layoutXProperty, layoutYProperty, localToParent, localToParent, localToParent, localToParent, localToParent, localToParentTransformProperty, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToScene, localToSceneTransformProperty, localToScreen, localToScreen, localToScreen, localToScreen, localToScreen, lookup, lookupAll, managedProperty, maxHeight, maxWidth, minHeight, minWidth, mouseTransparentProperty, nodeOrientationProperty, notifyAccessibleAttributeChanged, onContextMenuRequestedProperty, onDragDetectedProperty, onDragDoneProperty, onDragDroppedProperty, onDragEnteredProperty, onDragExitedProperty, onDragOverProperty, onInputMethodTextChangedProperty, onKeyPressedProperty, onKeyReleasedProperty, onKeyTypedProperty, onMouseClickedProperty, onMouseDragEnteredProperty, onMouseDragExitedProperty, onMouseDraggedProperty, onMouseDragOverProperty, onMouseDragReleasedProperty, onMouseEnteredProperty, onMouseExitedProperty, onMouseMovedProperty, onMousePressedProperty, onMouseReleasedProperty, onRotateProperty, onRotationFinishedProperty, onRotationStartedProperty, onScrollFinishedProperty, onScrollProperty, onScrollStartedProperty, onSwipeDownProperty, onSwipeLeftProperty, onSwipeRightProperty, onSwipeUpProperty, onTouchMovedProperty, onTouchPressedProperty, onTouchReleasedProperty, onTouchStationaryProperty, onZoomFinishedProperty, onZoomProperty, onZoomStartedProperty, opacityProperty, parentProperty, parentToLocal, parentToLocal, parentToLocal, parentToLocal, parentToLocal, pickOnBoundsProperty, prefHeight, prefWidth, pressedProperty, pseudoClassStateChanged, queryAccessibleAttribute, relocate, removeEventFilter, removeEventHandler, requestFocus, resize, resizeRelocate, rotateProperty, rotationAxisProperty, scaleXProperty, scaleYProperty, scaleZProperty, sceneProperty, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, sceneToLocal, screenToLocal, screenToLocal, screenToLocal, setAccessibleHelp, setAccessibleRole, setAccessibleRoleDescription, setAccessibleText, setBlendMode, setCache, setCacheHint, setClip, setCursor, setDepthTest, setDisable, setDisabled, setEffect, setEventDispatcher, setEventHandler, setFocused, setFocusTraversable, setHover, setId, setInputMethodRequests, setLayoutX, setLayoutY, setManaged, setMouseTransparent, setNodeOrientation, setOnContextMenuRequested, setOnDragDetected, setOnDragDone, setOnDragDropped, setOnDragEntered, setOnDragExited, setOnDragOver, setOnInputMethodTextChanged, setOnKeyPressed, setOnKeyReleased, setOnKeyTyped, setOnMouseClicked, setOnMouseDragEntered, setOnMouseDragExited, setOnMouseDragged, setOnMouseDragOver, setOnMouseDragReleased, setOnMouseEntered, setOnMouseExited, setOnMouseMoved, setOnMousePressed, setOnMouseReleased, setOnRotate, setOnRotationFinished, setOnRotationStarted, setOnScroll, setOnScrollFinished, setOnScrollStarted, setOnSwipeDown, setOnSwipeLeft, setOnSwipeRight, setOnSwipeUp, setOnTouchMoved, setOnTouchPressed, setOnTouchReleased, setOnTouchStationary, setOnZoom, setOnZoomFinished, setOnZoomStarted, setOpacity, setPickOnBounds, setPressed, setRotate, setRotationAxis, setScaleX, setScaleY, setScaleZ, setStyle, setTranslateX, setTranslateY, setTranslateZ, setUserData, setViewOrder, setVisible, snapshot, snapshot, startDragAndDrop, startFullDrag, styleProperty, toBack, toFront, translateXProperty, translateYProperty, translateZProperty, usesMirroring, viewOrderProperty, visibleProperty

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface javafx.css.Styleable

    getStyleableNode
  • Field Details

    • life

      private int life
    • score

      private int score
    • width

      private final double width
    • height

      private final double height
    • pane

      private final javafx.scene.layout.Pane pane
    • scene

      private final javafx.scene.Scene scene
    • left

      private final javafx.scene.input.KeyCode left
    • shoot

      private final javafx.scene.input.KeyCode shoot
    • canonType

      private final int canonType
    • shootDirection

      private int shootDirection
    • bulletList

      private List<Bullet> bulletList
    • strategyHandler

      private final StrategyHandler strategyHandler
  • Constructor Details

    • PlayerLocal

      public PlayerLocal(double width, double height, javafx.scene.layout.Pane p, javafx.scene.Scene s, javafx.scene.input.KeyCode left, javafx.scene.input.KeyCode right, javafx.scene.input.KeyCode shoot, List<Bullet> bulletList, boolean isLocal)
      Constructeur du joueur.
      Parameters:
      width - Largeur du joueur.
      height - Hauteur du joueur.
      p - Pane dans lequel le joueur est affiché.
      s - Scene dans laquelle le joueur est affiché.
      left - Touche de déplacement gauche.
      right - Touche de déplacement droite.
      shoot - Touche de tir.
      bulletList - Liste des projectiles en tirés. Si non précisé, la liste est celle de DualVaders.
    • PlayerLocal

      public PlayerLocal(double width, double height, javafx.scene.layout.Pane p, javafx.scene.Scene s, javafx.scene.input.KeyCode left, javafx.scene.input.KeyCode right, javafx.scene.input.KeyCode shoot, boolean isLocal)
    • PlayerLocal

      public PlayerLocal(double width, double height, javafx.scene.layout.Pane p, javafx.scene.Scene s, javafx.scene.input.KeyCode left, javafx.scene.input.KeyCode right, javafx.scene.input.KeyCode shoot, List<Bullet> bulletList)
    • PlayerLocal

      public PlayerLocal(double width, double height, javafx.scene.layout.Pane p, javafx.scene.Scene s, javafx.scene.input.KeyCode left, javafx.scene.input.KeyCode right, javafx.scene.input.KeyCode shoot)
  • Method Details

    • move

      public void move(char dir, javafx.scene.Scene s)
      Description copied from interface: IPlayer
      Déplacement du joueur
      Specified by:
      move in interface IPlayer
      Specified by:
      move in interface Ship
      Overrides:
      move in class Player
      Parameters:
      dir - direction du déplacement
      s - scène du jeu
    • shoot

      public void shoot()
      Description copied from interface: IPlayer
      Tir du joueur
      Specified by:
      shoot in interface IPlayer
      Specified by:
      shoot in interface Ship
      Overrides:
      shoot in class Player
    • setLife

      public void setLife(int life)
      Description copied from interface: IPlayer
      Met la vie du joueur à une valeur donnée
      Specified by:
      setLife in interface IPlayer
      Overrides:
      setLife in class Player
      Parameters:
      life - nouvelle valeur de la vie du joueur
    • handleDamage

      public void handleDamage()
      Description copied from interface: Ship
      Prise en compte de la collision avec une balle ennemie.
      Specified by:
      handleDamage in interface Ship
      Overrides:
      handleDamage in class Player
    • getSize

      public int[] getSize()
      Accès à la taille du joueur
      Returns:
      taille du joueur, de la forme [largeur, hauteur]
    • getScore

      public int getScore()
      Accès au score du joueur
      Specified by:
      getScore in interface IPlayer
      Overrides:
      getScore in class Player
      Returns:
      score du joueur
    • setShootDirection

      public void setShootDirection(int shootDirection)
      Description copied from interface: IPlayer
      Met la direction de tir du joueur à une valeur donnée. Cette valeur est utilisée comme coefficient multiplicateur pour la vitesse du tir.
      Specified by:
      setShootDirection in interface IPlayer
      Overrides:
      setShootDirection in class Player
      Parameters:
      shootDirection - nouvelle valeur de la direction de tir du joueur
      See Also:
    • getShootDirection

      public int getShootDirection()
      Description copied from interface: IPlayer
      Accès à la direction de tir du joueur
      Specified by:
      getShootDirection in interface IPlayer
      Overrides:
      getShootDirection in class Player
      Returns:
      direction de tir du joueur
    • getBulletList

      public List<Bullet> getBulletList()
      Description copied from interface: IPlayer
      Accès à la liste de balles du joueur
      Specified by:
      getBulletList in interface IPlayer
      Overrides:
      getBulletList in class Player
      Returns:
      liste de balles du joueur
    • setBulletList

      public void setBulletList(List<Bullet> bulletList)
      Description copied from interface: IPlayer
      Place une liste donnée comme liste de balles du joueur
      Specified by:
      setBulletList in interface IPlayer
      Overrides:
      setBulletList in class Player
      Parameters:
      bulletList - liste de ballles du joueur
    • getLife

      public int getLife()
      Description copied from interface: IPlayer
      Accès à la vie du joueur
      Specified by:
      getLife in interface IPlayer
      Overrides:
      getLife in class Player
      Returns:
      vie du joueur
    • setScore

      public void setScore(int score)
      Description copied from interface: IPlayer
      Met le score du joueur à une valeur donnée
      Specified by:
      setScore in interface IPlayer
      Overrides:
      setScore in class Player
    • getKeyCode

      public javafx.scene.input.KeyCode getKeyCode(char key)
      Obtention d'une touche de déplacement du joueur.
      Overrides:
      getKeyCode in class Player
      Parameters:
      key - Instruction ('l' pour gauche, 'r' pour droite, 's' pour tirer)
      Returns:
      La touche associée à l'instruction.
    • setShootDirection

      private void setShootDirection()
      Direction de tir du joueur en fonction de sa touche d'instruction de tir. Si la touche est 'E', le joueur est en haut de l'écran et tire vers le bas. Si la touche est 'SPACE', le joueur est en bas de l'écran et tire vers le haut.
    • getPane

      public javafx.scene.layout.Pane getPane()
      Overrides:
      getPane in class Player