This commit is contained in:
Filip Szepielewicz
2024-10-21 07:34:56 +02:00
parent 00a8f11602
commit 79a9b0ed3c
230 changed files with 32039 additions and 327 deletions

View File

@@ -0,0 +1,178 @@
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (20) -->
<title>BattleshipClient (model API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: pp.battleship.game.client, interface: BattleshipClient">
<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">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.6.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 pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript ist im Browser deaktiviert.</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"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Navigationslinks umschalten"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Navigations-Links überspringen">Navigations-Links überspringen</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Überblick</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Klasse</li>
<li><a href="package-tree.html">Baum</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#class">Hilfe</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Übersicht:</p>
<ul>
<li>Verschachtelt</li>
<li>Feld</li>
<li>Konstruktor</li>
<li><a href="#method-summary">Methode</a></li>
</ul>
</li>
<li>
<p>Details:</p>
<ul>
<li>Feld</li>
<li>Konstruktor</li>
<li><a href="#method-detail">Methode</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Übersicht:&nbsp;</li>
<li>Verschachtelt&nbsp;|&nbsp;</li>
<li>Feld&nbsp;|&nbsp;</li>
<li>Konstruktor&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Methode</a></li>
</ul>
<ul class="sub-nav-list">
<li>Details:&nbsp;</li>
<li>Feld&nbsp;|&nbsp;</li>
<li>Konstruktor&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Methode</a></li>
</ul>
</div>
<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Suchen">
<input type="reset" id="reset-button" disabled value="reset">
</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">pp.battleship.game.client</a></div>
<h1 title="Schnittstelle BattleshipClient" class="title">Schnittstelle BattleshipClient</h1>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">BattleshipClient</span></div>
<div class="block">Interface representing a Battleship client.
Provides methods to access game logic, configuration, and to enqueue tasks.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Methodenübersicht</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">Alle Methoden</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instanzmethoden</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstrakte Methoden</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifizierer und Typ</div>
<div class="table-header col-second">Methode</div>
<div class="table-header col-last">Beschreibung</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#enqueue(java.lang.Runnable)" class="member-name-link">enqueue</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Runnable.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">Runnable</a>&nbsp;runnable)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Enqueues a task to be executed by the client.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="../singlemode/BattleshipClientConfig.html" title="Klasse in pp.battleship.game.singlemode">BattleshipClientConfig</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getConfig()" class="member-name-link">getConfig</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the configuration associated with this client.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="ClientGameLogic.html" title="Klasse in pp.battleship.game.client">ClientGameLogic</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getGameLogic()" class="member-name-link">getGameLogic</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the game logic associated with this client.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Methodendetails</h2>
<ul class="member-list">
<li>
<section class="detail" id="getGameLogic()">
<h3>getGameLogic</h3>
<div class="member-signature"><span class="return-type"><a href="ClientGameLogic.html" title="Klasse in pp.battleship.game.client">ClientGameLogic</a></span>&nbsp;<span class="element-name">getGameLogic</span>()</div>
<div class="block">Returns the game logic associated with this client.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>the ClientGameLogic instance</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getConfig()">
<h3>getConfig</h3>
<div class="member-signature"><span class="return-type"><a href="../singlemode/BattleshipClientConfig.html" title="Klasse in pp.battleship.game.singlemode">BattleshipClientConfig</a></span>&nbsp;<span class="element-name">getConfig</span>()</div>
<div class="block">Returns the configuration associated with this client.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>the BattleshipConfig instance</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="enqueue(java.lang.Runnable)">
<h3>enqueue</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">enqueue</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Runnable.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">Runnable</a>&nbsp;runnable)</span></div>
<div class="block">Enqueues a task to be executed by the client.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>runnable</code> - the task to be executed</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,582 @@
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (20) -->
<title>ClientGameLogic (model API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: pp.battleship.game.client, class: ClientGameLogic">
<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">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.6.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 pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript ist im Browser deaktiviert.</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"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Navigationslinks umschalten"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Navigations-Links überspringen">Navigations-Links überspringen</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Überblick</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Klasse</li>
<li><a href="package-tree.html">Baum</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#class">Hilfe</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Übersicht:</p>
<ul>
<li>Verschachtelt</li>
<li>Feld</li>
<li><a href="#constructor-summary">Konstruktor</a></li>
<li><a href="#method-summary">Methode</a></li>
</ul>
</li>
<li>
<p>Details:</p>
<ul>
<li>Feld</li>
<li><a href="#constructor-detail">Konstruktor</a></li>
<li><a href="#method-detail">Methode</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Übersicht:&nbsp;</li>
<li>Verschachtelt&nbsp;|&nbsp;</li>
<li>Feld&nbsp;|&nbsp;</li>
<li><a href="#constructor-summary">Konstruktor</a>&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Methode</a></li>
</ul>
<ul class="sub-nav-list">
<li>Details:&nbsp;</li>
<li>Feld&nbsp;|&nbsp;</li>
<li><a href="#constructor-detail">Konstruktor</a>&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Methode</a></li>
</ul>
</div>
<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Suchen">
<input type="reset" id="reset-button" disabled value="reset">
</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">pp.battleship.game.client</a></div>
<h1 title="Klasse ClientGameLogic" class="title">Klasse ClientGameLogic</h1>
</div>
<div class="inheritance" title="Vererbungsbaum"><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">pp.battleship.game.client.ClientGameLogic</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Alle implementierten Schnittstellen:</dt>
<dd><code><a href="../../message/server/ServerInterpreter.html" title="Schnittstelle in pp.battleship.message.server">ServerInterpreter</a></code>, <code><a href="../../notification/GameEventBroker.html" title="Schnittstelle in pp.battleship.notification">GameEventBroker</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ClientGameLogic</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">Object</a>
implements <a href="../../message/server/ServerInterpreter.html" title="Schnittstelle in pp.battleship.message.server">ServerInterpreter</a>, <a href="../../notification/GameEventBroker.html" title="Schnittstelle in pp.battleship.notification">GameEventBroker</a></span></div>
<div class="block">Controls the client-side game logic for Battleship.
Manages the player's ship placement, interactions with the map, and response to server messages.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Konstruktorübersicht</h2>
<div class="caption"><span>Konstruktoren</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Konstruktor</div>
<div class="table-header col-last">Beschreibung</div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E(pp.battleship.game.client.ClientSender)" class="member-name-link">ClientGameLogic</a><wbr>(<a href="ClientSender.html" title="Schnittstelle in pp.battleship.game.client">ClientSender</a>&nbsp;clientSender)</code></div>
<div class="col-last even-row-color">
<div class="block">Constructs a ClientGameLogic with the specified sender object.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Methodenübersicht</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">Alle Methoden</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instanzmethoden</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Konkrete Methoden</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifizierer und Typ</div>
<div class="table-header col-second">Methode</div>
<div class="table-header col-last">Beschreibung</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addListener(pp.battleship.notification.GameEventListener)" class="member-name-link">addListener</a><wbr>(<a href="../../notification/GameEventListener.html" title="Schnittstelle in pp.battleship.notification">GameEventListener</a>&nbsp;listener)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds a listener to receive game events.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#clickHarbor(pp.battleship.model.IntPoint)" class="member-name-link">clickHarbor</a><wbr>(<a href="../../model/IntPoint.html" title="Klasse in pp.battleship.model">IntPoint</a>&nbsp;pos)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Handles a click on the harbor map.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#clickOpponentMap(pp.battleship.model.IntPoint)" class="member-name-link">clickOpponentMap</a><wbr>(<a href="../../model/IntPoint.html" title="Klasse in pp.battleship.model">IntPoint</a>&nbsp;pos)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Handles a click on the opponent's map.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#clickOwnMap(pp.battleship.model.IntPoint)" class="member-name-link">clickOwnMap</a><wbr>(<a href="../../model/IntPoint.html" title="Klasse in pp.battleship.model">IntPoint</a>&nbsp;pos)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Handles a click on the player's own map.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../model/ShipMap.html" title="Klasse in pp.battleship.model">ShipMap</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getHarbor()" class="member-name-link">getHarbor</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the harbor map.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../model/ShipMap.html" title="Klasse in pp.battleship.model">ShipMap</a></code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getOpponentMap()" class="member-name-link">getOpponentMap</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the opponent's map.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../model/ShipMap.html" title="Klasse in pp.battleship.model">ShipMap</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getOwnMap()" class="member-name-link">getOwnMap</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Returns the player's own map.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isMapComplete()" class="member-name-link">isMapComplete</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if the player's map is complete (i.e., all ships are placed).</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#loadMap(java.io.File)" class="member-name-link">loadMap</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/io/File.html" title="Klasse oder Schnittstelle in java.io" class="external-link">File</a>&nbsp;file)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Loads a map from the specified file.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#mapFinished()" class="member-name-link">mapFinished</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Marks the player's map as finished.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#mayLoadMap()" class="member-name-link">mayLoadMap</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if the player's own map may be loaded from a file.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#maySaveMap()" class="member-name-link">maySaveMap</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if the player's own map may be saved to a file.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#movePreview(pp.battleship.model.IntPoint)" class="member-name-link">movePreview</a><wbr>(<a href="../../model/IntPoint.html" title="Klasse in pp.battleship.model">IntPoint</a>&nbsp;pos)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Moves the preview ship to the specified position.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#movingShip()" class="member-name-link">movingShip</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if there is currently a preview ship.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#notifyListeners(pp.battleship.notification.GameEvent)" class="member-name-link">notifyListeners</a><wbr>(<a href="../../notification/GameEvent.html" title="Schnittstelle in pp.battleship.notification">GameEvent</a>&nbsp;event)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Notifies all listeners of a game event.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#playSound(pp.battleship.notification.Sound)" class="member-name-link">playSound</a><wbr>(<a href="../../notification/Sound.html" title="Enum-Klasse in pp.battleship.notification">Sound</a>&nbsp;sound)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Emits an event to play the specified sound.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#received(pp.battleship.message.server.EffectMessage)" class="member-name-link">received</a><wbr>(<a href="../../message/server/EffectMessage.html" title="Klasse in pp.battleship.message.server">EffectMessage</a>&nbsp;msg)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Reports the effect of a shot based on the server message.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#received(pp.battleship.message.server.GameDetails)" class="member-name-link">received</a><wbr>(<a href="../../message/server/GameDetails.html" title="Klasse in pp.battleship.message.server">GameDetails</a>&nbsp;details)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Sets the game details provided by the server.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#received(pp.battleship.message.server.StartBattleMessage)" class="member-name-link">received</a><wbr>(<a href="../../message/server/StartBattleMessage.html" title="Klasse in pp.battleship.message.server">StartBattleMessage</a>&nbsp;msg)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Starts the battle based on the server message.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeListener(pp.battleship.notification.GameEventListener)" class="member-name-link">removeListener</a><wbr>(<a href="../../notification/GameEventListener.html" title="Schnittstelle in pp.battleship.notification">GameEventListener</a>&nbsp;listener)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Removes a listener from receiving game events.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#rotateShip()" class="member-name-link">rotateShip</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Rotates the preview ship.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#saveMap(java.io.File)" class="member-name-link">saveMap</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/io/File.html" title="Klasse oder Schnittstelle in java.io" class="external-link">File</a>&nbsp;file)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Saves the player's own map to the specified file.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#showBattle()" class="member-name-link">showBattle</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if the battle state should be shown.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#showEditor()" class="member-name-link">showEditor</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Checks if the editor should be shown.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#update(float)" class="member-name-link">update</a><wbr>(float&nbsp;delta)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Called once per frame by the update loop.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Von Klasse geerbte Methoden&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#clone()" title="Klasse oder Schnittstelle in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="Klasse oder Schnittstelle in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#finalize()" title="Klasse oder Schnittstelle in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#getClass()" title="Klasse oder Schnittstelle in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#hashCode()" title="Klasse oder Schnittstelle in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notify()" title="Klasse oder Schnittstelle in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notifyAll()" title="Klasse oder Schnittstelle in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#toString()" title="Klasse oder Schnittstelle in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait()" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long)" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Konstruktordetails</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(pp.battleship.game.client.ClientSender)">
<h3>ClientGameLogic</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ClientGameLogic</span><wbr><span class="parameters">(<a href="ClientSender.html" title="Schnittstelle in pp.battleship.game.client">ClientSender</a>&nbsp;clientSender)</span></div>
<div class="block">Constructs a ClientGameLogic with the specified sender object.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>clientSender</code> - the object used to send messages to the server</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Methodendetails</h2>
<ul class="member-list">
<li>
<section class="detail" id="getOwnMap()">
<h3>getOwnMap</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../model/ShipMap.html" title="Klasse in pp.battleship.model">ShipMap</a></span>&nbsp;<span class="element-name">getOwnMap</span>()</div>
<div class="block">Returns the player's own map.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>the player's own map</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getOpponentMap()">
<h3>getOpponentMap</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../model/ShipMap.html" title="Klasse in pp.battleship.model">ShipMap</a></span>&nbsp;<span class="element-name">getOpponentMap</span>()</div>
<div class="block">Returns the opponent's map.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>the opponent's map</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getHarbor()">
<h3>getHarbor</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../model/ShipMap.html" title="Klasse in pp.battleship.model">ShipMap</a></span>&nbsp;<span class="element-name">getHarbor</span>()</div>
<div class="block">Returns the harbor map.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>the harbor map</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="showEditor()">
<h3>showEditor</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">showEditor</span>()</div>
<div class="block">Checks if the editor should be shown.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>true if the editor should be shown, false otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="showBattle()">
<h3>showBattle</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">showBattle</span>()</div>
<div class="block">Checks if the battle state should be shown.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>true if the battle state should be shown, false otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="received(pp.battleship.message.server.GameDetails)">
<h3>received</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">received</span><wbr><span class="parameters">(<a href="../../message/server/GameDetails.html" title="Klasse in pp.battleship.message.server">GameDetails</a>&nbsp;details)</span></div>
<div class="block">Sets the game details provided by the server.</div>
<dl class="notes">
<dt>Angegeben von:</dt>
<dd><code><a href="../../message/server/ServerInterpreter.html#received(pp.battleship.message.server.GameDetails)">received</a></code>&nbsp;in Schnittstelle&nbsp;<code><a href="../../message/server/ServerInterpreter.html" title="Schnittstelle in pp.battleship.message.server">ServerInterpreter</a></code></dd>
<dt>Parameter:</dt>
<dd><code>details</code> - the game details including map size and ships</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="movePreview(pp.battleship.model.IntPoint)">
<h3>movePreview</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">movePreview</span><wbr><span class="parameters">(<a href="../../model/IntPoint.html" title="Klasse in pp.battleship.model">IntPoint</a>&nbsp;pos)</span></div>
<div class="block">Moves the preview ship to the specified position.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>pos</code> - the new position for the preview ship</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clickOwnMap(pp.battleship.model.IntPoint)">
<h3>clickOwnMap</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">clickOwnMap</span><wbr><span class="parameters">(<a href="../../model/IntPoint.html" title="Klasse in pp.battleship.model">IntPoint</a>&nbsp;pos)</span></div>
<div class="block">Handles a click on the player's own map.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>pos</code> - the position where the click occurred</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clickHarbor(pp.battleship.model.IntPoint)">
<h3>clickHarbor</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">clickHarbor</span><wbr><span class="parameters">(<a href="../../model/IntPoint.html" title="Klasse in pp.battleship.model">IntPoint</a>&nbsp;pos)</span></div>
<div class="block">Handles a click on the harbor map.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>pos</code> - the position where the click occurred</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="clickOpponentMap(pp.battleship.model.IntPoint)">
<h3>clickOpponentMap</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">clickOpponentMap</span><wbr><span class="parameters">(<a href="../../model/IntPoint.html" title="Klasse in pp.battleship.model">IntPoint</a>&nbsp;pos)</span></div>
<div class="block">Handles a click on the opponent's map.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>pos</code> - the position where the click occurred</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="rotateShip()">
<h3>rotateShip</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">rotateShip</span>()</div>
<div class="block">Rotates the preview ship.</div>
</section>
</li>
<li>
<section class="detail" id="mapFinished()">
<h3>mapFinished</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">mapFinished</span>()</div>
<div class="block">Marks the player's map as finished.</div>
</section>
</li>
<li>
<section class="detail" id="isMapComplete()">
<h3>isMapComplete</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isMapComplete</span>()</div>
<div class="block">Checks if the player's map is complete (i.e., all ships are placed).</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>true if all ships are placed, false otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="movingShip()">
<h3>movingShip</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">movingShip</span>()</div>
<div class="block">Checks if there is currently a preview ship.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>true if there is currently a preview ship, false otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="received(pp.battleship.message.server.StartBattleMessage)">
<h3>received</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">received</span><wbr><span class="parameters">(<a href="../../message/server/StartBattleMessage.html" title="Klasse in pp.battleship.message.server">StartBattleMessage</a>&nbsp;msg)</span></div>
<div class="block">Starts the battle based on the server message.</div>
<dl class="notes">
<dt>Angegeben von:</dt>
<dd><code><a href="../../message/server/ServerInterpreter.html#received(pp.battleship.message.server.StartBattleMessage)">received</a></code>&nbsp;in Schnittstelle&nbsp;<code><a href="../../message/server/ServerInterpreter.html" title="Schnittstelle in pp.battleship.message.server">ServerInterpreter</a></code></dd>
<dt>Parameter:</dt>
<dd><code>msg</code> - the message indicating whose turn it is to shoot</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="received(pp.battleship.message.server.EffectMessage)">
<h3>received</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">received</span><wbr><span class="parameters">(<a href="../../message/server/EffectMessage.html" title="Klasse in pp.battleship.message.server">EffectMessage</a>&nbsp;msg)</span></div>
<div class="block">Reports the effect of a shot based on the server message.</div>
<dl class="notes">
<dt>Angegeben von:</dt>
<dd><code><a href="../../message/server/ServerInterpreter.html#received(pp.battleship.message.server.EffectMessage)">received</a></code>&nbsp;in Schnittstelle&nbsp;<code><a href="../../message/server/ServerInterpreter.html" title="Schnittstelle in pp.battleship.message.server">ServerInterpreter</a></code></dd>
<dt>Parameter:</dt>
<dd><code>msg</code> - the message containing the effect of the shot</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="playSound(pp.battleship.notification.Sound)">
<h3>playSound</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">playSound</span><wbr><span class="parameters">(<a href="../../notification/Sound.html" title="Enum-Klasse in pp.battleship.notification">Sound</a>&nbsp;sound)</span></div>
<div class="block">Emits an event to play the specified sound.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>sound</code> - the sound to be played.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="loadMap(java.io.File)">
<h3>loadMap</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">loadMap</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/io/File.html" title="Klasse oder Schnittstelle in java.io" class="external-link">File</a>&nbsp;file)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/io/IOException.html" title="Klasse oder Schnittstelle in java.io" class="external-link">IOException</a></span></div>
<div class="block">Loads a map from the specified file.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>file</code> - the file to load the map from</dd>
<dt>Löst aus:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/io/IOException.html" title="Klasse oder Schnittstelle in java.io" class="external-link">IOException</a></code> - if an I/O error occurs</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="mayLoadMap()">
<h3>mayLoadMap</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">mayLoadMap</span>()</div>
<div class="block">Checks if the player's own map may be loaded from a file.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>true if the own map may be loaded from file, false otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="maySaveMap()">
<h3>maySaveMap</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">maySaveMap</span>()</div>
<div class="block">Checks if the player's own map may be saved to a file.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>true if the own map may be saved to file, false otherwise</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="saveMap(java.io.File)">
<h3>saveMap</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">saveMap</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/io/File.html" title="Klasse oder Schnittstelle in java.io" class="external-link">File</a>&nbsp;file)</span>
throws <span class="exceptions"><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/io/IOException.html" title="Klasse oder Schnittstelle in java.io" class="external-link">IOException</a></span></div>
<div class="block">Saves the player's own map to the specified file.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>file</code> - the file to save the map to</dd>
<dt>Löst aus:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/io/IOException.html" title="Klasse oder Schnittstelle in java.io" class="external-link">IOException</a></code> - if the map cannot be saved in the current state</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addListener(pp.battleship.notification.GameEventListener)">
<h3>addListener</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addListener</span><wbr><span class="parameters">(<a href="../../notification/GameEventListener.html" title="Schnittstelle in pp.battleship.notification">GameEventListener</a>&nbsp;listener)</span></div>
<div class="block">Adds a listener to receive game events.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>listener</code> - the listener to add</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="removeListener(pp.battleship.notification.GameEventListener)">
<h3>removeListener</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">removeListener</span><wbr><span class="parameters">(<a href="../../notification/GameEventListener.html" title="Schnittstelle in pp.battleship.notification">GameEventListener</a>&nbsp;listener)</span></div>
<div class="block">Removes a listener from receiving game events.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>listener</code> - the listener to remove</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="notifyListeners(pp.battleship.notification.GameEvent)">
<h3>notifyListeners</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">notifyListeners</span><wbr><span class="parameters">(<a href="../../notification/GameEvent.html" title="Schnittstelle in pp.battleship.notification">GameEvent</a>&nbsp;event)</span></div>
<div class="block">Notifies all listeners of a game event.</div>
<dl class="notes">
<dt>Angegeben von:</dt>
<dd><code><a href="../../notification/GameEventBroker.html#notifyListeners(pp.battleship.notification.GameEvent)">notifyListeners</a></code>&nbsp;in Schnittstelle&nbsp;<code><a href="../../notification/GameEventBroker.html" title="Schnittstelle in pp.battleship.notification">GameEventBroker</a></code></dd>
<dt>Parameter:</dt>
<dd><code>event</code> - the game event to notify listeners of</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="update(float)">
<h3>update</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">update</span><wbr><span class="parameters">(float&nbsp;delta)</span></div>
<div class="block">Called once per frame by the update loop.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>delta</code> - time in seconds since the last update call</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,153 @@
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (20) -->
<title>ClientSender (model API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: pp.battleship.game.client, interface: ClientSender">
<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">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.6.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 pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript ist im Browser deaktiviert.</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"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Navigationslinks umschalten"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Navigations-Links überspringen">Navigations-Links überspringen</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Überblick</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Klasse</li>
<li><a href="package-tree.html">Baum</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#class">Hilfe</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Übersicht:</p>
<ul>
<li>Verschachtelt</li>
<li>Feld</li>
<li>Konstruktor</li>
<li><a href="#method-summary">Methode</a></li>
</ul>
</li>
<li>
<p>Details:</p>
<ul>
<li>Feld</li>
<li>Konstruktor</li>
<li><a href="#method-detail">Methode</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Übersicht:&nbsp;</li>
<li>Verschachtelt&nbsp;|&nbsp;</li>
<li>Feld&nbsp;|&nbsp;</li>
<li>Konstruktor&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Methode</a></li>
</ul>
<ul class="sub-nav-list">
<li>Details:&nbsp;</li>
<li>Feld&nbsp;|&nbsp;</li>
<li>Konstruktor&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Methode</a></li>
</ul>
</div>
<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Suchen">
<input type="reset" id="reset-button" disabled value="reset">
</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">pp.battleship.game.client</a></div>
<h1 title="Schnittstelle ClientSender" class="title">Schnittstelle ClientSender</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Alle bekannten Unterschnittstellen:</dt>
<dd><code><a href="ServerConnection.html" title="Schnittstelle in pp.battleship.game.client">ServerConnection</a></code></dd>
</dl>
<dl class="notes">
<dt>Alle bekannten Implementierungsklassen:</dt>
<dd><code><a href="../singlemode/ServerConnectionMockup.html" title="Klasse in pp.battleship.game.singlemode">ServerConnectionMockup</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">ClientSender</span></div>
<div class="block">Interface for sending messages to the server.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Methodenübersicht</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">Alle Methoden</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instanzmethoden</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstrakte Methoden</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifizierer und Typ</div>
<div class="table-header col-second">Methode</div>
<div class="table-header col-last">Beschreibung</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#send(pp.battleship.message.client.ClientMessage)" class="member-name-link">send</a><wbr>(<a href="../../message/client/ClientMessage.html" title="Klasse in pp.battleship.message.client">ClientMessage</a>&nbsp;message)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Send the specified message to the server.</div>
</div>
</div>
</div>
</div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Methodendetails</h2>
<ul class="member-list">
<li>
<section class="detail" id="send(pp.battleship.message.client.ClientMessage)">
<h3>send</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">send</span><wbr><span class="parameters">(<a href="../../message/client/ClientMessage.html" title="Klasse in pp.battleship.message.client">ClientMessage</a>&nbsp;message)</span></div>
<div class="block">Send the specified message to the server.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>message</code> - the message</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,182 @@
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (20) -->
<title>ServerConnection (model API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: pp.battleship.game.client, interface: ServerConnection">
<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">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.6.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 pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript ist im Browser deaktiviert.</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"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Navigationslinks umschalten"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Navigations-Links überspringen">Navigations-Links überspringen</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Überblick</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Klasse</li>
<li><a href="package-tree.html">Baum</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#class">Hilfe</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Übersicht:</p>
<ul>
<li>Verschachtelt</li>
<li>Feld</li>
<li>Konstruktor</li>
<li><a href="#method-summary">Methode</a></li>
</ul>
</li>
<li>
<p>Details:</p>
<ul>
<li>Feld</li>
<li>Konstruktor</li>
<li><a href="#method-detail">Methode</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Übersicht:&nbsp;</li>
<li>Verschachtelt&nbsp;|&nbsp;</li>
<li>Feld&nbsp;|&nbsp;</li>
<li>Konstruktor&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Methode</a></li>
</ul>
<ul class="sub-nav-list">
<li>Details:&nbsp;</li>
<li>Feld&nbsp;|&nbsp;</li>
<li>Konstruktor&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Methode</a></li>
</ul>
</div>
<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Suchen">
<input type="reset" id="reset-button" disabled value="reset">
</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">pp.battleship.game.client</a></div>
<h1 title="Schnittstelle ServerConnection" class="title">Schnittstelle ServerConnection</h1>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Alle Superschnittstellen:</dt>
<dd><code><a href="ClientSender.html" title="Schnittstelle in pp.battleship.game.client">ClientSender</a></code></dd>
</dl>
<dl class="notes">
<dt>Alle bekannten Implementierungsklassen:</dt>
<dd><code><a href="../singlemode/ServerConnectionMockup.html" title="Klasse in pp.battleship.game.singlemode">ServerConnectionMockup</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public interface </span><span class="element-name type-name-label">ServerConnection</span><span class="extends-implements">
extends <a href="ClientSender.html" title="Schnittstelle in pp.battleship.game.client">ClientSender</a></span></div>
<div class="block">Interface representing a connection to the server.
Extends ClientSender to allow sending messages to the server.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Methodenübersicht</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">Alle Methoden</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instanzmethoden</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstrakte Methoden</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifizierer und Typ</div>
<div class="table-header col-second">Methode</div>
<div class="table-header col-last">Beschreibung</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#connect()" class="member-name-link">connect</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Establishes a connection to the server.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#disconnect()" class="member-name-link">disconnect</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Disconnects from the server.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isConnected()" class="member-name-link">isConnected</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Checks if the client is currently connected to the server.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-pp.battleship.game.client.ClientSender">Von Schnittstelle geerbte Methoden&nbsp;pp.battleship.game.client.<a href="ClientSender.html" title="Schnittstelle in pp.battleship.game.client">ClientSender</a></h3>
<code><a href="ClientSender.html#send(pp.battleship.message.client.ClientMessage)">send</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Methodendetails</h2>
<ul class="member-list">
<li>
<section class="detail" id="isConnected()">
<h3>isConnected</h3>
<div class="member-signature"><span class="return-type">boolean</span>&nbsp;<span class="element-name">isConnected</span>()</div>
<div class="block">Checks if the client is currently connected to the server.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>true if connected, false otherwise.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="connect()">
<h3>connect</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">connect</span>()</div>
<div class="block">Establishes a connection to the server.</div>
</section>
</li>
<li>
<section class="detail" id="disconnect()">
<h3>disconnect</h3>
<div class="member-signature"><span class="return-type">void</span>&nbsp;<span class="element-name">disconnect</span>()</div>
<div class="block">Disconnects from the server.</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,171 @@
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (20) -->
<title>ShootingAnimationState (model API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: pp.battleship.game.client, class: ShootingAnimationState">
<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">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.6.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 pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript ist im Browser deaktiviert.</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"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Navigationslinks umschalten"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Navigations-Links überspringen">Navigations-Links überspringen</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Überblick</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Klasse</li>
<li><a href="package-tree.html">Baum</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#class">Hilfe</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Übersicht:</p>
<ul>
<li>Verschachtelt</li>
<li>Feld</li>
<li>Konstruktor</li>
<li><a href="#method-summary">Methode</a></li>
</ul>
</li>
<li>
<p>Details:</p>
<ul>
<li>Feld</li>
<li>Konstruktor</li>
<li><a href="#method-detail">Methode</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Übersicht:&nbsp;</li>
<li>Verschachtelt&nbsp;|&nbsp;</li>
<li>Feld&nbsp;|&nbsp;</li>
<li>Konstruktor&nbsp;|&nbsp;</li>
<li><a href="#method-summary">Methode</a></li>
</ul>
<ul class="sub-nav-list">
<li>Details:&nbsp;</li>
<li>Feld&nbsp;|&nbsp;</li>
<li>Konstruktor&nbsp;|&nbsp;</li>
<li><a href="#method-detail">Methode</a></li>
</ul>
</div>
<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Suchen">
<input type="reset" id="reset-button" disabled value="reset">
</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">pp.battleship.game.client</a></div>
<h1 title="Klasse ShootingAnimationState" class="title">Klasse ShootingAnimationState</h1>
</div>
<div class="inheritance" title="Vererbungsbaum"><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">pp.battleship.game.client.ShootingAnimationState</div>
</div>
<section class="class-description" id="class-description">
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ShootingAnimationState</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">Object</a></span></div>
<div class="block">This class represents the client state during a shooting animation.
It handles the logic for the animation of a fired shell and ensures
that the client notifies the server when the animation is complete.</div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Methodenübersicht</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">Alle Methoden</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instanzmethoden</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Konkrete Methoden</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifizierer und Typ</div>
<div class="table-header col-second">Methode</div>
<div class="table-header col-last">Beschreibung</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#showBattle()" class="member-name-link">showBattle</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Indicates that the battle scene should be shown in this state.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#update(float)" class="member-name-link">update</a><wbr>(float&nbsp;deltaTime)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Called once per frame to update the shell's position and check if it has reached the target.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Von Klasse geerbte Methoden&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" title="Klasse oder Schnittstelle in java.lang" class="external-link">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#clone()" title="Klasse oder Schnittstelle in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="Klasse oder Schnittstelle in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#finalize()" title="Klasse oder Schnittstelle in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#getClass()" title="Klasse oder Schnittstelle in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#hashCode()" title="Klasse oder Schnittstelle in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notify()" title="Klasse oder Schnittstelle in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#notifyAll()" title="Klasse oder Schnittstelle in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#toString()" title="Klasse oder Schnittstelle in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait()" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long)" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="Klasse oder Schnittstelle in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Methodendetails</h2>
<ul class="member-list">
<li>
<section class="detail" id="showBattle()">
<h3>showBattle</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">showBattle</span>()</div>
<div class="block">Indicates that the battle scene should be shown in this state.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>true because the battle view is active during the shooting animation</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="update(float)">
<h3>update</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">update</span><wbr><span class="parameters">(float&nbsp;deltaTime)</span></div>
<div class="block">Called once per frame to update the shell's position and check if it has reached the target.
If the shell reaches the target, a message is sent to the server.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>deltaTime</code> - time in seconds since the last update call</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,110 @@
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (20) -->
<title>pp.battleship.game.client (model API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="declaration: package: pp.battleship.game.client">
<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">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.6.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 ist im Browser deaktiviert.</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"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Navigationslinks umschalten"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Navigations-Links überspringen">Navigations-Links überspringen</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Überblick</a></li>
<li class="nav-bar-cell1-rev">Package</li>
<li>Klasse</li>
<li><a href="package-tree.html">Baum</a></li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#package">Hilfe</a></li>
</ul>
<ul class="sub-nav-list-small">
<li>
<p>Package:</p>
<ul>
<li>Beschreibung</li>
<li>Zugehörige Packages</li>
<li><a href="#class-summary">Klassen und Schnittstellen</a></li>
</ul>
</li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list">
<ul class="sub-nav-list">
<li>Package:&nbsp;</li>
<li>Beschreibung&nbsp;|&nbsp;</li>
<li>Zugehörige Packages&nbsp;|&nbsp;</li>
<li><a href="#class-summary">Klassen und Schnittstellen</a></li>
</ul>
</div>
<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Suchen">
<input type="reset" id="reset-button" disabled value="reset">
</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 pp.battleship.game.client" class="title">Package pp.battleship.game.client</h1>
</div>
<hr>
<div class="package-signature">package <span class="element-name">pp.battleship.game.client</span></div>
<section class="summary">
<ul class="summary-list">
<li>
<div id="class-summary">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="class-summary-tab0" role="tab" aria-selected="true" aria-controls="class-summary.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary', 2)" class="active-table-tab">Alle Klassen und Schnittstellen</button><button id="class-summary-tab1" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab1', 2)" class="table-tab">Schnittstellen</button><button id="class-summary-tab2" role="tab" aria-selected="false" aria-controls="class-summary.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('class-summary', 'class-summary-tab2', 2)" class="table-tab">Klassen</button></div>
<div id="class-summary.tabpanel" role="tabpanel">
<div class="summary-table two-column-summary" aria-labelledby="class-summary-tab0">
<div class="table-header col-first">Klasse</div>
<div class="table-header col-last">Beschreibung</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="BattleshipClient.html" title="Schnittstelle in pp.battleship.game.client">BattleshipClient</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Interface representing a Battleship client.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ClientGameLogic.html" title="Klasse in pp.battleship.game.client">ClientGameLogic</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">Controls the client-side game logic for Battleship.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab1"><a href="ClientSender.html" title="Schnittstelle in pp.battleship.game.client">ClientSender</a></div>
<div class="col-last even-row-color class-summary class-summary-tab1">
<div class="block">Interface for sending messages to the server.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab1"><a href="ServerConnection.html" title="Schnittstelle in pp.battleship.game.client">ServerConnection</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab1">
<div class="block">Interface representing a connection to the server.</div>
</div>
<div class="col-first even-row-color class-summary class-summary-tab2"><a href="ShootingAnimationState.html" title="Klasse in pp.battleship.game.client">ShootingAnimationState</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">This class represents the client state during a shooting animation.</div>
</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,82 @@
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (20) -->
<title>pp.battleship.game.client Klassenhierarchie (model API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="tree: package: pp.battleship.game.client">
<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">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.6.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 ist im Browser deaktiviert.</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"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Navigationslinks umschalten"><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span><span class="nav-bar-toggle-icon">&nbsp;</span></button>
<div class="skip-nav"><a href="#skip-navbar-top" title="Navigations-Links überspringen">Navigations-Links überspringen</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Überblick</a></li>
<li><a href="package-summary.html">Package</a></li>
<li>Klasse</li>
<li class="nav-bar-cell1-rev">Baum</li>
<li><a href="../../../../index-all.html">Index</a></li>
<li><a href="../../../../help-doc.html#tree">Hilfe</a></li>
</ul>
</div>
<div class="sub-nav">
<div id="navbar-sub-list"></div>
<div class="nav-list-search"><a href="../../../../search.html">SEARCH</a>
<input type="text" id="search-input" disabled placeholder="Suchen">
<input type="reset" id="reset-button" disabled value="reset">
</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">Hierarchie für Package pp.battleship.game.client</h1>
</div>
<span class="package-hierarchy-label">Packagehierarchien:</span>
<ul class="horizontal contents-list">
<li><a href="../../../../overview-tree.html">Alle Packages</a></li>
</ul>
<section class="hierarchy">
<h2 title="Klassenhierarchie">Klassenhierarchie</h2>
<ul>
<li class="circle">java.lang.<a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/lang/Object.html" class="type-name-link external-link" title="Klasse oder Schnittstelle in java.lang">Object</a>
<ul>
<li class="circle">pp.battleship.game.client.<a href="ClientGameLogic.html" class="type-name-link" title="Klasse in pp.battleship.game.client">ClientGameLogic</a> (implements pp.battleship.notification.<a href="../../notification/GameEventBroker.html" title="Schnittstelle in pp.battleship.notification">GameEventBroker</a>, pp.battleship.message.server.<a href="../../message/server/ServerInterpreter.html" title="Schnittstelle in pp.battleship.message.server">ServerInterpreter</a>)</li>
<li class="circle">pp.battleship.game.client.<a href="ShootingAnimationState.html" class="type-name-link" title="Klasse in pp.battleship.game.client">ShootingAnimationState</a></li>
</ul>
</li>
</ul>
</section>
<section class="hierarchy">
<h2 title="Schnittstellenhierarchie">Schnittstellenhierarchie</h2>
<ul>
<li class="circle">pp.battleship.game.client.<a href="BattleshipClient.html" class="type-name-link" title="Schnittstelle in pp.battleship.game.client">BattleshipClient</a></li>
<li class="circle">pp.battleship.game.client.<a href="ClientSender.html" class="type-name-link" title="Schnittstelle in pp.battleship.game.client">ClientSender</a>
<ul>
<li class="circle">pp.battleship.game.client.<a href="ServerConnection.html" class="type-name-link" title="Schnittstelle in pp.battleship.game.client">ServerConnection</a></li>
</ul>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>