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

View File

@@ -1,3 +1,23 @@
# UQAC-POOA-pigeons
## Getting Started
Bienvenue dans la question 1 du TP 2 du cours "8INF957 - Programmation orienté-objet avancée"
## Arborescence du projet
L'espace de travail dispose de plusieurs dossiers :
- `src`: dossier contenant les fichiers sources (.java) repondant à la question 1
- `lib`: dossier contenent les librairies utiles à l'execution du projet
- `bin`: dossier contenant les fichiers binaires issus de la compilation des sources
- `doc`: dossier contenant la documentation de l'application
- `livrables`: dossier contenant les livrables relatifs à la questions 1
## Execution
Pour lancer notre application, executer simplement notre fichier ```question1.jar ``` présent dans le dossier ```livrables```, en double cliquant sur le fichier.
# En ligne de commande
Depuis le dossier livrables, executer la commande suivantes :
```java -jar question1.jar```
Dépôt contenant la réponse à la question 1 du TP2

132
doc/allclasses-index.html Normal file
View File

@@ -0,0 +1,132 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>All Classes</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2022-11-20">
<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 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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/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 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">
<div class="header">
<h1 title="All&amp;nbsp;Classes" class="title">All&nbsp;Classes</h1>
</div>
<div class="type-summary" id="all-classes-table">
<table class="summary-table">
<caption><span>Class Summary</span></caption>
<thead>
<tr>
<th class="col-first" scope="col">Class</th>
<th class="col-last" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="alt-color" id="i0">
<td class="col-first"><a href="pigeons/App.html" title="class in pigeons">App</a></td>
<th class="col-last" scope="row">&nbsp;</th>
</tr>
<tr class="row-color" id="i1">
<td class="col-first"><a href="pigeons/Bird.html" title="class in pigeons">Bird</a></td>
<th class="col-last" scope="row">
<div class="block">Classe permettant de gérer un oiseau
Implemente l'interface Runnable, ce qui permet d'executer les actions d'un
oiseau dans un thread.</div>
</th>
</tr>
<tr class="alt-color" id="i2">
<td class="col-first"><a href="pigeons/Food.html" title="class in pigeons">Food</a></td>
<th class="col-last" scope="row">
<div class="block">Classe permettant de gérer une nourriture</div>
</th>
</tr>
<tr class="row-color" id="i3">
<td class="col-first"><a href="pigeons/Park.html" title="class in pigeons">Park</a></td>
<th class="col-last" scope="row">
<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.</div>
</th>
</tr>
<tr class="alt-color" id="i4">
<td class="col-first"><a href="pigeons/Position.html" title="class in pigeons">Position</a></td>
<th class="col-last" scope="row">
<div class="block">Classe representant un position</div>
</th>
</tr>
<tr class="row-color" id="i5">
<td class="col-first"><a href="pigeons/UI.html" title="class in pigeons">UI</a></td>
<th class="col-last" scope="row">
<div class="block">Classe d'interface utilisateur de l'application</div>
</th>
</tr>
</tbody>
</table>
</div>
</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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/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>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,95 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>All Packages</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2022-11-20">
<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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/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 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">
<div class="header">
<h1 title="All&amp;nbsp;Packages" class="title">All&nbsp;Packages</h1>
</div>
<div class="packages-summary">
<table class="summary-table">
<caption><span>Package Summary</span></caption>
<thead>
<tr>
<th class="col-first" scope="col">Package</th>
<th class="col-last" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="alt-color">
<th class="col-first" scope="row"><a href="pigeons/package-summary.html">pigeons</a></th>
<td class="col-last">&nbsp;</td>
</tr>
</tbody>
</table>
</div>
</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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/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>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

81
doc/constant-values.html Normal file
View File

@@ -0,0 +1,81 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>Constant Field Values</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2022-11-20">
<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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/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 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">
<div class="header">
<h1 title="Constant Field Values" class="title">Constant Field Values</h1>
<section class="packages">
<h2 title="Contents">Contents</h2>
</section>
</div>
</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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/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>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

79
doc/deprecated-list.html Normal file
View File

@@ -0,0 +1,79 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>Deprecated List</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2022-11-20">
<meta name="description" content="deprecated elements">
<meta name="generator" content="javadoc/DeprecatedListWriter">
<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="deprecated-list-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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/package-tree.html">Tree</a></li>
<li class="nav-bar-cell1-rev">Deprecated</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 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">
<div class="header">
<h1 title="Deprecated API" class="title">Deprecated API</h1>
<h2 title="Contents">Contents</h2>
</div>
</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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/package-tree.html">Tree</a></li>
<li class="nav-bar-cell1-rev">Deprecated</li>
<li><a href="index-all.html">Index</a></li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

1
doc/element-list Normal file
View File

@@ -0,0 +1 @@
pigeons

175
doc/help-doc.html Normal file
View File

@@ -0,0 +1,175 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>API Help</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2022-11-20">
<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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/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 class="nav-bar-cell1-rev">Help</li>
</ul>
</div>
<div class="sub-nav">
<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">
<div class="header">
<h1 class="title">How This API Document Is Organized</h1>
<div class="sub-title">This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.</div>
</div>
<section class="help-section">
<h2>Package</h2>
<p>Each package has a page that contains a list of its classes and interfaces, with a summary for each. These pages may contain six categories:</p>
<ul class="help-section-list">
<li>Interfaces</li>
<li>Classes</li>
<li>Enums</li>
<li>Exceptions</li>
<li>Errors</li>
<li>Annotation Types</li>
</ul>
</section>
<section class="help-section">
<h2>Class or Interface</h2>
<p>Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:</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>Field Summary</li>
<li>Property Summary</li>
<li>Constructor Summary</li>
<li>Method Summary</li>
</ul>
<br>
<ul class="help-section-list">
<li>Field Details</li>
<li>Property Details</li>
<li>Constructor Details</li>
<li>Method Details</li>
</ul>
<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">
<h2>Annotation Type</h2>
<p>Each annotation type has its own separate page with the following sections:</p>
<ul class="help-section-list">
<li>Annotation Type Declaration</li>
<li>Annotation Type Description</li>
<li>Required Element Summary</li>
<li>Optional Element Summary</li>
<li>Element Details</li>
</ul>
</section>
<section class="help-section">
<h2>Enum</h2>
<p>Each enum has its own separate page with the following sections:</p>
<ul class="help-section-list">
<li>Enum Declaration</li>
<li>Enum Description</li>
<li>Enum Constant Summary</li>
<li>Enum Constant Details</li>
</ul>
</section>
<section class="help-section">
<h2>Tree (Class Hierarchy)</h2>
<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">
<h2>Deprecated API</h2>
<p>The <a href="deprecated-list.html">Deprecated API</a> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to shortcomings, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</p>
</section>
<section class="help-section">
<h2>Index</h2>
<p>The <a href="index-all.html">Index</a> contains an alphabetic index of all classes, interfaces, constructors, methods, and fields, as well as lists of all packages and all classes.</p>
</section>
<section class="help-section">
<h2>Serialized Form</h2>
<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">
<h2>Constant Field Values</h2>
<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">
<h2>Search</h2>
<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 "camel-case" 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 <a href="https://docs.oracle.com/en/java/javase/15/docs/specs/javadoc/javadoc-search-spec.html">the Javadoc Search Specification</a> for a full description of search features.</p>
</section>
<hr>
<span class="help-footnote">This help file applies to API documentation generated by the standard doclet.</span></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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/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 class="nav-bar-cell1-rev">Help</li>
</ul>
</div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

431
doc/index-all.html Normal file
View File

@@ -0,0 +1,431 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>Index</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2022-11-20">
<meta name="description" content="index">
<meta name="generator" content="javadoc/SingleIndexWriter">
<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="single-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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/package-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="nav-bar-cell1-rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<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">
<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:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:I">I</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:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a>
<h2 class="title" id="I:A">A</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/Park.html#addBird(pigeons.Bird)">addBird(Bird)</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>
<div class="block">Ajouter un oiseau dans le parc</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#addFood(pigeons.Food)">addFood(Food)</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>
<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>
</dd>
<dt><a href="pigeons/App.html" title="class in pigeons"><span class="type-name-link">App</span></a> - Class in <a href="pigeons/package-summary.html">pigeons</a></dt>
<dd>&nbsp;</dd>
<dt><span class="member-name-link"><a href="pigeons/App.html#%3Cinit%3E()">App()</a></span> - Constructor for class pigeons.<a href="pigeons/App.html" title="class in pigeons">App</a></dt>
<dd>&nbsp;</dd>
</dl>
<h2 class="title" id="I:B">B</h2>
<dl class="index">
<dt><a href="pigeons/Bird.html" title="class in pigeons"><span class="type-name-link">Bird</span></a> - Class in <a href="pigeons/package-summary.html">pigeons</a></dt>
<dd>
<div class="block">Classe permettant de gérer un oiseau
Implemente l'interface Runnable, ce qui permet d'executer les actions d'un
oiseau dans un thread.</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#%3Cinit%3E(int,int,pigeons.Park)">Bird(int, int, Park)</a></span> - Constructor for class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Constructeur de l'objet oiseau</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#%3Cinit%3E(pigeons.Position,pigeons.Park)">Bird(Position, Park)</a></span> - Constructor for class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Constructeur de l'objet oiseau</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#birds">birds</a></span> - Variable in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>
<div class="block">Oiseaux présent dans le parc</div>
</dd>
</dl>
<h2 class="title" id="I:C">C</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/Food.html#color">color</a></span> - Variable in class pigeons.<a href="pigeons/Food.html" title="class in pigeons">Food</a></dt>
<dd>
<div class="block">Couleur de la nourriture
- Rouge si non consommable
- Jaune si consommable</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#COLOR">COLOR</a></span> - Static variable in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Couleur d'un oiseau</div>
</dd>
</dl>
<h2 class="title" id="I:D">D</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/Position.html#distance(pigeons.Position)">distance(Position)</a></span> - Method in class pigeons.<a href="pigeons/Position.html" title="class in pigeons">Position</a></dt>
<dd>
<div class="block">Calculer la distance entre 2 positions</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/UI.html#draw()">draw()</a></span> - Method in class pigeons.<a href="pigeons/UI.html" title="class in pigeons">UI</a></dt>
<dd>
<div class="block">Dessiner l'interface</div>
</dd>
</dl>
<h2 class="title" id="I:F">F</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/Bird.html#findNearestFood()">findNearestFood()</a></span> - Method in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Detecte la nourriture la plus proche de l'oiseau</div>
</dd>
<dt><a href="pigeons/Food.html" title="class in pigeons"><span class="type-name-link">Food</span></a> - Class in <a href="pigeons/package-summary.html">pigeons</a></dt>
<dd>
<div class="block">Classe permettant de gérer une nourriture</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Food.html#%3Cinit%3E(int,int)">Food(int, int)</a></span> - Constructor for class pigeons.<a href="pigeons/Food.html" title="class in pigeons">Food</a></dt>
<dd>
<div class="block">Constructeur de l'objet representant une nourriture</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Food.html#%3Cinit%3E(pigeons.Position)">Food(Position)</a></span> - Constructor for class pigeons.<a href="pigeons/Food.html" title="class in pigeons">Food</a></dt>
<dd>
<div class="block">Constructeur de l'objet representant une nourriture</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#foods">foods</a></span> - Variable in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>
<div class="block">Nourritures présente dans le parc</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Food.html#freshTimeLeft">freshTimeLeft</a></span> - Variable in class pigeons.<a href="pigeons/Food.html" title="class in pigeons">Food</a></dt>
<dd>
<div class="block">Temps restant de fraicheur de la nourriture</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#frighten()">frighten()</a></span> - Method in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Effraie l'oiseau, a pour but de le déplacer à une position aléatoire</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#frightenProbaility">frightenProbaility</a></span> - Variable in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>
<div class="block">Probabilité d'effrayer les oiseaux, decroit à chaque actualisation du parc</div>
</dd>
</dl>
<h2 class="title" id="I:G">G</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/Park.html#getBirds()">getBirds()</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>
<div class="block">Obtenir les oiseaux du parc</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Food.html#getColor()">getColor()</a></span> - Method in class pigeons.<a href="pigeons/Food.html" title="class in pigeons">Food</a></dt>
<dd>
<div class="block">Obtenir la couleur associé une nourriture</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#getFoods()">getFoods()</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>
<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>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Food.html#getFreshTimeLeft()">getFreshTimeLeft()</a></span> - Method in class pigeons.<a href="pigeons/Food.html" title="class in pigeons">Food</a></dt>
<dd>
<div class="block">Obtenir le temps de fraicheur restant à une nourriture
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>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#getOnFood()">getOnFood()</a></span> - Method in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>&nbsp;</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#getPark()">getPark()</a></span> - Method in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Obtenir le parc dans lequel l'oiseau evolue</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/UI.html#getPark()">getPark()</a></span> - Method in class pigeons.<a href="pigeons/UI.html" title="class in pigeons">UI</a></dt>
<dd>
<div class="block">Obtenir le park associé à l'intefrace graphique</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#getPosition()">getPosition()</a></span> - Method in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Obtenir la position de l'oiseau</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Food.html#getPosition()">getPosition()</a></span> - Method in class pigeons.<a href="pigeons/Food.html" title="class in pigeons">Food</a></dt>
<dd>
<div class="block">Obtenir la position de la nourriture</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Position.html#getX()">getX()</a></span> - Method in class pigeons.<a href="pigeons/Position.html" title="class in pigeons">Position</a></dt>
<dd>
<div class="block">Obtenir la position sur l'axe des abscisses</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Position.html#getY()">getY()</a></span> - Method in class pigeons.<a href="pigeons/Position.html" title="class in pigeons">Position</a></dt>
<dd>
<div class="block">Obtenir la position sur l'axe des ordonées</div>
</dd>
</dl>
<h2 class="title" id="I:I">I</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/Bird.html#isAlive">isAlive</a></span> - Variable in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>&nbsp;</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#isAlive()">isAlive()</a></span> - Method in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>&nbsp;</dd>
<dt><span class="member-name-link"><a href="pigeons/Food.html#isFresh">isFresh</a></span> - Variable in class pigeons.<a href="pigeons/Food.html" title="class in pigeons">Food</a></dt>
<dd>
<div class="block">Consommabilité de la nourriture</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Food.html#isFresh()">isFresh()</a></span> - Method in class pigeons.<a href="pigeons/Food.html" title="class in pigeons">Food</a></dt>
<dd>
<div class="block">Obtenir la consommabité de la nourriture
Cette fonction 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>
</dd>
</dl>
<h2 class="title" id="I:M">M</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/App.html#main(java.lang.String%5B%5D)">main(String[])</a></span> - Static method in class pigeons.<a href="pigeons/App.html" title="class in pigeons">App</a></dt>
<dd>
<div class="block">Fonction Main permettant de lancer l'application</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#mouseClicked(java.awt.event.MouseEvent)">mouseClicked(MouseEvent)</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>&nbsp;</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#mouseEntered(java.awt.event.MouseEvent)">mouseEntered(MouseEvent)</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>&nbsp;</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#mouseExited(java.awt.event.MouseEvent)">mouseExited(MouseEvent)</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>&nbsp;</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#mousePressed(java.awt.event.MouseEvent)">mousePressed(MouseEvent)</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>&nbsp;</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#mouseReleased(java.awt.event.MouseEvent)">mouseReleased(MouseEvent)</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>&nbsp;</dd>
<dt><span class="member-name-link"><a href="pigeons/Position.html#moveTo(int,int)">moveTo(int, int)</a></span> - Method in class pigeons.<a href="pigeons/Position.html" title="class in pigeons">Position</a></dt>
<dd>
<div class="block">Déplacer la position</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#moveTo(pigeons.Food)">moveTo(Food)</a></span> - Method in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Deplacer l'oiseau vers une nourriture</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#moveTo(pigeons.Position)">moveTo(Position)</a></span> - Method in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Deplace un oiseau vers une position</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Position.html#moveTo(pigeons.Position)">moveTo(Position)</a></span> - Method in class pigeons.<a href="pigeons/Position.html" title="class in pigeons">Position</a></dt>
<dd>
<div class="block">Déplacer la position</div>
</dd>
</dl>
<h2 class="title" id="I:N">N</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/Food.html#numWriter">numWriter</a></span> - Variable in class pigeons.<a href="pigeons/Food.html" title="class in pigeons">Food</a></dt>
<dd>
<div class="block">Nombre de thread travaillant en ecriture sur l'objet</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#numWriter">numWriter</a></span> - Variable in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>
<div class="block">Nombre de thread travaillant en ecriture sur l'objet</div>
</dd>
</dl>
<h2 class="title" id="I:P">P</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/Park.html#paintComponent(java.awt.Graphics)">paintComponent(Graphics)</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>&nbsp;</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#park">park</a></span> - Variable in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Parc de rattachement de l'oiseau</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/UI.html#park">park</a></span> - Variable in class pigeons.<a href="pigeons/UI.html" title="class in pigeons">UI</a></dt>
<dd>
<div class="block">Parc de l'application</div>
</dd>
<dt><a href="pigeons/Park.html" title="class in pigeons"><span class="type-name-link">Park</span></a> - Class in <a href="pigeons/package-summary.html">pigeons</a></dt>
<dd>
<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.</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#%3Cinit%3E(int,int)">Park(int, int)</a></span> - Constructor for class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>
<div class="block">Constructeur de l'objet representant un parc</div>
</dd>
<dt><a href="pigeons/package-summary.html">pigeons</a> - package pigeons</dt>
<dd>&nbsp;</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#position">position</a></span> - Variable in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Positiion de l'oiseau</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Food.html#position">position</a></span> - Variable in class pigeons.<a href="pigeons/Food.html" title="class in pigeons">Food</a></dt>
<dd>
<div class="block">Position de la nourriture</div>
</dd>
<dt><a href="pigeons/Position.html" title="class in pigeons"><span class="type-name-link">Position</span></a> - Class in <a href="pigeons/package-summary.html">pigeons</a></dt>
<dd>
<div class="block">Classe representant un position</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Position.html#%3Cinit%3E()">Position()</a></span> - Constructor for class pigeons.<a href="pigeons/Position.html" title="class in pigeons">Position</a></dt>
<dd>
<div class="block">Constructeur de l'objet representant une position
Position fixé à l'origine (0 ; 0)</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Position.html#%3Cinit%3E(int,int)">Position(int, int)</a></span> - Constructor for class pigeons.<a href="pigeons/Position.html" title="class in pigeons">Position</a></dt>
<dd>
<div class="block">Constructeur de l'objet representant une position</div>
</dd>
</dl>
<h2 class="title" id="I:R">R</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/Food.html#reduceFreshTimeLeft(long)">reduceFreshTimeLeft(long)</a></span> - Method in class pigeons.<a href="pigeons/Food.html" title="class in pigeons">Food</a></dt>
<dd>
<div class="block">Reduit le temps de fraicheur de la nourriture.</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#REFRESH_TIME">REFRESH_TIME</a></span> - Static variable in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Temps de raffraichissement d'un oiseau (en ms)</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#refreshPark()">refreshPark()</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>
<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>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#removeBird(int)">removeBird(int)</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>&nbsp;</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#removeFood(pigeons.Food)">removeFood(Food)</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>
<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>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Park.html#removeFoods(java.util.ArrayList)">removeFoods(ArrayList&lt;Food&gt;)</a></span> - Method in class pigeons.<a href="pigeons/Park.html" title="class in pigeons">Park</a></dt>
<dd>
<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>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Bird.html#run()">run()</a></span> - Method in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>&nbsp;</dd>
</dl>
<h2 class="title" id="I:S">S</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/Bird.html#setPark(pigeons.Park)">setPark(Park)</a></span> - Method in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Définir un parc dans lequel l'oiseau evoluera</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/UI.html#setPark(pigeons.Park)">setPark(Park)</a></span> - Method in class pigeons.<a href="pigeons/UI.html" title="class in pigeons">UI</a></dt>
<dd>
<div class="block">Définir un parc pour l'interface graphique</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Position.html#setX(int)">setX(int)</a></span> - Method in class pigeons.<a href="pigeons/Position.html" title="class in pigeons">Position</a></dt>
<dd>
<div class="block">Définir une coordonée d'abscisse</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/Position.html#setY(int)">setY(int)</a></span> - Method in class pigeons.<a href="pigeons/Position.html" title="class in pigeons">Position</a></dt>
<dd>
<div class="block">Définir une coordonée d'ordonée</div>
</dd>
</dl>
<h2 class="title" id="I:U">U</h2>
<dl class="index">
<dt><a href="pigeons/UI.html" title="class in pigeons"><span class="type-name-link">UI</span></a> - Class in <a href="pigeons/package-summary.html">pigeons</a></dt>
<dd>
<div class="block">Classe d'interface utilisateur de l'application</div>
</dd>
<dt><span class="member-name-link"><a href="pigeons/UI.html#%3Cinit%3E(pigeons.Park)">UI(Park)</a></span> - Constructor for class pigeons.<a href="pigeons/UI.html" title="class in pigeons">UI</a></dt>
<dd>
<div class="block">Constructeur de l'interface graphique
La taille de l'interface sera la même que celle du parc</div>
</dd>
</dl>
<h2 class="title" id="I:V">V</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/Bird.html#VELOCITY">VELOCITY</a></span> - Static variable in class pigeons.<a href="pigeons/Bird.html" title="class in pigeons">Bird</a></dt>
<dd>
<div class="block">Vitesse d'un oiseau</div>
</dd>
</dl>
<h2 class="title" id="I:X">X</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/Position.html#x">x</a></span> - Variable in class pigeons.<a href="pigeons/Position.html" title="class in pigeons">Position</a></dt>
<dd>
<div class="block">Coordonnée sur l'axe des abscisses</div>
</dd>
</dl>
<h2 class="title" id="I:Y">Y</h2>
<dl class="index">
<dt><span class="member-name-link"><a href="pigeons/Position.html#y">y</a></span> - Variable in class pigeons.<a href="pigeons/Position.html" title="class in pigeons">Position</a></dt>
<dd>
<div class="block">Coodonnée sur l'axe des ordonées</div>
</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:F">F</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:I">I</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:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a href="#I:X">X</a>&nbsp;<a href="#I:Y">Y</a>&nbsp;<br><a href="allclasses-index.html">All&nbsp;Classes</a><span class="vertical-separator">|</span><a href="allpackages-index.html">All&nbsp;Packages</a></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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/package-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="nav-bar-cell1-rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

26
doc/index.html Normal file
View File

@@ -0,0 +1,26 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>Generated Documentation (Untitled)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2022-11-20">
<meta name="description" content="index redirect">
<meta name="generator" content="javadoc/IndexRedirectWriter">
<link rel="canonical" href="pigeons/package-summary.html">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript">window.location.replace('pigeons/package-summary.html')</script>
<noscript>
<meta http-equiv="Refresh" content="0;pigeons/package-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="pigeons/package-summary.html">pigeons/package-summary.html</a></p>
</main>
</body>
</html>

34
doc/jquery-ui.overrides.css vendored Normal file
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 @@
memberSearchIndex = [{"p":"pigeons","c":"Park","l":"addBird(Bird)","u":"addBird(pigeons.Bird)"},{"p":"pigeons","c":"Park","l":"addFood(Food)","u":"addFood(pigeons.Food)"},{"p":"pigeons","c":"App","l":"App()","u":"%3Cinit%3E()"},{"p":"pigeons","c":"Bird","l":"Bird(int, int, Park)","u":"%3Cinit%3E(int,int,pigeons.Park)"},{"p":"pigeons","c":"Bird","l":"Bird(Position, Park)","u":"%3Cinit%3E(pigeons.Position,pigeons.Park)"},{"p":"pigeons","c":"Park","l":"birds"},{"p":"pigeons","c":"Food","l":"color"},{"p":"pigeons","c":"Bird","l":"COLOR"},{"p":"pigeons","c":"Position","l":"distance(Position)","u":"distance(pigeons.Position)"},{"p":"pigeons","c":"UI","l":"draw()"},{"p":"pigeons","c":"Bird","l":"findNearestFood()"},{"p":"pigeons","c":"Food","l":"Food(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"pigeons","c":"Food","l":"Food(Position)","u":"%3Cinit%3E(pigeons.Position)"},{"p":"pigeons","c":"Park","l":"foods"},{"p":"pigeons","c":"Food","l":"freshTimeLeft"},{"p":"pigeons","c":"Bird","l":"frighten()"},{"p":"pigeons","c":"Park","l":"frightenProbaility"},{"p":"pigeons","c":"Park","l":"getBirds()"},{"p":"pigeons","c":"Food","l":"getColor()"},{"p":"pigeons","c":"Park","l":"getFoods()"},{"p":"pigeons","c":"Food","l":"getFreshTimeLeft()"},{"p":"pigeons","c":"Bird","l":"getOnFood()"},{"p":"pigeons","c":"Bird","l":"getPark()"},{"p":"pigeons","c":"UI","l":"getPark()"},{"p":"pigeons","c":"Bird","l":"getPosition()"},{"p":"pigeons","c":"Food","l":"getPosition()"},{"p":"pigeons","c":"Position","l":"getX()"},{"p":"pigeons","c":"Position","l":"getY()"},{"p":"pigeons","c":"Bird","l":"isAlive"},{"p":"pigeons","c":"Bird","l":"isAlive()"},{"p":"pigeons","c":"Food","l":"isFresh"},{"p":"pigeons","c":"Food","l":"isFresh()"},{"p":"pigeons","c":"App","l":"main(String[])","u":"main(java.lang.String[])"},{"p":"pigeons","c":"Park","l":"mouseClicked(MouseEvent)","u":"mouseClicked(java.awt.event.MouseEvent)"},{"p":"pigeons","c":"Park","l":"mouseEntered(MouseEvent)","u":"mouseEntered(java.awt.event.MouseEvent)"},{"p":"pigeons","c":"Park","l":"mouseExited(MouseEvent)","u":"mouseExited(java.awt.event.MouseEvent)"},{"p":"pigeons","c":"Park","l":"mousePressed(MouseEvent)","u":"mousePressed(java.awt.event.MouseEvent)"},{"p":"pigeons","c":"Park","l":"mouseReleased(MouseEvent)","u":"mouseReleased(java.awt.event.MouseEvent)"},{"p":"pigeons","c":"Bird","l":"moveTo(Food)","u":"moveTo(pigeons.Food)"},{"p":"pigeons","c":"Position","l":"moveTo(int, int)","u":"moveTo(int,int)"},{"p":"pigeons","c":"Bird","l":"moveTo(Position)","u":"moveTo(pigeons.Position)"},{"p":"pigeons","c":"Position","l":"moveTo(Position)","u":"moveTo(pigeons.Position)"},{"p":"pigeons","c":"Food","l":"numWriter"},{"p":"pigeons","c":"Park","l":"numWriter"},{"p":"pigeons","c":"Park","l":"paintComponent(Graphics)","u":"paintComponent(java.awt.Graphics)"},{"p":"pigeons","c":"Bird","l":"park"},{"p":"pigeons","c":"UI","l":"park"},{"p":"pigeons","c":"Park","l":"Park(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"pigeons","c":"Bird","l":"position"},{"p":"pigeons","c":"Food","l":"position"},{"p":"pigeons","c":"Position","l":"Position()","u":"%3Cinit%3E()"},{"p":"pigeons","c":"Position","l":"Position(int, int)","u":"%3Cinit%3E(int,int)"},{"p":"pigeons","c":"Food","l":"reduceFreshTimeLeft(long)"},{"p":"pigeons","c":"Bird","l":"REFRESH_TIME"},{"p":"pigeons","c":"Park","l":"refreshPark()"},{"p":"pigeons","c":"Park","l":"removeBird(int)"},{"p":"pigeons","c":"Park","l":"removeFood(Food)","u":"removeFood(pigeons.Food)"},{"p":"pigeons","c":"Park","l":"removeFoods(ArrayList<Food>)","u":"removeFoods(java.util.ArrayList)"},{"p":"pigeons","c":"Bird","l":"run()"},{"p":"pigeons","c":"Bird","l":"setPark(Park)","u":"setPark(pigeons.Park)"},{"p":"pigeons","c":"UI","l":"setPark(Park)","u":"setPark(pigeons.Park)"},{"p":"pigeons","c":"Position","l":"setX(int)"},{"p":"pigeons","c":"Position","l":"setY(int)"},{"p":"pigeons","c":"UI","l":"UI(Park)","u":"%3Cinit%3E(pigeons.Park)"},{"p":"pigeons","c":"Bird","l":"VELOCITY"},{"p":"pigeons","c":"Position","l":"x"},{"p":"pigeons","c":"Position","l":"y"}];updateSearchResults();

View File

@@ -0,0 +1 @@
moduleSearchIndex = [];updateSearchResults();

125
doc/overview-tree.html Normal file
View File

@@ -0,0 +1,125 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>Class Hierarchy</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2022-11-20">
<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>Package</li>
<li>Class</li>
<li class="nav-bar-cell1-rev">Tree</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 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">
<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="pigeons/package-tree.html">pigeons</a></li>
</ul>
</div>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.Object
<ul>
<li class="circle">pigeons.<a href="pigeons/App.html" title="class in pigeons"><span class="type-name-link">App</span></a></li>
<li class="circle">pigeons.<a href="pigeons/Bird.html" title="class in pigeons"><span class="type-name-link">Bird</span></a> (implements java.lang.Runnable)</li>
<li class="circle">java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
<ul>
<li class="circle">java.awt.Container
<ul>
<li class="circle">javax.swing.JComponent (implements java.io.Serializable)
<ul>
<li class="circle">javax.swing.JPanel (implements javax.accessibility.Accessible)
<ul>
<li class="circle">pigeons.<a href="pigeons/Park.html" title="class in pigeons"><span class="type-name-link">Park</span></a> (implements java.awt.event.MouseListener)</li>
</ul>
</li>
</ul>
</li>
<li class="circle">java.awt.Window (implements javax.accessibility.Accessible)
<ul>
<li class="circle">java.awt.Frame (implements java.awt.MenuContainer)
<ul>
<li class="circle">javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
<ul>
<li class="circle">pigeons.<a href="pigeons/UI.html" title="class in pigeons"><span class="type-name-link">UI</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="circle">pigeons.<a href="pigeons/Food.html" title="class in pigeons"><span class="type-name-link">Food</span></a></li>
<li class="circle">pigeons.<a href="pigeons/Position.html" title="class in pigeons"><span class="type-name-link">Position</span></a></li>
</ul>
</li>
</ul>
</section>
</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>Package</li>
<li>Class</li>
<li class="nav-bar-cell1-rev">Tree</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>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1 @@
packageSearchIndex = [{"l":"All Packages","u":"allpackages-index.html"},{"l":"pigeons"}];updateSearchResults();

226
doc/pigeons/App.html Normal file
View File

@@ -0,0 +1,226 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>App</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: 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 data = {"i0":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static 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>Nested&nbsp;|&nbsp;</li>
<li>Field&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">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 App" class="title">Class App</h1>
</div>
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">pigeons.App</div>
</div>
<section class="description">
<hr>
<pre>public class <span class="type-name-label">App</span>
extends java.lang.Object</pre>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== 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()">App</a></span>()</code></th>
<td class="col-last">&nbsp;</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="t1" class="table-tab" onclick="show(1);">Static 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>static void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#main(java.lang.String%5B%5D)">main</a></span>&#8203;(java.lang.String[]&nbsp;args)</code></th>
<td class="col-last">
<div class="block">Fonction Main permettant de lancer l'application</div>
</td>
</tr>
</tbody>
</table>
</div>
</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, toString, wait, wait, wait</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>App</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="member-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="member-name">main</span>&#8203;(<span class="parameters">java.lang.String[]&nbsp;args)</span>
throws <span class="exceptions">java.lang.Exception</span></div>
<div class="block">Fonction Main permettant de lancer l'application</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>args</code> - </dd>
<dt>Throws:</dt>
<dd><code>java.lang.Exception</code></dd>
</dl>
</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>Nested&nbsp;|&nbsp;</li>
<li>Field&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>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

527
doc/pigeons/Bird.html Normal file
View File

@@ -0,0 +1,527 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>Bird</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: Bird">
<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};
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>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">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 Bird" class="title">Class Bird</h1>
</div>
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">pigeons.Bird</div>
</div>
<section class="description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code>java.lang.Runnable</code></dd>
</dl>
<hr>
<pre>public class <span class="type-name-label">Bird</span>
extends java.lang.Object
implements java.lang.Runnable</pre>
<div class="block">Classe permettant de gérer un oiseau
Implemente l'interface Runnable, ce qui permet d'executer les actions d'un
oiseau dans un thread.</div>
<dl class="notes">
<dt>Since:</dt>
<dd>1.0</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== 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>static java.awt.Color</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#COLOR">COLOR</a></span></code></th>
<td class="col-last">
<div class="block">Couleur d'un oiseau</div>
</td>
</tr>
<tr class="row-color">
<td class="col-first"><code>private boolean</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#isAlive">isAlive</a></span></code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="alt-color">
<td class="col-first"><code>private <a href="Park.html" title="class in pigeons">Park</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#park">park</a></span></code></th>
<td class="col-last">
<div class="block">Parc de rattachement de l'oiseau</div>
</td>
</tr>
<tr class="row-color">
<td class="col-first"><code>private <a href="Position.html" title="class in pigeons">Position</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#position">position</a></span></code></th>
<td class="col-last">
<div class="block">Positiion de l'oiseau</div>
</td>
</tr>
<tr class="alt-color">
<td class="col-first"><code>static int</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#REFRESH_TIME">REFRESH_TIME</a></span></code></th>
<td class="col-last">
<div class="block">Temps de raffraichissement d'un oiseau (en ms)</div>
</td>
</tr>
<tr class="row-color">
<td class="col-first"><code>static int</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#VELOCITY">VELOCITY</a></span></code></th>
<td class="col-last">
<div class="block">Vitesse d'un oiseau</div>
</td>
</tr>
</tbody>
</table>
</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,pigeons.Park)">Bird</a></span>&#8203;(int&nbsp;x,
int&nbsp;y,
<a href="Park.html" title="class in pigeons">Park</a>&nbsp;park)</code></th>
<td class="col-last">
<div class="block">Constructeur de l'objet oiseau</div>
</td>
</tr>
<tr class="row-color">
<th class="col-constructor-name" scope="row"><code><span class="member-name-link"><a href="#%3Cinit%3E(pigeons.Position,pigeons.Park)">Bird</a></span>&#8203;(<a href="Position.html" title="class in pigeons">Position</a>&nbsp;position,
<a href="Park.html" title="class in pigeons">Park</a>&nbsp;park)</code></th>
<td class="col-last">
<div class="block">Constructeur de l'objet oiseau</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><a href="Food.html" title="class in pigeons">Food</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#findNearestFood()">findNearestFood</a></span>()</code></th>
<td class="col-last">
<div class="block">Detecte la nourriture la plus proche de l'oiseau</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="#frighten()">frighten</a></span>()</code></th>
<td class="col-last">
<div class="block">Effraie l'oiseau, a pour but de le déplacer à une position aléatoire</div>
</td>
</tr>
<tr class="alt-color" id="i2">
<td class="col-first"><code><a href="Food.html" title="class in pigeons">Food</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#getOnFood()">getOnFood</a></span>()</code></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color" id="i3">
<td class="col-first"><code><a href="Park.html" title="class in pigeons">Park</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#getPark()">getPark</a></span>()</code></th>
<td class="col-last">
<div class="block">Obtenir le parc dans lequel l'oiseau evolue</div>
</td>
</tr>
<tr class="alt-color" id="i4">
<td class="col-first"><code><a href="Position.html" title="class in pigeons">Position</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#getPosition()">getPosition</a></span>()</code></th>
<td class="col-last">
<div class="block">Obtenir la position de l'oiseau</div>
</td>
</tr>
<tr class="row-color" id="i5">
<td class="col-first"><code>boolean</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#isAlive()">isAlive</a></span>()</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="#moveTo(pigeons.Food)">moveTo</a></span>&#8203;(<a href="Food.html" title="class in pigeons">Food</a>&nbsp;food)</code></th>
<td class="col-last">
<div class="block">Deplacer l'oiseau vers une nourriture</div>
</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="#moveTo(pigeons.Position)">moveTo</a></span>&#8203;(<a href="Position.html" title="class in pigeons">Position</a>&nbsp;toMove)</code></th>
<td class="col-last">
<div class="block">Deplace un oiseau vers une position</div>
</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="#run()">run</a></span>()</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="#setPark(pigeons.Park)">setPark</a></span>&#8203;(<a href="Park.html" title="class in pigeons">Park</a>&nbsp;park)</code></th>
<td class="col-last">
<div class="block">Définir un parc dans lequel l'oiseau evoluera</div>
</td>
</tr>
</tbody>
</table>
</div>
</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, toString, 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="position">
<h3>position</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="Position.html" title="class in pigeons">Position</a></span>&nbsp;<span class="member-name">position</span></div>
<div class="block">Positiion de l'oiseau</div>
</section>
</li>
<li>
<section class="detail" id="park">
<h3>park</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="Park.html" title="class in pigeons">Park</a></span>&nbsp;<span class="member-name">park</span></div>
<div class="block">Parc de rattachement de l'oiseau</div>
</section>
</li>
<li>
<section class="detail" id="isAlive">
<h3>isAlive</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="member-name">isAlive</span></div>
</section>
</li>
<li>
<section class="detail" id="COLOR">
<h3>COLOR</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">java.awt.Color</span>&nbsp;<span class="member-name">COLOR</span></div>
<div class="block">Couleur d'un oiseau</div>
</section>
</li>
<li>
<section class="detail" id="REFRESH_TIME">
<h3>REFRESH_TIME</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="member-name">REFRESH_TIME</span></div>
<div class="block">Temps de raffraichissement d'un oiseau (en ms)</div>
</section>
</li>
<li>
<section class="detail" id="VELOCITY">
<h3>VELOCITY</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="member-name">VELOCITY</span></div>
<div class="block">Vitesse d'un oiseau</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;(pigeons.Position,pigeons.Park)">
<h3>Bird</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="member-name">Bird</span>&#8203;(<span class="parameters"><a href="Position.html" title="class in pigeons">Position</a>&nbsp;position,
<a href="Park.html" title="class in pigeons">Park</a>&nbsp;park)</span></div>
<div class="block">Constructeur de l'objet oiseau</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>position</code> - position de l'oiseau</dd>
<dd><code>park</code> - parc de rattachement de l'oiseau</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(int,int,pigeons.Park)">
<h3>Bird</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="member-name">Bird</span>&#8203;(<span class="parameters">int&nbsp;x,
int&nbsp;y,
<a href="Park.html" title="class in pigeons">Park</a>&nbsp;park)</span></div>
<div class="block">Constructeur de l'objet oiseau</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>x</code> - position sur l'axe des abscisses de l'oiseau</dd>
<dd><code>y</code> - position sur l'axe des ordonnées de l'oiseau</dd>
<dd><code>park</code> - parc de rattachement de l'oiseau</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="findNearestFood()">
<h3>findNearestFood</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Food.html" title="class in pigeons">Food</a></span>&nbsp;<span class="member-name">findNearestFood</span>()</div>
<div class="block">Detecte la nourriture la plus proche de l'oiseau</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Food L'objet representant la nourriture la plus proche</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="member-name">run</span>()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code>run</code>&nbsp;in interface&nbsp;<code>java.lang.Runnable</code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="moveTo(pigeons.Position)">
<h3>moveTo</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">moveTo</span>&#8203;(<span class="parameters"><a href="Position.html" title="class in pigeons">Position</a>&nbsp;toMove)</span></div>
<div class="block">Deplace un oiseau vers une position</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>toMove</code> - La position vers laquelle nous devous nous deplacer</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="moveTo(pigeons.Food)">
<h3>moveTo</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">moveTo</span>&#8203;(<span class="parameters"><a href="Food.html" title="class in pigeons">Food</a>&nbsp;food)</span></div>
<div class="block">Deplacer l'oiseau vers une nourriture</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>food</code> - La nourriture vers laquelle l'oiseau doit se diriger</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="frighten()">
<h3>frighten</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">frighten</span>()</div>
<div class="block">Effraie l'oiseau, a pour but de le déplacer à une position aléatoire</div>
</section>
</li>
<li>
<section class="detail" id="getOnFood()">
<h3>getOnFood</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Food.html" title="class in pigeons">Food</a></span>&nbsp;<span class="member-name">getOnFood</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Food Renvoie la nourriture sur laquelle nous nous situons, ou null si nous sommes sur aucune nourriture</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPark()">
<h3>getPark</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Park.html" title="class in pigeons">Park</a></span>&nbsp;<span class="member-name">getPark</span>()</div>
<div class="block">Obtenir le parc dans lequel l'oiseau evolue</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Le parc dans lequel l'oiseau évolue</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setPark(pigeons.Park)">
<h3>setPark</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">setPark</span>&#8203;(<span class="parameters"><a href="Park.html" title="class in pigeons">Park</a>&nbsp;park)</span></div>
<div class="block">Définir un parc dans lequel l'oiseau evoluera</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>park</code> - Le parc dans lequel l'oiseu évoluera</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isAlive()">
<h3>isAlive</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="member-name">isAlive</span>()</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>boolean vrai si l'oiseau est en vie, faux sinon.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPosition()">
<h3>getPosition</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Position.html" title="class in pigeons">Position</a></span>&nbsp;<span class="member-name">getPosition</span>()</div>
<div class="block">Obtenir la position de l'oiseau</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>Position la position actuelle de l'oiseau</dd>
</dl>
</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>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>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

448
doc/pigeons/Food.html Normal file
View File

@@ -0,0 +1,448 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>Food</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: Food">
<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};
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>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">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 Food" class="title">Class Food</h1>
</div>
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">pigeons.Food</div>
</div>
<section class="description">
<hr>
<pre>public class <span class="type-name-label">Food</span>
extends java.lang.Object</pre>
<div class="block">Classe permettant de gérer une nourriture</div>
<dl class="notes">
<dt>Since:</dt>
<dd>1.0</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== 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>java.awt.Color</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#color">color</a></span></code></th>
<td class="col-last">
<div class="block">Couleur de la nourriture
- Rouge si non consommable
- Jaune si consommable</div>
</td>
</tr>
<tr class="row-color">
<td class="col-first"><code>private long</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#freshTimeLeft">freshTimeLeft</a></span></code></th>
<td class="col-last">
<div class="block">Temps restant de fraicheur de la nourriture</div>
</td>
</tr>
<tr class="alt-color">
<td class="col-first"><code>private boolean</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#isFresh">isFresh</a></span></code></th>
<td class="col-last">
<div class="block">Consommabilité de la nourriture</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>
<tr class="alt-color">
<td class="col-first"><code>private <a href="Position.html" title="class in pigeons">Position</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#position">position</a></span></code></th>
<td class="col-last">
<div class="block">Position de la nourriture</div>
</td>
</tr>
</tbody>
</table>
</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)">Food</a></span>&#8203;(int&nbsp;x,
int&nbsp;y)</code></th>
<td class="col-last">
<div class="block">Constructeur de l'objet representant une nourriture</div>
</td>
</tr>
<tr class="row-color">
<th class="col-constructor-name" scope="row"><code><span class="member-name-link"><a href="#%3Cinit%3E(pigeons.Position)">Food</a></span>&#8203;(<a href="Position.html" title="class in pigeons">Position</a>&nbsp;position)</code></th>
<td class="col-last">
<div class="block">Constructeur de l'objet representant une nourriture</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>java.awt.Color</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#getColor()">getColor</a></span>()</code></th>
<td class="col-last">
<div class="block">Obtenir la couleur associé une nourriture</div>
</td>
</tr>
<tr class="row-color" id="i1">
<td class="col-first"><code>long</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#getFreshTimeLeft()">getFreshTimeLeft</a></span>()</code></th>
<td class="col-last">
<div class="block">Obtenir le temps de fraicheur restant à une nourriture
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="i2">
<td class="col-first"><code><a href="Position.html" title="class in pigeons">Position</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#getPosition()">getPosition</a></span>()</code></th>
<td class="col-last">
<div class="block">Obtenir la position de la nourriture</div>
</td>
</tr>
<tr class="row-color" id="i3">
<td class="col-first"><code>boolean</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#isFresh()">isFresh</a></span>()</code></th>
<td class="col-last">
<div class="block">Obtenir la consommabité de la nourriture
Cette fonction 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="#reduceFreshTimeLeft(long)">reduceFreshTimeLeft</a></span>&#8203;(long&nbsp;toReduce)</code></th>
<td class="col-last">
<div class="block">Reduit le temps de fraicheur de la nourriture.</div>
</td>
</tr>
</tbody>
</table>
</div>
</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, toString, 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="position">
<h3>position</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="Position.html" title="class in pigeons">Position</a></span>&nbsp;<span class="member-name">position</span></div>
<div class="block">Position de la nourriture</div>
</section>
</li>
<li>
<section class="detail" id="isFresh">
<h3>isFresh</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="member-name">isFresh</span></div>
<div class="block">Consommabilité de la nourriture</div>
</section>
</li>
<li>
<section class="detail" id="freshTimeLeft">
<h3>freshTimeLeft</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="member-name">freshTimeLeft</span></div>
<div class="block">Temps restant de fraicheur de la nourriture</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>
<li>
<section class="detail" id="color">
<h3>color</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">java.awt.Color</span>&nbsp;<span class="member-name">color</span></div>
<div class="block">Couleur de la nourriture
- Rouge si non consommable
- Jaune si consommable</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;(pigeons.Position)">
<h3>Food</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="member-name">Food</span>&#8203;(<span class="parameters"><a href="Position.html" title="class in pigeons">Position</a>&nbsp;position)</span></div>
<div class="block">Constructeur de l'objet representant une nourriture</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>position</code> - Position de la nourriture</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;(int,int)">
<h3>Food</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="member-name">Food</span>&#8203;(<span class="parameters">int&nbsp;x,
int&nbsp;y)</span></div>
<div class="block">Constructeur de l'objet representant une nourriture</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>x</code> - position sur l'axe des abscisses de la nourriture</dd>
<dd><code>y</code> - postiion sur l'axe des ordonnées de la nourriture</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="getPosition()">
<h3>getPosition</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Position.html" title="class in pigeons">Position</a></span>&nbsp;<span class="member-name">getPosition</span>()</div>
<div class="block">Obtenir la position de la nourriture</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>position de la nourriture</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="reduceFreshTimeLeft(long)">
<h3>reduceFreshTimeLeft</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">reduceFreshTimeLeft</span>&#8203;(<span class="parameters">long&nbsp;toReduce)</span></div>
<div class="block">Reduit le temps de fraicheur de la nourriture.
Si le temps restants de fraicheur, la nourriture est consideré comme non
consommable et la variable <a href="#isFresh"><code>isFresh</code></a> vaut desormais
<code>true</code>. Par ailleurs la couleur d'une nourriture devient rouge</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>toReduce</code> - Temps à retirer du temps restant de fraicheur</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getColor()">
<h3>getColor</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">java.awt.Color</span>&nbsp;<span class="member-name">getColor</span>()</div>
<div class="block">Obtenir la couleur associé une nourriture</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>La couleur associé à la nouritture, jaune si consommable, rouge sinon</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getFreshTimeLeft()">
<h3>getFreshTimeLeft</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">long</span>&nbsp;<span class="member-name">getFreshTimeLeft</span>()</div>
<div class="block">Obtenir le temps de fraicheur restant à une nourriture
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>Temps de fraicheur restant à la nourriture</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isFresh()">
<h3>isFresh</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="member-name">isFresh</span>()</div>
<div class="block">Obtenir la consommabité de la nourriture
Cette fonction 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>boolean</dd>
</dl>
</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>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>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

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>

424
doc/pigeons/Position.html Normal file
View File

@@ -0,0 +1,424 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>Position</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: Position">
<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};
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>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">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 Position" class="title">Class Position</h1>
</div>
<div class="inheritance" title="Inheritance Tree">java.lang.Object
<div class="inheritance">pigeons.Position</div>
</div>
<section class="description">
<hr>
<pre>public class <span class="type-name-label">Position</span>
extends java.lang.Object</pre>
<div class="block">Classe representant un position</div>
<dl class="notes">
<dt>Since:</dt>
<dd>1.0</dd>
</dl>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== 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 int</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#x">x</a></span></code></th>
<td class="col-last">
<div class="block">Coordonnée sur l'axe des abscisses</div>
</td>
</tr>
<tr class="row-color">
<td class="col-first"><code>private int</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#y">y</a></span></code></th>
<td class="col-last">
<div class="block">Coodonnée sur l'axe des ordonées</div>
</td>
</tr>
</tbody>
</table>
</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()">Position</a></span>()</code></th>
<td class="col-last">
<div class="block">Constructeur de l'objet representant une position
Position fixé à l'origine (0 ; 0)</div>
</td>
</tr>
<tr class="row-color">
<th class="col-constructor-name" scope="row"><code><span class="member-name-link"><a href="#%3Cinit%3E(int,int)">Position</a></span>&#8203;(int&nbsp;x,
int&nbsp;y)</code></th>
<td class="col-last">
<div class="block">Constructeur de l'objet representant une position</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>int</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#distance(pigeons.Position)">distance</a></span>&#8203;(<a href="Position.html" title="class in pigeons">Position</a>&nbsp;position)</code></th>
<td class="col-last">
<div class="block">Calculer la distance entre 2 positions</div>
</td>
</tr>
<tr class="row-color" id="i1">
<td class="col-first"><code>int</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#getX()">getX</a></span>()</code></th>
<td class="col-last">
<div class="block">Obtenir la position sur l'axe des abscisses</div>
</td>
</tr>
<tr class="alt-color" id="i2">
<td class="col-first"><code>int</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#getY()">getY</a></span>()</code></th>
<td class="col-last">
<div class="block">Obtenir la position sur l'axe des ordonées</div>
</td>
</tr>
<tr class="row-color" id="i3">
<td class="col-first"><code>void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#moveTo(int,int)">moveTo</a></span>&#8203;(int&nbsp;x,
int&nbsp;y)</code></th>
<td class="col-last">
<div class="block">Déplacer la position</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="#moveTo(pigeons.Position)">moveTo</a></span>&#8203;(<a href="Position.html" title="class in pigeons">Position</a>&nbsp;toMove)</code></th>
<td class="col-last">
<div class="block">Déplacer la position</div>
</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="#setX(int)">setX</a></span>&#8203;(int&nbsp;x)</code></th>
<td class="col-last">
<div class="block">Définir une coordonée d'abscisse</div>
</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="#setY(int)">setY</a></span>&#8203;(int&nbsp;y)</code></th>
<td class="col-last">
<div class="block">Définir une coordonée d'ordonée</div>
</td>
</tr>
</tbody>
</table>
</div>
</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, toString, 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="x">
<h3>x</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="member-name">x</span></div>
<div class="block">Coordonnée sur l'axe des abscisses</div>
</section>
</li>
<li>
<section class="detail" id="y">
<h3>y</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="member-name">y</span></div>
<div class="block">Coodonnée sur l'axe des ordonées</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>Position</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="member-name">Position</span>&#8203;(<span class="parameters">int&nbsp;x,
int&nbsp;y)</span></div>
<div class="block">Constructeur de l'objet representant une position</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>x</code> - position sur l'abscisse</dd>
<dd><code>y</code> - position sur l'ordonée</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>Position</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="member-name">Position</span>()</div>
<div class="block">Constructeur de l'objet representant une position
Position fixé à l'origine (0 ; 0)</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="distance(pigeons.Position)">
<h3>distance</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="member-name">distance</span>&#8203;(<span class="parameters"><a href="Position.html" title="class in pigeons">Position</a>&nbsp;position)</span></div>
<div class="block">Calculer la distance entre 2 positions</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>position</code> - postion distante</dd>
<dt>Returns:</dt>
<dd>distance entre les 2 points</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="moveTo(int,int)">
<h3>moveTo</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">moveTo</span>&#8203;(<span class="parameters">int&nbsp;x,
int&nbsp;y)</span></div>
<div class="block">Déplacer la position</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>x</code> - nouvelle position sur l'axe des abscisses</dd>
<dd><code>y</code> - nouvelle position sur l'axe des abscisses</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="moveTo(pigeons.Position)">
<h3>moveTo</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">moveTo</span>&#8203;(<span class="parameters"><a href="Position.html" title="class in pigeons">Position</a>&nbsp;toMove)</span></div>
<div class="block">Déplacer la position</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>toMove</code> - nouvelle position</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getX()">
<h3>getX</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="member-name">getX</span>()</div>
<div class="block">Obtenir la position sur l'axe des abscisses</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>coordonnée sur l'abscisses</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setX(int)">
<h3>setX</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">setX</span>&#8203;(<span class="parameters">int&nbsp;x)</span></div>
<div class="block">Définir une coordonée d'abscisse</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>x</code> - nouvelle coordonnée d'abscisse</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getY()">
<h3>getY</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="member-name">getY</span>()</div>
<div class="block">Obtenir la position sur l'axe des ordonées</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>coordonnée sur l'ordonnée</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setY(int)">
<h3>setY</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">setY</span>&#8203;(<span class="parameters">int&nbsp;y)</span></div>
<div class="block">Définir une coordonée d'ordonée</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>y</code> - nouvelle coordonnée d'ordonée</dd>
</dl>
</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>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>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

383
doc/pigeons/UI.html Normal file
View File

@@ -0,0 +1,383 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>UI</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: UI">
<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};
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 UI" class="title">Class UI</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">java.awt.Window
<div class="inheritance">java.awt.Frame
<div class="inheritance">javax.swing.JFrame
<div class="inheritance">pigeons.UI</div>
</div>
</div>
</div>
</div>
</div>
</div>
<section class="description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code>java.awt.image.ImageObserver</code>, <code>java.awt.MenuContainer</code>, <code>java.io.Serializable</code>, <code>javax.accessibility.Accessible</code>, <code>javax.swing.RootPaneContainer</code>, <code>javax.swing.WindowConstants</code></dd>
</dl>
<hr>
<pre>public class <span class="type-name-label">UI</span>
extends javax.swing.JFrame</pre>
<div class="block">Classe d'interface utilisateur de l'application</div>
<dl class="notes">
<dt>Since:</dt>
<dd>1.0</dd>
<dt>See Also:</dt>
<dd><a href="../serialized-form.html#pigeons.UI">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.JFrame">Nested classes/interfaces inherited from class&nbsp;javax.swing.JFrame</h2>
<code>javax.swing.JFrame.AccessibleJFrame</code></div>
<div class="inherited-list">
<h2 id="nested.classes.inherited.from.class.java.awt.Frame">Nested classes/interfaces inherited from class&nbsp;java.awt.Frame</h2>
<code>java.awt.Frame.AccessibleAWTFrame</code></div>
<div class="inherited-list">
<h2 id="nested.classes.inherited.from.class.java.awt.Window">Nested classes/interfaces inherited from class&nbsp;java.awt.Window</h2>
<code>java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type</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 <a href="Park.html" title="class in pigeons">Park</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#park">park</a></span></code></th>
<td class="col-last">
<div class="block">Parc de l'application</div>
</td>
</tr>
</tbody>
</table>
</div>
<div class="inherited-list">
<h3 id="fields.inherited.from.class.javax.swing.JFrame">Fields inherited from class&nbsp;javax.swing.JFrame</h3>
<code>accessibleContext, rootPane, rootPaneCheckingEnabled</code></div>
<div class="inherited-list">
<h3 id="fields.inherited.from.class.java.awt.Frame">Fields inherited from class&nbsp;java.awt.Frame</h3>
<code>CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR</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>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>
<div class="inherited-list">
<h3 id="fields.inherited.from.class.javax.swing.WindowConstants">Fields inherited from interface&nbsp;javax.swing.WindowConstants</h3>
<code>DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE</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(pigeons.Park)">UI</a></span>&#8203;(<a href="Park.html" title="class in pigeons">Park</a>&nbsp;park)</code></th>
<td class="col-last">
<div class="block">Constructeur de l'interface graphique
La taille de l'interface sera la même que celle du 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="#draw()">draw</a></span>()</code></th>
<td class="col-last">
<div class="block">Dessiner l'interface</div>
</td>
</tr>
<tr class="row-color" id="i1">
<td class="col-first"><code><a href="Park.html" title="class in pigeons">Park</a></code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#getPark()">getPark</a></span>()</code></th>
<td class="col-last">
<div class="block">Obtenir le park associé à l'intefrace graphique</div>
</td>
</tr>
<tr class="alt-color" id="i2">
<td class="col-first"><code>void</code></td>
<th class="col-second" scope="row"><code><span class="member-name-link"><a href="#setPark(pigeons.Park)">setPark</a></span>&#8203;(<a href="Park.html" title="class in pigeons">Park</a>&nbsp;park)</code></th>
<td class="col-last">
<div class="block">Définir un parc pour l'interface graphique</div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.javax.swing.JFrame">Methods inherited from class&nbsp;javax.swing.JFrame</h3>
<code>addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update</code></div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.java.awt.Frame">Methods inherited from class&nbsp;java.awt.Frame</h3>
<code>addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setBackground, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setOpacity, setResizable, setShape, setState, setTitle, setUndecorated</code></div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.java.awt.Window">Methods inherited from class&nbsp;java.awt.Window</h3>
<code>addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, setVisible, show, toBack, toFront</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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, 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>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.java.awt.MenuContainer">Methods inherited from interface&nbsp;java.awt.MenuContainer</h3>
<code>getFont, postEvent</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="park">
<h3>park</h3>
<div class="member-signature"><span class="modifiers">private</span>&nbsp;<span class="return-type"><a href="Park.html" title="class in pigeons">Park</a></span>&nbsp;<span class="member-name">park</span></div>
<div class="block">Parc de l'application</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;(pigeons.Park)">
<h3>UI</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="member-name">UI</span>&#8203;(<span class="parameters"><a href="Park.html" title="class in pigeons">Park</a>&nbsp;park)</span></div>
<div class="block">Constructeur de l'interface graphique
La taille de l'interface sera la même que celle du parc</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>park</code> - le parc attaché à cette interface</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="getPark()">
<h3>getPark</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="Park.html" title="class in pigeons">Park</a></span>&nbsp;<span class="member-name">getPark</span>()</div>
<div class="block">Obtenir le park associé à l'intefrace graphique</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>parc de l'application</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="setPark(pigeons.Park)">
<h3>setPark</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">setPark</span>&#8203;(<span class="parameters"><a href="Park.html" title="class in pigeons">Park</a>&nbsp;park)</span></div>
<div class="block">Définir un parc pour l'interface graphique</div>
<dl class="notes">
<dt>Parameters:</dt>
<dd><code>park</code> - parc de l'application</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="draw()">
<h3>draw</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="member-name">draw</span>()</div>
<div class="block">Dessiner l'interface</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>

View File

@@ -0,0 +1,138 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>pigeons</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">
<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 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 class="nav-bar-cell1-rev">Package</li>
<li>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 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">
<div class="header">
<h1 title="Package" class="title">Package&nbsp;pigeons</h1>
</div>
<section class="summary">
<ul class="summary-list">
<li>
<div class="type-summary">
<table class="summary-table">
<caption><span>Class Summary</span></caption>
<thead>
<tr>
<th class="col-first" scope="col">Class</th>
<th class="col-last" scope="col">Description</th>
</tr>
</thead>
<tbody>
<tr class="alt-color">
<th class="col-first" scope="row"><a href="App.html" title="class in pigeons">App</a></th>
<td class="col-last">&nbsp;</td>
</tr>
<tr class="row-color">
<th class="col-first" scope="row"><a href="Bird.html" title="class in pigeons">Bird</a></th>
<td class="col-last">
<div class="block">Classe permettant de gérer un oiseau
Implemente l'interface Runnable, ce qui permet d'executer les actions d'un
oiseau dans un thread.</div>
</td>
</tr>
<tr class="alt-color">
<th class="col-first" scope="row"><a href="Food.html" title="class in pigeons">Food</a></th>
<td class="col-last">
<div class="block">Classe permettant de gérer une nourriture</div>
</td>
</tr>
<tr class="row-color">
<th class="col-first" scope="row"><a href="Park.html" title="class in pigeons">Park</a></th>
<td class="col-last">
<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.</div>
</td>
</tr>
<tr class="alt-color">
<th class="col-first" scope="row"><a href="Position.html" title="class in pigeons">Position</a></th>
<td class="col-last">
<div class="block">Classe representant un position</div>
</td>
</tr>
<tr class="row-color">
<th class="col-first" scope="row"><a href="UI.html" title="class in pigeons">UI</a></th>
<td class="col-last">
<div class="block">Classe d'interface utilisateur de l'application</div>
</td>
</tr>
</tbody>
</table>
</div>
</li>
</ul>
</section>
</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 class="nav-bar-cell1-rev">Package</li>
<li>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>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,121 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>pigeons Class Hierarchy</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2022-11-20">
<meta name="description" content="tree: package: pigeons">
<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="package-summary.html">Package</a></li>
<li>Class</li>
<li class="nav-bar-cell1-rev">Tree</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 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">
<div class="header">
<h1 class="title">Hierarchy For Package pigeons</h1>
</div>
<section class="hierarchy">
<h2 title="Class Hierarchy">Class Hierarchy</h2>
<ul>
<li class="circle">java.lang.Object
<ul>
<li class="circle">pigeons.<a href="App.html" title="class in pigeons"><span class="type-name-link">App</span></a></li>
<li class="circle">pigeons.<a href="Bird.html" title="class in pigeons"><span class="type-name-link">Bird</span></a> (implements java.lang.Runnable)</li>
<li class="circle">java.awt.Component (implements java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable)
<ul>
<li class="circle">java.awt.Container
<ul>
<li class="circle">javax.swing.JComponent (implements java.io.Serializable)
<ul>
<li class="circle">javax.swing.JPanel (implements javax.accessibility.Accessible)
<ul>
<li class="circle">pigeons.<a href="Park.html" title="class in pigeons"><span class="type-name-link">Park</span></a> (implements java.awt.event.MouseListener)</li>
</ul>
</li>
</ul>
</li>
<li class="circle">java.awt.Window (implements javax.accessibility.Accessible)
<ul>
<li class="circle">java.awt.Frame (implements java.awt.MenuContainer)
<ul>
<li class="circle">javax.swing.JFrame (implements javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants)
<ul>
<li class="circle">pigeons.<a href="UI.html" title="class in pigeons"><span class="type-name-link">UI</span></a></li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
<li class="circle">pigeons.<a href="Food.html" title="class in pigeons"><span class="type-name-link">Food</span></a></li>
<li class="circle">pigeons.<a href="Position.html" title="class in pigeons"><span class="type-name-link">Position</span></a></li>
</ul>
</li>
</ul>
</section>
</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</li>
<li class="nav-bar-cell1-rev">Tree</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>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

BIN
doc/resources/glass.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 499 B

BIN
doc/resources/x.png Normal file

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

2
doc/script-dir/jquery-3.5.1.min.js vendored Normal file

File diff suppressed because one or more lines are too long

7
doc/script-dir/jquery-ui.min.css vendored Normal file

File diff suppressed because one or more lines are too long

6
doc/script-dir/jquery-ui.min.js vendored Normal file

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}

103
doc/script.js Normal file
View File

@@ -0,0 +1,103 @@
/*
* 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(type) {
count = 0;
for (var key in data) {
var row = document.getElementById(key);
if ((data[key] & type) !== 0) {
row.style.display = '';
row.className = (count++ % 2) ? rowColor : altColor;
}
else
row.style.display = 'none';
}
updateTabs(type);
}
function updateTabs(type) {
var firstRow = document.getElementById(Object.keys(data)[0]);
var table = firstRow.closest('table');
for (var value in tabs) {
var tab = document.getElementById(tabs[value][0]);
if (value == type) {
tab.className = activeTableTab;
tab.innerHTML = tabs[value][1];
tab.setAttribute('aria-selected', true);
tab.setAttribute('tabindex',0);
table.setAttribute('aria-labelledby', tabs[value][0]);
}
else {
tab.className = tableTab;
tab.setAttribute('aria-selected', false);
tab.setAttribute('tabindex',-1);
tab.setAttribute('onclick', "show("+ value + ")");
tab.innerHTML = tabs[value][1];
}
}
}
function switchTab(e) {
if (e.keyCode == 37 || e.keyCode == 38) {
$("[aria-selected=true]").prev().click().focus();
e.preventDefault();
}
if (e.keyCode == 39 || e.keyCode == 40) {
$("[aria-selected=true]").next().click().focus();
e.preventDefault();
}
}
var updateSearchResults = function() {};
function indexFilesLoaded() {
return moduleSearchIndex
&& packageSearchIndex
&& typeSearchIndex
&& memberSearchIndex
&& tagSearchIndex;
}

378
doc/search.js Normal file
View File

@@ -0,0 +1,378 @@
/*
* 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 = "Types";
var catMembers = "Members";
var catSearchTags = "SearchTags";
var highlight = "<span class=\"result-highlight\">$&</span>";
var searchPattern = "";
var RANKING_THRESHOLD = 2;
var NO_MATCH = 0xffff;
var MAX_RESULTS_PER_CATEGORY = 500;
var UNNAMED = "<Unnamed>";
function escapeHtml(str) {
return str.replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
function getHighlightedText(item, matcher) {
var escapedItem = escapeHtml(item);
return escapedItem.replace(matcher, highlight);
}
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;
}
return urlPrefix;
}
function makeCamelCaseRegex(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() {
$("#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('');
$("#search").focus();
});
$("#search").focus();
$("#search")[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");
if (item.category === catModules) {
label = getHighlightedText(item.l, matcher);
} else if (item.category === catPackages) {
label = getHighlightedText(item.l, matcher);
} else if (item.category === catTypes) {
label = (item.p && item.p !== UNNAMED)
? getHighlightedText(item.p + "." + item.l, matcher)
: getHighlightedText(item.l, matcher);
} else if (item.category === catMembers) {
label = (item.p && item.p !== UNNAMED)
? getHighlightedText(item.p + "." + item.c + "." + item.l, matcher)
: getHighlightedText(item.c + "." + item.l, matcher);
} else if (item.category === catSearchTags) {
label = getHighlightedText(item.l, matcher);
} else {
label = item.l;
}
var li = $("<li/>").appendTo(ul);
var div = $("<div/>").appendTo(li);
if (item.category === catSearchTags) {
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;
var delta = 0;
// make sure match is anchored on a left word boundary
if (index === 0 || /\W/.test(input[index - 1]) || "_" === input[index - 1] || "_" === input[index]) {
leftBoundaryMatch = 0;
} else if (input[index] === input[index].toUpperCase() && !/^[A-Z0-9_$]+$/.test(input)) {
leftBoundaryMatch = 1;
}
var matchEnd = index + match[0].length;
var leftParen = input.indexOf("(");
// exclude peripheral matches
if (category !== catModules && category !== catSearchTags) {
var endOfName = leftParen > -1 ? leftParen : input.length;
var delim = category === catPackages ? "/" : ".";
if (leftParen > -1 && leftParen < index) {
periferalMatch += 2;
} else if (input.lastIndexOf(delim, endOfName) >= matchEnd) {
periferalMatch += 2;
}
}
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 = [];
var newResults = [];
searchPattern = makeCamelCaseRegex(request.term);
if (searchPattern === "") {
return this.close();
}
var camelCaseMatcher = createMatcher(searchPattern, "");
var boundaryMatcher = createMatcher("\\b" + searchPattern, "");
function concatResults(a1, a2) {
a2.sort(function(e1, e2) {
return e1.ranking - e2.ranking;
});
a1 = a1.concat(a2.map(function(e) { return e.item; }));
a2.length = 0;
return a1;
}
if (moduleSearchIndex) {
$.each(moduleSearchIndex, function(index, item) {
item.category = catModules;
var ranking = rankMatch(boundaryMatcher.exec(item.l), catModules);
if (ranking < RANKING_THRESHOLD) {
newResults.push({ ranking: ranking, item: item });
}
return newResults.length < MAX_RESULTS_PER_CATEGORY;
});
result = concatResults(result, newResults);
}
if (packageSearchIndex) {
$.each(packageSearchIndex, function(index, item) {
item.category = catPackages;
var name = (item.m && request.term.indexOf("/") > -1)
? (item.m + "/" + item.l)
: item.l;
var ranking = rankMatch(boundaryMatcher.exec(name), catPackages);
if (ranking < RANKING_THRESHOLD) {
newResults.push({ ranking: ranking, item: item });
}
return newResults.length < MAX_RESULTS_PER_CATEGORY;
});
result = concatResults(result, newResults);
}
if (typeSearchIndex) {
$.each(typeSearchIndex, function(index, item) {
item.category = catTypes;
var name = request.term.indexOf(".") > -1
? item.p + "." + item.l
: item.l;
var ranking = rankMatch(camelCaseMatcher.exec(name), catTypes);
if (ranking < RANKING_THRESHOLD) {
newResults.push({ ranking: ranking, item: item });
}
return newResults.length < MAX_RESULTS_PER_CATEGORY;
});
result = concatResults(result, newResults);
}
if (memberSearchIndex) {
$.each(memberSearchIndex, function(index, item) {
item.category = catMembers;
var name = request.term.indexOf(".") > -1
? item.p + "." + item.c + "." + item.l
: item.l;
var ranking = rankMatch(camelCaseMatcher.exec(name), catMembers);
if (ranking < RANKING_THRESHOLD) {
newResults.push({ ranking: ranking, item: item });
}
return newResults.length < MAX_RESULTS_PER_CATEGORY;
});
result = concatResults(result, newResults);
}
if (tagSearchIndex) {
$.each(tagSearchIndex, function(index, item) {
item.category = catSearchTags;
var ranking = rankMatch(boundaryMatcher.exec(item.l), catSearchTags);
if (ranking < RANKING_THRESHOLD) {
newResults.push({ ranking: ranking, item: item });
}
return newResults.length < MAX_RESULTS_PER_CATEGORY;
});
result = concatResults(result, newResults);
}
if (!indexFilesLoaded()) {
updateSearchResults = function() {
doSearch(request, response);
}
result.unshift(loading);
} else {
updateSearchResults = function() {};
}
response(result);
}
$(function() {
$("#search").catcomplete({
minLength: 1,
delay: 300,
source: doSearch,
response: function(event, ui) {
if (!ui.content.length) {
ui.content.push(noResult);
} else {
$("#search").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").focus();
}
}
});
});

140
doc/serialized-form.html Normal file
View File

@@ -0,0 +1,140 @@
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="fr">
<head>
<!-- Generated by javadoc (15) on Sun Nov 20 21:38:24 EST 2022 -->
<title>Serialized Form</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="dc.created" content="2022-11-20">
<meta name="description" content="serialized forms">
<meta name="generator" content="javadoc/SerializedFormWriterImpl">
<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="serialized-form-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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/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 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">
<div class="header">
<h1 title="Serialized Form" class="title">Serialized Form</h1>
</div>
<ul class="block-list">
<li>
<section class="serialized-package-container">
<h2 title="Package">Package&nbsp;pigeons</h2>
<ul class="block-list">
<li>
<section class="serialized-class-details" id="pigeons.Park">
<h3>Class <a href="pigeons/Park.html" title="class in pigeons">pigeons.Park</a> extends javax.swing.JPanel implements Serializable</h3>
<ul class="block-list">
<li>
<section class="detail">
<h4>Serialized Fields</h4>
<ul class="block-list">
<li class="block-list">
<h5>birds</h5>
<pre>java.util.ArrayList&lt;<a href="pigeons/Bird.html" title="class in pigeons">Bird</a>&gt; birds</pre>
<div class="block">Oiseaux présent dans le parc</div>
</li>
<li class="block-list">
<h5>foods</h5>
<pre>java.util.ArrayList&lt;<a href="pigeons/Food.html" title="class in pigeons">Food</a>&gt; foods</pre>
<div class="block">Nourritures présente dans le parc</div>
</li>
<li class="block-list">
<h5>frightenProbaility</h5>
<pre>int frightenProbaility</pre>
<div class="block">Probabilité d'effrayer les oiseaux, decroit à chaque actualisation du parc</div>
</li>
<li class="block-list">
<h5>numWriter</h5>
<pre>java.util.concurrent.atomic.AtomicInteger numWriter</pre>
<div class="block">Nombre de thread travaillant en ecriture sur l'objet</div>
</li>
</ul>
</section>
</li>
</ul>
</section>
</li>
<li>
<section class="serialized-class-details" id="pigeons.UI">
<h3>Class <a href="pigeons/UI.html" title="class in pigeons">pigeons.UI</a> extends javax.swing.JFrame implements Serializable</h3>
<ul class="block-list">
<li>
<section class="detail">
<h4>Serialized Fields</h4>
<ul class="block-list">
<li class="block-list">
<h5>park</h5>
<pre><a href="pigeons/Park.html" title="class in pigeons">Park</a> park</pre>
<div class="block">Parc de l'application</div>
</li>
</ul>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
</li>
</ul>
</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="pigeons/package-summary.html">Package</a></li>
<li>Class</li>
<li><a href="pigeons/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>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<span class="skip-nav" id="skip.navbar.bottom">
<!-- -->
</span></nav>
</footer>
</div>
</div>
</body>
</html>

792
doc/stylesheet.css Normal file
View File

@@ -0,0 +1,792 @@
/*
* 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:13px;
}
h5 {
font-size:12px;
}
h6 {
font-size:11px;
}
ul {
list-style-type:disc;
}
code, tt {
font-family:'DejaVu Sans Mono', monospace;
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;
}
table tr td 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:0px;
overflow:hidden;
}
.about-language {
float:right;
padding:0px 21px;
font-size:11px;
z-index:200;
margin-top:-9px;
}
.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;
height:2.8em;
padding-top:10px;
overflow:hidden;
font-size:12px;
}
.bottom-nav {
margin-top:10px;
background-color:#4D7A97;
color:#FFFFFF;
float:left;
padding:0;
width:100%;
clear:right;
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, 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, .bottom-nav a:link, .bottom-nav a:active, .bottom-nav a:visited {
color:#FFFFFF;
text-decoration:none;
text-transform:uppercase;
}
.top-nav a:hover, .bottom-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 0 10px 0px;
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;
}
table tr td dl, table tr td dl dt, table tr td dl dd {
margin-top:0;
margin-bottom:1px;
}
/*
* Styles for tables.
*/
.overview-summary table, .member-summary table, .type-summary table, .use-summary table, .constants-summary table, .deprecated-summary table,
.requires-summary table, .packages-summary table, .provides-summary table, .uses-summary table, .system-properties-summary table {
width:100%;
border-spacing:0;
border-left:1px solid #EEE;
border-right:1px solid #EEE;
border-bottom:1px solid #EEE;
}
.overview-summary table, .member-summary table, .requires-summary table, .packages-summary table,
.provides-summary table, .uses-summary table, .system-properties-summary table {
padding:0px;
}
.overview-summary caption, .member-summary caption, .type-summary caption,
.use-summary caption, .constants-summary caption, .deprecated-summary caption,
.requires-summary caption, .packages-summary caption, .provides-summary caption,
.uses-summary caption, .system-properties-summary caption {
position:relative;
text-align:left;
background-repeat:no-repeat;
color:#253441;
font-weight:bold;
clear:none;
overflow:hidden;
padding:0px;
padding-top:10px;
padding-left:1px;
margin:0px;
white-space:pre;
}
.constants-summary caption a:link, .constants-summary caption a:visited,
.use-summary caption a:link, .use-summary caption a:visited {
color:#1f389c;
}
.overview-summary caption a:link, .member-summary caption a:link, .type-summary caption a:link,
.deprecated-summary caption a:link,
.requires-summary caption a:link, .packages-summary caption a:link, .provides-summary caption a:link,
.uses-summary caption a:link,
.overview-summary caption a:hover, .member-summary caption a:hover, .type-summary caption a:hover,
.use-summary caption a:hover, .constants-summary caption a:hover, .deprecated-summary caption a:hover,
.requires-summary caption a:hover, .packages-summary caption a:hover, .provides-summary caption a:hover,
.uses-summary caption a:hover,
.overview-summary caption a:active, .member-summary caption a:active, .type-summary caption a:active,
.use-summary caption a:active, .constants-summary caption a:active, .deprecated-summary caption a:active,
.requires-summary caption a:active, .packages-summary caption a:active, .provides-summary caption a:active,
.uses-summary caption a:active,
.overview-summary caption a:visited, .member-summary caption a:visited, .type-summary caption a:visited,
.deprecated-summary caption a:visited,
.requires-summary caption a:visited, .packages-summary caption a:visited, .provides-summary caption a:visited,
.uses-summary caption a:visited {
color:#FFFFFF;
}
.overview-summary caption span, .member-summary caption span, .type-summary caption span,
.use-summary caption span, .constants-summary caption span, .deprecated-summary caption span,
.requires-summary caption span, .packages-summary caption span, .provides-summary caption span,
.uses-summary caption span, .system-properties-summary 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 > 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;
}
.row-color th,
.alt-color th {
font-weight:normal;
}
.overview-summary td, .member-summary td, .type-summary td,
.use-summary td, .constants-summary td, .deprecated-summary td,
.requires-summary td, .packages-summary td, .provides-summary td,
.uses-summary td, .system-properties-summary td {
text-align:left;
padding:0px 0px 12px 10px;
}
th.col-first, th.col-second, th.col-last, th.col-constructor-name, th.col-deprecated-item-name, .use-summary th,
.constants-summary th, .packages-summary th, td.col-first, td.col-second, td.col-last, .use-summary td,
.constants-summary td, .system-properties-summary th {
vertical-align:top;
padding-right:0px;
padding-top:8px;
padding-bottom:3px;
}
th.col-first, th.col-second, th.col-last, th.col-constructor-name, th.col-deprecated-item-name, .constants-summary th,
.packages-summary th {
background:#dee3e9;
text-align:left;
padding:8px 3px 3px 7px;
}
td.col-first, th.col-first {
font-size:13px;
}
td.col-second, th.col-second, td.col-last, th.col-constructor-name, th.col-deprecated-item-name, th.col-last {
font-size:13px;
}
.constants-summary th, .packages-summary th {
font-size:13px;
}
.provides-summary th.col-first, .provides-summary th.col-last, .provides-summary td.col-first,
.provides-summary td.col-last {
white-space:normal;
font-size:13px;
}
.overview-summary td.col-first, .overview-summary th.col-first,
.requires-summary td.col-first, .requires-summary th.col-first,
.packages-summary td.col-first, .packages-summary td.col-second, .packages-summary th.col-first, .packages-summary th,
.uses-summary td.col-first, .uses-summary th.col-first,
.provides-summary td.col-first, .provides-summary th.col-first,
.member-summary td.col-first, .member-summary th.col-first,
.member-summary td.col-second, .member-summary th.col-second, .member-summary th.col-constructor-name,
.type-summary td.col-first, .type-summary th.col-first {
vertical-align:top;
}
.packages-summary th.col-last, .packages-summary td.col-last {
white-space:normal;
}
td.col-first a:link, td.col-first a:visited,
td.col-second a:link, td.col-second a:visited,
th.col-first a:link, th.col-first a:visited,
th.col-second a:link, th.col-second a:visited,
th.col-constructor-name a:link, th.col-constructor-name a:visited,
th.col-deprecated-item-name a:link, th.col-deprecated-item-name a:visited,
.constant-values-container td a:link, .constant-values-container td a:visited,
.all-classes-container td a:link, .all-classes-container td a:visited,
.all-packages-container td a:link, .all-packages-container td a:visited {
font-weight:bold;
}
.table-sub-heading-color {
background-color:#EEEEFF;
}
.alt-color, .alt-color th {
background-color:#FFFFFF;
}
.row-color, .row-color th {
background-color:#EEEEEF;
}
/*
* Styles for contents.
*/
.description pre {
margin-top:0;
}
.deprecated-content {
margin:0;
padding:10px 0;
}
div.block {
font-size:14px;
font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif;
}
td.col-last div {
padding-top:0px;
}
td.col-last a {
padding-bottom:3px;
}
div.member-signature {
font-family:'DejaVu Sans Mono', monospace;
font-size:14px;
margin:14px 0;
white-space: pre-wrap;
}
div.member-signature span.annotations {
white-space: pre-wrap;
}
div.member-signature span.type-parameters-long,
div.member-signature span.parameters,
div.member-signature span.exceptions {
display: inline-block;
vertical-align: top;
white-space: pre;
}
div.member-signature span.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 {
font-weight:bold;
}
.deprecation-comment, .help-footnote, .interface-name {
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;
}
div.block div.deprecation-comment, div.block div.block span.emphasized-phrase,
div.block div.block span.interface-name {
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 {
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 {
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.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;
}
/*
* 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;
}

1
doc/tag-search-index.js Normal file
View File

@@ -0,0 +1 @@
tagSearchIndex = [];updateSearchResults();

1
doc/type-search-index.js Normal file
View File

@@ -0,0 +1 @@
typeSearchIndex = [{"l":"All Classes","u":"allclasses-index.html"},{"p":"pigeons","l":"App"},{"p":"pigeons","l":"Bird"},{"p":"pigeons","l":"Food"},{"p":"pigeons","l":"Park"},{"p":"pigeons","l":"Position"},{"p":"pigeons","l":"UI"}];updateSearchResults();

26
src/pigeons/App.java Normal file
View File

@@ -0,0 +1,26 @@
package pigeons;
public class App {
/**
* Fonction Main permettant de lancer l'application
*
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
Park park = new Park(500, 500);
new Bird(12, 123, park);
new Bird(102, 235, park);
new Bird(321, 421, park);
new Bird(126, 231, park);
new Bird(411, 34, park);
new Bird(245, 333, park);
UI ui = new UI(park);
while (true) {
ui.draw();
Thread.sleep(1);
}
}
}

184
src/pigeons/Bird.java Normal file
View File

@@ -0,0 +1,184 @@
package pigeons;
import java.awt.Color;
/**
* Classe permettant de gérer un oiseau
*
* Implemente l'interface Runnable, ce qui permet d'executer les actions d'un
* oiseau dans un thread.
*
* @author Valentin THEDON
* @author Nathan AMSELLEM
*
* @version %I%, %G%
* @since 1.0
*/
public class Bird implements Runnable {
/**
* Positiion de l'oiseau
*/
private Position position;
/**
* Parc de rattachement de l'oiseau
*/
private Park park;
private boolean isAlive = true;
/**
* Couleur d'un oiseau
*/
public static Color COLOR = Color.BLACK;
/**
* Temps de raffraichissement d'un oiseau (en ms)
*/
public static int REFRESH_TIME = 20;
/**
* Vitesse d'un oiseau
*/
public static int VELOCITY = 10;
/**
* Constructeur de l'objet oiseau
*
* @param position position de l'oiseau
* @param park parc de rattachement de l'oiseau
*/
public Bird(Position position, Park park) {
this.position = position;
this.park = park;
this.park.addBird(this);
}
/**
* Constructeur de l'objet oiseau
*
* @param x position sur l'axe des abscisses de l'oiseau
* @param y position sur l'axe des ordonnées de l'oiseau
* @param park parc de rattachement de l'oiseau
*/
public Bird(int x, int y, Park park) {
this(new Position(x, y), park);
}
/**
* Detecte la nourriture la plus proche de l'oiseau
*
* @return Food L'objet representant la nourriture la plus proche
*/
public Food findNearestFood() {
Food nearestFood = null;
int minDistance = Integer.MAX_VALUE;
for (Food f : park.getFoods()) {
if (this.position.distance(f.getPosition()) < minDistance && f.isFresh()) {
nearestFood = f;
minDistance = this.position.distance(f.getPosition());
}
}
return nearestFood;
}
@Override
public void run() {
while (isAlive) {
Food nearestFood = findNearestFood();
if (nearestFood != null) {
this.moveTo(nearestFood);
Food onFood = this.getOnFood();
if (onFood != null && onFood.isFresh()) {
this.park.removeFood(onFood);
}
}
try {
Thread.sleep(REFRESH_TIME);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
/**
* Deplace un oiseau vers une position
*
* @param toMove La position vers laquelle nous devous nous deplacer
*/
public void moveTo(Position toMove) {
if (this.position.distance(toMove) <= ((VELOCITY * REFRESH_TIME * 0.01))) {
this.position.moveTo(toMove.getX(), toMove.getY());
} else {
float x = this.position.getX()
+ ((VELOCITY * REFRESH_TIME * 0.01f)
* ((toMove.getX() - this.position.getX()) / (float) this.position.distance(toMove)));
float y = this.position.getY()
+ (((VELOCITY * REFRESH_TIME * 0.01f))
* ((toMove.getY() - this.position.getY()) / (float) this.position.distance(toMove)));
this.position.moveTo(Math.round(x), Math.round(y));
}
}
/**
* Deplacer l'oiseau vers une nourriture
*
* @param food La nourriture vers laquelle l'oiseau doit se diriger
*/
public void moveTo(Food food) {
this.moveTo(food.getPosition());
}
/**
* Effraie l'oiseau, a pour but de le déplacer à une position aléatoire
*/
public void frighten() {
this.position.moveTo(Math.round((float) Math.random() * park.getWidth()),
Math.round((float) Math.random() * park.getHeight()));
;
}
/**
* @return Food Renvoie la nourriture sur laquelle nous nous situons, ou null si nous sommes sur aucune nourriture
*/
public Food getOnFood() {
for (Food f : park.getFoods()) {
if (this.position.distance(f.getPosition()) == 0)
return f;
}
return null;
}
/**
* Obtenir le parc dans lequel l'oiseau evolue
*
* @return Le parc dans lequel l'oiseau évolue
*/
public Park getPark() {
return park;
}
/**
* Définir un parc dans lequel l'oiseau evoluera
*
* @param park Le parc dans lequel l'oiseu évoluera
*/
public void setPark(Park park) {
this.park = park;
}
/**
*
* @return boolean vrai si l'oiseau est en vie, faux sinon.
*/
public boolean isAlive() {
return this.isAlive;
}
/**
* Obtenir la position de l'oiseau
*
* @return Position la position actuelle de l'oiseau
*/
public Position getPosition() {
return this.position;
}
}

140
src/pigeons/Food.java Normal file
View File

@@ -0,0 +1,140 @@
package pigeons;
import java.awt.Color;
import java.util.concurrent.atomic.AtomicInteger;
/**
* Classe permettant de gérer une nourriture
*
* @author Valentin THEDON
* @author Nathan AMSELLEM
*
* @version %I%, %G%
* @since 1.0
*/
public class Food {
/**
* Position de la nourriture
*/
private Position position;
/**
* Consommabilité de la nourriture
*/
private boolean isFresh;
/**
* Temps restant de fraicheur de la nourriture
*/
private long freshTimeLeft = 2000;
/**
* Nombre de thread travaillant en ecriture sur l'objet
*/
private AtomicInteger numWriter = new AtomicInteger();
/**
* Couleur de la nourriture
* - Rouge si non consommable
* - Jaune si consommable
*/
public Color color;
/**
* Constructeur de l'objet representant une nourriture
*
* @param position Position de la nourriture
*/
public Food(Position position) {
this.position = position;
this.isFresh = true;
this.color = Color.YELLOW;
}
/**
* Constructeur de l'objet representant une nourriture
*
* @param x position sur l'axe des abscisses de la nourriture
* @param y postiion sur l'axe des ordonnées de la nourriture
*/
public Food(int x, int y) {
this(new Position(x, y));
}
/**
* Obtenir la position de la nourriture
*
* @return position de la nourriture
*/
public Position getPosition() {
return position;
}
/**
* Reduit le temps de fraicheur de la nourriture.
* Si le temps restants de fraicheur, la nourriture est consideré comme non
* consommable et la variable {@link Food#isFresh} vaut desormais
* <code>true</code>. Par ailleurs la couleur d'une nourriture devient rouge
*
* @param toReduce Temps à retirer du temps restant de fraicheur
*/
public synchronized void reduceFreshTimeLeft(long toReduce) {
this.numWriter.incrementAndGet();
this.freshTimeLeft -= toReduce;
if (this.freshTimeLeft < 0) {
this.isFresh = false;
this.color = Color.RED;
}
this.numWriter.decrementAndGet();
notifyAll();
}
/**
* Obtenir la couleur associé une nourriture
*
* @return La couleur associé à la nouritture, jaune si consommable, rouge sinon
*/
public Color getColor() {
return color;
}
/**
* Obtenir le temps de fraicheur restant à une nourriture
*
* 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
*
* @return Temps de fraicheur restant à la nourriture
*/
public synchronized long getFreshTimeLeft() {
while (numWriter.get() != 0)
try {
wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return freshTimeLeft;
}
/**
* Obtenir la consommabité de la nourriture
*
* Cette fonction 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
*
* @return boolean
*
*/
public synchronized boolean isFresh() {
while (numWriter.get() != 0)
try {
wait();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return isFresh;
}
}

246
src/pigeons/Park.java Normal file
View File

@@ -0,0 +1,246 @@
package pigeons;
import java.util.ArrayList;
import java.util.concurrent.atomic.AtomicInteger;
import javax.swing.JPanel;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.Color;
import java.awt.Graphics;
/**
* 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>.
*
* @author Valentin THEDON
* @author Nathan AMSELLEM
*
* @version %I%, %G%
* @since 1.0
*/
public class Park extends JPanel implements MouseListener {
/**
* Oiseaux présent dans le parc
*/
private ArrayList<Bird> birds;
/**
* Nourritures présente dans le parc
*/
private ArrayList<Food> foods;
/**
* Probabilité d'effrayer les oiseaux, decroit à chaque actualisation du parc
*/
private int frightenProbaility = 20000;
/**
* Nombre de thread travaillant en ecriture sur l'objet
*/
private AtomicInteger numWriter = new AtomicInteger();
/**
* Constructeur de l'objet representant un parc
*
* @param width longueur du parc
* @param height hauteur du parc
*/
public Park(int width, int height) {
super();
super.setSize(width, height);
this.addMouseListener(this);
this.birds = new ArrayList<Bird>();
this.foods = new ArrayList<Food>();
}
/**
* Obtenir les oiseaux du parc
*
* @return la liste contenant les oiseaux du parcs
*/
public ArrayList<Bird> getBirds() {
return birds;
}
/**
* 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
*
* @return la liste contenant les nourritures du parc
*/
public synchronized ArrayList<Food> getFoods() {
try {
while (numWriter.get() != 0) {
wait();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
return foods;
}
/**
* 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.
*
* @param toAdd nourriture a ajouter au parc
*/
public synchronized void addFood(Food toAdd) {
numWriter.incrementAndGet();
this.foods.add(toAdd);
numWriter.decrementAndGet();
notifyAll();
}
/**
* Ajouter un oiseau dans le parc
*
* @param toAdd Oiseau à ajouter au parc
*/
public void addBird(Bird toAdd) {
this.birds.add(toAdd);
Thread t = new Thread(toAdd);
t.start();
}
/**
* 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.
*
* @param foods liste de nourriture à supprimer du parc
*/
public synchronized void removeFoods(ArrayList<Food> foods) {
numWriter.incrementAndGet();
this.foods.removeAll(foods);
numWriter.decrementAndGet();
notifyAll();
}
/**
* 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.
*
* @param food nourriture à ajouter
*/
public synchronized void removeFood(Food food) {
numWriter.incrementAndGet();
this.foods.remove(food);
numWriter.decrementAndGet();
notifyAll();
}
@Override
public void paintComponent(Graphics g) {
refreshPark();
g.setColor(Color.WHITE);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
for (Bird b : birds) {
if (b.isAlive()) {
g.setColor(Bird.COLOR);
g.fillRect(b.getPosition().getX(), b.getPosition().getY(), 15, 15);
}
}
synchronized (foods) {
try {
while (numWriter.get() != 0) {
wait();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
for (Food f : foods) {
g.setColor(f.getColor());
g.fillOval(f.getPosition().getX(), f.getPosition().getY(), 5, 5);
}
}
}
@Override
public void mouseClicked(MouseEvent e) {
Food f = new Food(e.getX(), e.getY());
this.addFood(f);
for (Bird b : birds) {
synchronized (b) {
b.notify();
}
}
}
@Override
public void mousePressed(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseReleased(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent e) {
// TODO Auto-generated method stub
}
@Override
public void mouseExited(MouseEvent e) {
// TODO Auto-generated method stub
}
/**
* @param index index de liste de l'oiseau à supprimer
*/
public void removeBird(int index) {
this.birds.remove(index);
}
/**
* 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
*/
private void refreshPark() {
ArrayList<Food> foodToRemove = new ArrayList<Food>();
for (Food f : foods) {
f.reduceFreshTimeLeft(1);
if (f.getFreshTimeLeft() <= -5000) {
foodToRemove.add(f);
}
}
this.removeFoods(foodToRemove);
if (Math.floor(Math.random() * (--frightenProbaility)) == 0) {
for (Bird b : birds) {
b.frighten();
this.frightenProbaility = 20000;
}
}
}
}

109
src/pigeons/Position.java Normal file
View File

@@ -0,0 +1,109 @@
package pigeons;
/**
* Classe representant un position
*
* @author Valentin THEDON
* @author Nathan AMSELLEM
*
* @version %I%, %G%
* @since 1.0
*/
public class Position {
/**
* Coordonnée sur l'axe des abscisses
*/
private int x;
/**
* Coodonnée sur l'axe des ordonées
*/
private int y;
/**
* Constructeur de l'objet representant une position
*
* @param x position sur l'abscisse
* @param y position sur l'ordonée
*/
public Position(int x, int y) {
this.x = x;
this.y = y;
}
/**
* Constructeur de l'objet representant une position
*
* Position fixé à l'origine (0 ; 0)
*/
public Position() {
this(0, 0);
}
/**
* Calculer la distance entre 2 positions
*
* @param position postion distante
* @return distance entre les 2 points
*/
public int distance(Position position) {
return (int) Math.sqrt(Math.pow(Math.abs(this.x - position.x), 2) + Math.pow(Math.abs(this.y - position.y), 2));
}
/**
* Déplacer la position
*
* @param x nouvelle position sur l'axe des abscisses
* @param y nouvelle position sur l'axe des abscisses
*/
public void moveTo(int x, int y) {
this.x = x;
this.y = y;
}
/**
* Déplacer la position
*
* @param toMove nouvelle position
*/
public void moveTo(Position toMove) {
this.moveTo(toMove.getX(), toMove.getY());
}
/**
* Obtenir la position sur l'axe des abscisses
*
* @return coordonnée sur l'abscisses
*/
public int getX() {
return this.x;
}
/**
* Définir une coordonée d'abscisse
*
* @param x nouvelle coordonnée d'abscisse
*/
public void setX(int x) {
this.x = x;
}
/**
* Obtenir la position sur l'axe des ordonées
*
* @return coordonnée sur l'ordonnée
*/
public int getY() {
return this.y;
}
/**
* Définir une coordonée d'ordonée
*
* @param y nouvelle coordonnée d'ordonée
*/
public void setY(int y) {
this.y = y;
}
}

65
src/pigeons/UI.java Normal file
View File

@@ -0,0 +1,65 @@
package pigeons;
import javax.swing.JFrame;
/**
* Classe d'interface utilisateur de l'application
*
* @author Valentin THEDON
* @author Nathan AMSELLEM
*
* @version %I%, %G%
* @since 1.0
*/
public class UI extends JFrame {
/**
* Parc de l'application
*/
private Park park;
/**
* Constructeur de l'interface graphique
*
* La taille de l'interface sera la même que celle du parc
*
* @param park le parc attaché à cette interface
*/
public UI(Park park) {
super();
this.park = park;
this.setSize(park.getSize());
this.setVisible(true);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setTitle("Pigeons");
this.setContentPane(park);
}
/**
* Obtenir le park associé à l'intefrace graphique
*
* @return parc de l'application
*/
public Park getPark() {
return park;
}
/**
* Définir un parc pour l'interface graphique
*
* @param park parc de l'application
*/
public void setPark(Park park) {
this.park = park;
}
/**
* Dessiner l'interface
*/
public void draw() {
this.park.repaint();
}
}