Package pigeons

# Class Bird

java.lang.Object
pigeons.Bird

All Implemented Interfaces:
  `java.lang.Runnable`

    public class Bird
    extends java.lang.Object
    implements java.lang.Runnable

Classe permettant de gÃ©rer un oiseau Implemente l'interface Runnable, ce qui permet d'executer les actions d'un oiseau dans un thread.

Since:
  1.0

## Field Summary

Fields
Modifier and Type | Field | Description
--- | --- | ---
`static java.awt.Color` | `COLOR` | Couleur d'un oiseau
`private boolean` | `isAlive` |
`private Park` | `park` | Parc de rattachement de l'oiseau
`private Position` | `position` | Positiion de l'oiseau
`static int` | `REFRESH_TIME` | Temps de raffraichissement d'un oiseau (en ms)
`static int` | `VELOCITY` | Vitesse d'un oiseau

## Constructor Summary

Constructors
Constructor | Description
--- | ---
`Bird​(int x, int y, Park park)` | Constructeur de l'objet oiseau
`Bird​(Position position, Park park)` | Constructeur de l'objet oiseau

## Method Summary

Modifier and Type | Method | Description
--- | --- | ---
`Food` | `findNearestFood()` | Detecte la nourriture la plus proche de l'oiseau
`void` | `frighten()` | Effraie l'oiseau, a pour but de le dÃ©placer Ã une position alÃ©atoire
`Food` | `getOnFood()` |
`Park` | `getPark()` | Obtenir le parc dans lequel l'oiseau evolue
`Position` | `getPosition()` | Obtenir la position de l'oiseau
`boolean` | `isAlive()` |
`void` | `moveTo​(Food food)` | Deplacer l'oiseau vers une nourriture
`void` | `moveTo​(Position toMove)` | Deplace un oiseau vers une position
`void` | `run()` |
`void` | `setPark​(Park park)` | DÃ©finir un parc dans lequel l'oiseau evoluera

### Methods inherited from class java.lang.Object

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

## Field Details

### position

private Position position
Positiion de l'oiseau

### park

private Park park
Parc de rattachement de l'oiseau

### isAlive

private boolean isAlive

### COLOR

public static java.awt.Color COLOR
Couleur d'un oiseau

### REFRESH_TIME

public static int REFRESH_TIME
Temps de raffraichissement d'un oiseau (en ms)

### VELOCITY

public static int VELOCITY
Vitesse d'un oiseau

## Constructor Details

### Bird

public Bird​(Position position, Park park)
Constructeur de l'objet oiseau

Parameters:
  `position` - position de l'oiseau
  `park` - parc de rattachement de l'oiseau

### Bird

public Bird​(int x, int y, Park park)
Constructeur de l'objet oiseau

Parameters:
  `x` - position sur l'axe des abscisses de l'oiseau
  `y` - position sur l'axe des ordonnÃ©es de l'oiseau
  `park` - parc de rattachement de l'oiseau

## Method Details

### findNearestFood

public Food findNearestFood()
Detecte la nourriture la plus proche de l'oiseau

Returns:
  Food L'objet representant la nourriture la plus proche

### run

public void run()

Specified by:
  `run` in interface `java.lang.Runnable`

### moveTo

public void moveTo​(Position toMove)
Deplace un oiseau vers une position

Parameters:
  `toMove` - La position vers laquelle nous devous nous deplacer

### moveTo

public void moveTo​(Food food)
Deplacer l'oiseau vers une nourriture

Parameters:
  `food` - La nourriture vers laquelle l'oiseau doit se diriger

### frighten

public void frighten()
Effraie l'oiseau, a pour but de le dÃ©placer Ã une position alÃ©atoire

### getOnFood

public Food getOnFood()

Returns:
  Food Renvoie la nourriture sur laquelle nous nous situons, ou null si nous sommes sur aucune nourriture

### getPark

public Park getPark()
Obtenir le parc dans lequel l'oiseau evolue

Returns:
  Le parc dans lequel l'oiseau Ã©volue

### setPark

public void setPark​(Park park)
DÃ©finir un parc dans lequel l'oiseau evoluera

Parameters:
  `park` - Le parc dans lequel l'oiseu Ã©voluera

### isAlive

public boolean isAlive()

Returns:
  boolean vrai si l'oiseau est en vie, faux sinon.

### getPosition

public Position getPosition()
Obtenir la position de l'oiseau

Returns:
  Position la position actuelle de l'oiseau