Class ImagePlateau

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Canvas
              |
              +--ImagePlateau

public class ImagePlateau
extends java.awt.Canvas
implements Constantes, java.lang.Runnable

Effectue l'affichage du plateau et de ses animations

Version:
3.0
Author:
Gratien Xavier / Lurois Frederic
See Also:
Serialized Form

Inner classes inherited from class java.awt.Component
java.awt.Component.AWTTreeLock
 
Field Summary
private  boolean _anime
          Indique lors de l'affiche dans paint() si on est encore dans l'animation ou pas
private  int _animer
          Le numero de la case a animer
private  boolean _fini
          Indique au thread de s'arreter
private  int _gain
          Variable contenant le gain a effectuer
private  java.awt.Image[] _graines
          tableau d'images de tout les nombres de graines (jusqu'a 16 graines)
private  java.awt.Image[] _images
          les images des graines a dessiner sur le plateau
private  java.awt.Image _imgPlateau
          l'image du plateau de jeu
private  java.awt.Image[] _imgReserves
          les images des graines a dessiner sur les reserves
private  InterUtil _interUtil
          Interface graphique donnant acces a la vitesse de deplacement de l'animation
private  int _intervX
          Distance entre chaque trous sur X
private  int _intervY
          Distance entre chaque trous sur Y
private  int[] _plateau
          le plateau actuel
private  int _positionX
          position en X du premier trou a gauche
private  int _positionYmax
          position de depart des animations du dessous
private  int _positionYmin
          position de depart des animations du dessus
private  int _res1X
          position de depart en X des animations de la reserve 0
private  int _res2X
          position de depart en X des animations de la reserve 1
private  int[] _reserves
          les reserves actuelles
private  int _resY
          position de depart en Y des animations des reserves
 java.lang.Thread _th
          le thread
private  java.awt.Image _tmp
          image temporaire pour le update
private  java.awt.Graphics _tmpg
          graphics temporaire pour le update
private  int _val
          Variable de deplacement pour l'animation
(package private)  int X
          Position de depart sur X de l'animation
(package private)  int Y
          Position de depart sur Y de l'animation
 
Fields inherited from class java.awt.Canvas
base, graphicsConfig, nameCounter, serialVersionUID
 
Fields inherited from class java.awt.Component
actionListenerK, adjustmentListenerK, appContext, assert, background, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, changeSupport, componentListener, componentListenerK, componentOrientation, componentSerializedDataVersion, containerListenerK, cursor, dropTarget, enabled, eventMask, focusListener, focusListenerK, font, foreground, hasFocus, height, incRate, inputMethodListener, inputMethodListenerK, isInc, isPacked, itemListenerK, keyListener, keyListenerK, LEFT_ALIGNMENT, locale, LOCK, minSize, mouseListener, mouseListenerK, mouseMotionListener, mouseMotionListenerK, name, nameExplicitlySet, newEventsOnly, ownedWindowK, parent, peer, peerFont, popups, prefSize, RIGHT_ALIGNMENT, serialVersionUID, textListenerK, TOP_ALIGNMENT, valid, visible, width, windowListenerK, x, y
 
Constructor Summary
ImagePlateau(int[] plateau, int[] reserves, InterUtil interUtil)
          Constructeur de ImagePlateau
 
Method Summary
 void lanceAnime(int animer, int gain)
          Lance l'animation de deplacement d'une ou plusieurs graine vers un trou
 void paint(java.awt.Graphics g)
          Dessine l'image du plateau, des reserves et des graines
 void run()
          La partie du programme qui effectue l'animation a proprement parler
 void start()
          Lancement du Thread de l'animation apres avoir initialiser les parametres de l'animation
 void stop()
          Arrete le Thread
 void update(java.awt.Graphics g)
          Refait l'image de travail et l'affiche dans la fenêtre sans faire clignoter l'affichage (double buffering)
 
Methods inherited from class java.awt.Canvas
, addNotify, constructComponentName, postsOldMouseEvents
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addPropertyChangeListener, addPropertyChangeListener, areInputMethodsEnabled, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, deliverEvent, disable, disableEvents, dispatchEvent, dispatchEventImpl, doLayout, enable, enable, enableEvents, enableInputMethods, eventEnabled, firePropertyChange, getAlignmentX, getAlignmentY, getBackground, getBounds, getBounds, getColorModel, getComponentAt, getComponentAt, getComponentOrientation, getCursor, getDropTarget, getFont_NoClientCode, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocation, getLocationOnScreen, getMaximumSize, getMinimumSize, getName, getNativeContainer, getParent_NoClientCode, getParent, getPeer, getPreferredSize, getSize, getSize, getToolkit, getToolkitImpl, getTreeLock, getWidth, getWindowForObject, getX, getY, gotFocus, handleEvent, hasFocus, hide, imageUpdate, initIDs, inside, invalidate, isDisplayable, isDoubleBuffered, isEnabled, isEnabledImpl, isFocusTraversable, isLightweight, isOpaque, isShowing, isValid, isVisible, keyDown, keyUp, layout, lightweightPrint, list, list, list, list, list, locate, location, lostFocus, minimumSize, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, paramString, postEvent, preferredSize, prepareImage, prepareImage, print, printAll, processComponentEvent, processEvent, processFocusEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, readObject, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setEnabled, setFont, setForeground, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, show, size, toString, transferFocus, validate, writeObject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

_imgPlateau

private java.awt.Image _imgPlateau
l'image du plateau de jeu

_tmp

private java.awt.Image _tmp
image temporaire pour le update

_tmpg

private java.awt.Graphics _tmpg
graphics temporaire pour le update

_graines

private java.awt.Image[] _graines
tableau d'images de tout les nombres de graines (jusqu'a 16 graines)

_images

private java.awt.Image[] _images
les images des graines a dessiner sur le plateau

_imgReserves

private java.awt.Image[] _imgReserves
les images des graines a dessiner sur les reserves

_plateau

private int[] _plateau
le plateau actuel

_reserves

private int[] _reserves
les reserves actuelles

_positionX

private int _positionX
position en X du premier trou a gauche

_positionYmin

private int _positionYmin
position de depart des animations du dessus

_positionYmax

private int _positionYmax
position de depart des animations du dessous

_res1X

private int _res1X
position de depart en X des animations de la reserve 0

_res2X

private int _res2X
position de depart en X des animations de la reserve 1

_resY

private int _resY
position de depart en Y des animations des reserves

_intervX

private int _intervX
Distance entre chaque trous sur X

_intervY

private int _intervY
Distance entre chaque trous sur Y

_animer

private int _animer
Le numero de la case a animer

_val

private int _val
Variable de deplacement pour l'animation

_interUtil

private InterUtil _interUtil
Interface graphique donnant acces a la vitesse de deplacement de l'animation

_gain

private int _gain
Variable contenant le gain a effectuer

_anime

private boolean _anime
Indique lors de l'affiche dans paint() si on est encore dans l'animation ou pas

_fini

private boolean _fini
Indique au thread de s'arreter

_th

public java.lang.Thread _th
le thread

X

int X
Position de depart sur X de l'animation

Y

int Y
Position de depart sur Y de l'animation
Constructor Detail

ImagePlateau

public ImagePlateau(int[] plateau,
                    int[] reserves,
                    InterUtil interUtil)
Constructeur de ImagePlateau
Parameters:
plateau - le plateau de jeu a obtenir apres animations
reserves - les reserves a obtenir apres animations
interUtil - interface graphique donnant la valeur "_vitesse" des animations (cette valeur peu changer a tous moment)
Method Detail

update

public void update(java.awt.Graphics g)
Refait l'image de travail et l'affiche dans la fenêtre sans faire clignoter l'affichage (double buffering)
Overrides:
update in class java.awt.Component

paint

public void paint(java.awt.Graphics g)
Dessine l'image du plateau, des reserves et des graines
Overrides:
paint in class java.awt.Canvas

lanceAnime

public void lanceAnime(int animer,
                       int gain)
Lance l'animation de deplacement d'une ou plusieurs graine vers un trou
Parameters:
animer - indique sur quelle case faire l'animation (12 et 13 sont les reserves 0 et 1)
gain - indique le nombre de graines a deplacer vers une reserve

start

public void start()
Lancement du Thread de l'animation apres avoir initialiser les parametres de l'animation

stop

public void stop()
Arrete le Thread

run

public void run()
La partie du programme qui effectue l'animation a proprement parler
Specified by:
run in interface java.lang.Runnable