final commit

This commit is contained in:
2022-11-20 21:54:08 -05:00
parent 6f6fda5b1b
commit 8264cccb7a
51 changed files with 6299 additions and 2 deletions

623
doc/pigeons/Park.html Normal file
View File

@@ -0,0 +1,623 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>Park</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2022-11-20">
<meta name="description" content="declaration: package: pigeons, class: Park">
<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 data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "alt-color";
var rowColor = "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="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="../deprecated-list.html">Deprecated</a></li>
<li><a href="../index-all.html">Index</a></li>
<li><a href="../help-doc.html">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">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" 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="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">pigeons</a></div>
<h1 title="Class Park" class="title">Class Park</h1>
</div>
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">java.awt.Component
<div class="inheritance">java.awt.Container
<div class="inheritance">javax.swing.JComponent
<div class="inheritance">javax.swing.JPanel
<div class="inheritance">pigeons.Park</div>
</div>
</div>
</div>
</div>
</div>
<section class="description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code>java.awt.event.MouseListener</code>, <code>java.awt.image.ImageObserver</code>, <code>java.awt.MenuContainer</code>, <code>java.io.Serializable</code>, <code>java.util.EventListener</code>, <code>javax.accessibility.Accessible</code></dd>
</dl>
<hr>
<pre>public class <span class="type-name-label">Park</span>
extends javax.swing.JPanel
implements java.awt.event.MouseListener</pre>
<div class="block">Classe permettant de gérer un parc d'oiseaux
Ce parc permet de gerer un parc contenant des oiseaux, vous pouvez nourrir
ces oiseaux en cliquant sur votre interface, vos oiseaux seront effrayer de
manière aléatoire. Ce park peut
etre affiché à l'aide d'une <code>JFrame</code>.</div>
<dl class="notes">
<dt>Since:</dt>
<dd>1.0</dd>
<dt>See Also:</dt>
<dd><a href="../serialized-form.html#pigeons.Park">Serialized Form</a></dd>
</dl>
</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.javax.swing.JPanel">Nested classes/interfaces inherited from class&nbsp;javax.swing.JPanel</h2>
<code>javax.swing.JPanel.AccessibleJPanel</code></div>
<div class="inherited-list">
<h2 id="nested.classes.inherited.from.class.javax.swing.JComponent">Nested classes/interfaces inherited from class&nbsp;javax.swing.JComponent</h2>
<code>javax.swing.JComponent.AccessibleJComponent</code></div>
<div class="inherited-list">
<h2 id="nested.classes.inherited.from.class.java.awt.Container">Nested classes/interfaces inherited from class&nbsp;java.awt.Container</h2>
<code>java.awt.Container.AccessibleAWTContainer</code></div>
<div class="inherited-list">
<h2 id="nested.classes.inherited.from.class.java.awt.Component">Nested classes/interfaces inherited from class&nbsp;java.awt.Component</h2>
<code>java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy</code></div>
</section>
</li>
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field.summary">
<h2>Field Summary</h2>
<div class="member-summary">
<table class="summary-table">
<caption><span>Fields</span></caption>
<thead>
<tr>
<th class="col-first" scope="col">Modifier and Type</th>
<th class="col-second" scope="col">Field</th>
<th class="col-last" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="alt-color">
<td class="col-first"><code>private java.util.ArrayList&lt;<a href="Bird.html" title="class in pigeons">Bird</a>&gt;</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#birds">birds</a></span></code></th>
<td class="col-last">
<div class="block">Oiseaux présent dans le parc</div>
</td>
</tr>
<tr class="row-color">
<td class="col-first"><code>private java.util.ArrayList&lt;<a href="Food.html" title="class in pigeons">Food</a>&gt;</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#foods">foods</a></span></code></th>
<td class="col-last">
<div class="block">Nourritures présente dans le parc</div>
</td>
</tr>
<tr class="alt-color">
<td class="col-first"><code>private int</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#frightenProbaility">frightenProbaility</a></span></code></th>
<td class="col-last">
<div class="block">Probabilité d'effrayer les oiseaux, decroit à chaque actualisation du parc</div>
</td>
</tr>
<tr class="row-color">
<td class="col-first"><code>private java.util.concurrent.atomic.AtomicInteger</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#numWriter">numWriter</a></span></code></th>
<td class="col-last">
<div class="block">Nombre de thread travaillant en ecriture sur l'objet</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="inherited-list">
<h3 id="fields.inherited.from.class.javax.swing.JComponent">Fields inherited from class&nbsp;javax.swing.JComponent</h3>
<code>listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW</code></div>
<div class="inherited-list">
<h3 id="fields.inherited.from.class.java.awt.Component">Fields inherited from class&nbsp;java.awt.Component</h3>
<code>accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT</code></div>
<div class="inherited-list">
<h3 id="fields.inherited.from.class.java.awt.image.ImageObserver">Fields inherited from interface&nbsp;java.awt.image.ImageObserver</h3>
<code>ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH</code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor.summary">
<h2>Constructor Summary</h2>
<div class="member-summary">
<table class="summary-table">
<caption><span>Constructors</span></caption>
<thead>
<tr>
<th class="col-first" scope="col">Constructor</th>
<th class="col-last" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="alt-color">
<th class="col-constructor-name" scope="row"><code><span class="member-name-link"><a href="#%3Cinit%3E(int,int)">Park</a></span>&#8203;(int&nbsp;width,
int&nbsp;height)</code></th>
<td class="col-last">
<div class="block">Constructeur de l'objet representant un parc</div>
</td>
</tr>
</tbody>
</table>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method.summary">
<h2>Method Summary</h2>
<div class="member-summary" id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" id="t0" class="active-table-tab">All Methods</button><button role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t2" class="table-tab" onclick="show(2);">Instance Methods</button><button role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" id="t4" class="table-tab" onclick="show(8);">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<table class="summary-table" aria-labelledby="t0">
<thead>
<tr>
<th class="col-first" scope="col">Modifier and Type</th>
<th class="col-second" scope="col">Method</th>
<th class="col-last" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="alt-color" id="i0">
<td class="col-first"><code>void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#addBird(pigeons.Bird)">addBird</a></span>&#8203;(<a href="Bird.html" title="class in pigeons">Bird</a>&nbsp;toAdd)</code></th>
<td class="col-last">
<div class="block">Ajouter un oiseau dans le parc</div>
</td>
</tr>
<tr class="row-color" id="i1">
<td class="col-first"><code>void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#addFood(pigeons.Food)">addFood</a></span>&#8203;(<a href="Food.html" title="class in pigeons">Food</a>&nbsp;toAdd)</code></th>
<td class="col-last">
<div class="block">Ajouter une nourriture dans le parc
Cette méthode est executé avec un verrou ce qui permet de modifier la
propriété, tout en bloquant les lectures eventuelles de la propriété.</div>
</td>
</tr>
<tr class="alt-color" id="i2">
<td class="col-first"><code>java.util.ArrayList&lt;<a href="Bird.html" title="class in pigeons">Bird</a>&gt;</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#getBirds()">getBirds</a></span>()</code></th>
<td class="col-last">
<div class="block">Obtenir les oiseaux du parc</div>
</td>
</tr>
<tr class="row-color" id="i3">
<td class="col-first"><code>java.util.ArrayList&lt;<a href="Food.html" title="class in pigeons">Food</a>&gt;</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#getFoods()">getFoods</a></span>()</code></th>
<td class="col-last">
<div class="block">Obtenir la nourriture du parc
Cette méthode est executé avec un verrou ce qui permet aux oiseaux de
recuperer la propriété en étant sur que la variable n'est pas en cours de
modification</div>
</td>
</tr>
<tr class="alt-color" id="i4">
<td class="col-first"><code>void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#mouseClicked(java.awt.event.MouseEvent)">mouseClicked</a></span>&#8203;(java.awt.event.MouseEvent&nbsp;e)</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color" id="i5">
<td class="col-first"><code>void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#mouseEntered(java.awt.event.MouseEvent)">mouseEntered</a></span>&#8203;(java.awt.event.MouseEvent&nbsp;e)</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color" id="i6">
<td class="col-first"><code>void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#mouseExited(java.awt.event.MouseEvent)">mouseExited</a></span>&#8203;(java.awt.event.MouseEvent&nbsp;e)</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color" id="i7">
<td class="col-first"><code>void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#mousePressed(java.awt.event.MouseEvent)">mousePressed</a></span>&#8203;(java.awt.event.MouseEvent&nbsp;e)</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color" id="i8">
<td class="col-first"><code>void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#mouseReleased(java.awt.event.MouseEvent)">mouseReleased</a></span>&#8203;(java.awt.event.MouseEvent&nbsp;e)</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color" id="i9">
<td class="col-first"><code>void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#paintComponent(java.awt.Graphics)">paintComponent</a></span>&#8203;(java.awt.Graphics&nbsp;g)</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color" id="i10">
<td class="col-first"><code>private void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#refreshPark()">refreshPark</a></span>()</code></th>
<td class="col-last">
<div class="block">Rafraichir le parc, supprime les nourriture périmés depuis un certain temps,
réduit le temps de fraicheurs des nourritures et essaye d'effrayer les
oiseaux du park</div>
</td>
</tr>
<tr class="row-color" id="i11">
<td class="col-first"><code>void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#removeBird(int)">removeBird</a></span>&#8203;(int&nbsp;index)</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color" id="i12">
<td class="col-first"><code>void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#removeFood(pigeons.Food)">removeFood</a></span>&#8203;(<a href="Food.html" title="class in pigeons">Food</a>&nbsp;food)</code></th>
<td class="col-last">
<div class="block">Supprimer une nourriture du parc
Cette méthode est executé avec un verrou ce qui permet de modifier la
propriété, tout en bloquant les lectures eventuelles de la propriété.</div>
</td>
</tr>
<tr class="row-color" id="i13">
<td class="col-first"><code>void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#removeFoods(java.util.ArrayList)">removeFoods</a></span>&#8203;(java.util.ArrayList&lt;<a href="Food.html" title="class in pigeons">Food</a>&gt;&nbsp;foods)</code></th>
<td class="col-last">
<div class="block">Supprimer des nourriture présente sur le parc
Cette méthode est executé avec un verrou ce qui permet de modifier la
propriété, tout en bloquant les lectures eventuelles de la propriété.</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.javax.swing.JPanel">Methods inherited from class&nbsp;javax.swing.JPanel</h3>
<code>getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI</code></div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.javax.swing.JComponent">Methods inherited from class&nbsp;javax.swing.JComponent</h3>
<code>addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update</code></div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.java.awt.Container">Methods inherited from class&nbsp;java.awt.Container</h3>
<code>add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree</code></div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.java.awt.Component">Methods inherited from class&nbsp;java.awt.Component</h3>
<code>action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle</code></div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.java.lang.Object">Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</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="birds">
<h3>birds</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">java.util.ArrayList&lt;<a href="Bird.html" title="class in pigeons">Bird</a>&gt;</span>&nbsp;<span class="member-name">birds</span></div>
<div class="block">Oiseaux présent dans le parc</div>
</section>
</li>
<li>
<section class="detail" id="foods">
<h3>foods</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">java.util.ArrayList&lt;<a href="Food.html" title="class in pigeons">Food</a>&gt;</span>&nbsp;<span class="member-name">foods</span></div>
<div class="block">Nourritures présente dans le parc</div>
</section>
</li>
<li>
<section class="detail" id="frightenProbaility">
<h3>frightenProbaility</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="member-name">frightenProbaility</span></div>
<div class="block">Probabilité d'effrayer les oiseaux, decroit à chaque actualisation du parc</div>
</section>
</li>
<li>
<section class="detail" id="numWriter">
<h3>numWriter</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">java.util.concurrent.atomic.AtomicInteger</span>&nbsp;<span class="member-name">numWriter</span></div>
<div class="block">Nombre de thread travaillant en ecriture sur l'objet</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;(int,int)">
<h3>Park</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="member-name">Park</span>&#8203;(<span class="parameters">int&nbsp;width,
int&nbsp;height)</span></div>
<div class="block">Constructeur de l'objet representant un parc</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>width</code> - longueur du parc</dd>
<dd><code>height</code> - hauteur du parc</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="getBirds()">
<h3>getBirds</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">java.util.ArrayList&lt;<a href="Bird.html" title="class in pigeons">Bird</a>&gt;</span>&nbsp;<span class="member-name">getBirds</span>()</div>
<div class="block">Obtenir les oiseaux du parc</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>la liste contenant les oiseaux du parcs</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getFoods()">
<h3>getFoods</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">java.util.ArrayList&lt;<a href="Food.html" title="class in pigeons">Food</a>&gt;</span>&nbsp;<span class="member-name">getFoods</span>()</div>
<div class="block">Obtenir la nourriture du parc
Cette méthode est executé avec un verrou ce qui permet aux oiseaux de
recuperer la propriété en étant sur que la variable n'est pas en cours de
modification</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>la liste contenant les nourritures du parc</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addFood(pigeons.Food)">
<h3>addFood</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">addFood</span>&#8203;(<span class="parameters"><a href="Food.html" title="class in pigeons">Food</a>&nbsp;toAdd)</span></div>
<div class="block">Ajouter une nourriture dans le parc
Cette méthode est executé avec un verrou ce qui permet de modifier la
propriété, tout en bloquant les lectures eventuelles de la propriété.
L'ecriture est prioritaire sur la lecture.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>toAdd</code> - nourriture a ajouter au parc</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addBird(pigeons.Bird)">
<h3>addBird</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">addBird</span>&#8203;(<span class="parameters"><a href="Bird.html" title="class in pigeons">Bird</a>&nbsp;toAdd)</span></div>
<div class="block">Ajouter un oiseau dans le parc</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>toAdd</code> - Oiseau à ajouter au parc</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="removeFoods(java.util.ArrayList)">
<h3>removeFoods</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">removeFoods</span>&#8203;(<span class="parameters">java.util.ArrayList&lt;<a href="Food.html" title="class in pigeons">Food</a>&gt;&nbsp;foods)</span></div>
<div class="block">Supprimer des nourriture présente sur le parc
Cette méthode est executé avec un verrou ce qui permet de modifier la
propriété, tout en bloquant les lectures eventuelles de la propriété.
L'ecriture est prioritaire sur la lecture.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>foods</code> - liste de nourriture à supprimer du parc</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="removeFood(pigeons.Food)">
<h3>removeFood</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">removeFood</span>&#8203;(<span class="parameters"><a href="Food.html" title="class in pigeons">Food</a>&nbsp;food)</span></div>
<div class="block">Supprimer une nourriture du parc
Cette méthode est executé avec un verrou ce qui permet de modifier la
propriété, tout en bloquant les lectures eventuelles de la propriété.
L'ecriture est prioritaire sur la lecture.</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>food</code> - nourriture à ajouter</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="paintComponent(java.awt.Graphics)">
<h3>paintComponent</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">paintComponent</span>&#8203;(<span class="parameters">java.awt.Graphics&nbsp;g)</span></div>
<dl class="notes">
<dt>Overrides:</dt>
<dd><code>paintComponent</code>&nbsp;in class&nbsp;<code>javax.swing.JComponent</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="mouseClicked(java.awt.event.MouseEvent)">
<h3>mouseClicked</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">mouseClicked</span>&#8203;(<span class="parameters">java.awt.event.MouseEvent&nbsp;e)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>mouseClicked</code>&nbsp;in interface&nbsp;<code>java.awt.event.MouseListener</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="mousePressed(java.awt.event.MouseEvent)">
<h3>mousePressed</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">mousePressed</span>&#8203;(<span class="parameters">java.awt.event.MouseEvent&nbsp;e)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>mousePressed</code>&nbsp;in interface&nbsp;<code>java.awt.event.MouseListener</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="mouseReleased(java.awt.event.MouseEvent)">
<h3>mouseReleased</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">mouseReleased</span>&#8203;(<span class="parameters">java.awt.event.MouseEvent&nbsp;e)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>mouseReleased</code>&nbsp;in interface&nbsp;<code>java.awt.event.MouseListener</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="mouseEntered(java.awt.event.MouseEvent)">
<h3>mouseEntered</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">mouseEntered</span>&#8203;(<span class="parameters">java.awt.event.MouseEvent&nbsp;e)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>mouseEntered</code>&nbsp;in interface&nbsp;<code>java.awt.event.MouseListener</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="mouseExited(java.awt.event.MouseEvent)">
<h3>mouseExited</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">mouseExited</span>&#8203;(<span class="parameters">java.awt.event.MouseEvent&nbsp;e)</span></div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>mouseExited</code>&nbsp;in interface&nbsp;<code>java.awt.event.MouseListener</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="removeBird(int)">
<h3>removeBird</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">removeBird</span>&#8203;(<span class="parameters">int&nbsp;index)</span></div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>index</code> - index de liste de l'oiseau à supprimer</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="refreshPark()">
<h3>refreshPark</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">refreshPark</span>()</div>
<div class="block">Rafraichir le parc, supprime les nourriture périmés depuis un certain temps,
réduit le temps de fraicheurs des nourritures et essaye d'effrayer les
oiseaux du park</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottom-nav" id="navbar.bottom">
<div class="skip-nav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar.bottom.firstrow" class="nav-list" title="Navigation">
<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="../deprecated-list.html">Deprecated</a></li>
<li><a href="../index-all.html">Index</a></li>
<li><a href="../help-doc.html">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>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>