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,274 @@
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (20) -->
<title>BattleshipClientConfig (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.singlemode, class: BattleshipClientConfig">
<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><a href="#nested-class-summary">Verschachtelt</a></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><a href="#nested-class-summary">Verschachtelt</a>&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.singlemode</a></div>
<h1 title="Klasse BattleshipClientConfig" class="title">Klasse BattleshipClientConfig</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.util.config.Config
<div class="inheritance"><a href="../../BattleshipConfig.html" title="Klasse in pp.battleship">pp.battleship.BattleshipConfig</a>
<div class="inheritance">pp.battleship.game.singlemode.BattleshipClientConfig</div>
</div>
</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">BattleshipClientConfig</span>
<span class="extends-implements">extends <a href="../../BattleshipConfig.html" title="Klasse in pp.battleship">BattleshipConfig</a></span></div>
<div class="block">Class providing access to the Battleship client configuration.
Extends <a href="../../BattleshipConfig.html" title="Klasse in pp.battleship"><code>BattleshipConfig</code></a> to include additional properties specific to the client.
This class manages configuration settings related to the RobotClient's behavior
and the game maps used in single mode.
<p>
<b>Note:</b> Attributes of this class should not be marked as <code>final</code>
to ensure proper functionality when reading from a properties file.
</p></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<li>
<section class="nested-class-summary" id="nested-class-summary">
<h2>Verschachtelte Klassen - Übersicht</h2>
<div class="inherited-list">
<h2 id="nested-classes-inherited-from-class-pp.util.config.Config">Von Klasse geerbte verschachtelte Klassen/Schnittstellen&nbsp;pp.util.config.Config</h2>
<code>pp.util.config.Config.Property, pp.util.config.Config.Separator</code></div>
</section>
</li>
<!-- ======== 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()" class="member-name-link">BattleshipClientConfig</a>()</code></div>
<div class="col-last even-row-color">
<div class="block">Creates a default <code>BattleshipClientConfig</code> with predefined values.</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>int</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDelay()" class="member-name-link">getDelay</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 delay (in milliseconds) between shots by the RobotClient.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><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></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 file representing 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="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></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 file representing 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><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/util/Iterator.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Iterator</a>&lt;<a href="../../model/IntPoint.html" title="Klasse in pp.battleship.model">IntPoint</a>&gt;</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getRobotTargets()" class="member-name-link">getRobotTargets</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 an iterator of <a href="../../model/IntPoint.html" title="Klasse in pp.battleship.model"><code>IntPoint</code></a> objects representing the predefined
shooting locations for the RobotClient.</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="#isSingleMode()" class="member-name-link">isSingleMode</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Determines if the game is in single mode based on the presence of an opponent map.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-pp.battleship.BattleshipConfig">Von Klasse geerbte Methoden&nbsp;pp.battleship.<a href="../../BattleshipConfig.html" title="Klasse in pp.battleship">BattleshipConfig</a></h3>
<code><a href="../../BattleshipConfig.html#getMapHeight()">getMapHeight</a>, <a href="../../BattleshipConfig.html#getMapWidth()">getMapWidth</a>, <a href="../../BattleshipConfig.html#getPort()">getPort</a>, <a href="../../BattleshipConfig.html#getShipNums()">getShipNums</a></code></div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-pp.util.config.Config">Von Klasse geerbte Methoden&nbsp;pp.util.config.Config</h3>
<code>convertToType, readFrom, readFrom, readFromIfExists, toString</code></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#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;()">
<h3>BattleshipClientConfig</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">BattleshipClientConfig</span>()</div>
<div class="block">Creates a default <code>BattleshipClientConfig</code> with predefined values.</div>
</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="getRobotTargets()">
<h3>getRobotTargets</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/20/docs/api/java.base/java/util/Iterator.html" title="Klasse oder Schnittstelle in java.util" class="external-link">Iterator</a>&lt;<a href="../../model/IntPoint.html" title="Klasse in pp.battleship.model">IntPoint</a>&gt;</span>&nbsp;<span class="element-name">getRobotTargets</span>()</div>
<div class="block">Returns an iterator of <a href="../../model/IntPoint.html" title="Klasse in pp.battleship.model"><code>IntPoint</code></a> objects representing the predefined
shooting locations for the RobotClient.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>an iterator of <code>IntPoint</code> representing the shooting locations.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getDelay()">
<h3>getDelay</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getDelay</span>()</div>
<div class="block">Returns the delay (in milliseconds) between shots by the RobotClient.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>the delay in milliseconds.</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="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></span>&nbsp;<span class="element-name">getOpponentMap</span>()</div>
<div class="block">Returns the file representing the opponent's map.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>the opponent's map file, or <code>null</code> if not set.</dd>
</dl>
</section>
</li>
<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="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></span>&nbsp;<span class="element-name">getOwnMap</span>()</div>
<div class="block">Returns the file representing the player's own map.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd>the player's own map file, or <code>null</code> if not set.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="isSingleMode()">
<h3>isSingleMode</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isSingleMode</span>()</div>
<div class="block">Determines if the game is in single mode based on the presence of an opponent map.</div>
<dl class="notes">
<dt>Gibt zurück:</dt>
<dd><code>true</code> if the opponent map is set, indicating single mode; <code>false</code> otherwise.</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,277 @@
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (20) -->
<title>ServerConnectionMockup (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.singlemode, class: ServerConnectionMockup">
<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.singlemode</a></div>
<h1 title="Klasse ServerConnectionMockup" class="title">Klasse ServerConnectionMockup</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.singlemode.ServerConnectionMockup</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<dt>Alle implementierten Schnittstellen:</dt>
<dd><code><a href="../client/ClientSender.html" title="Schnittstelle in pp.battleship.game.client">ClientSender</a></code>, <code><a href="../client/ServerConnection.html" title="Schnittstelle in pp.battleship.game.client">ServerConnection</a></code>, <code><a href="../server/ServerSender.html" title="Schnittstelle in pp.battleship.game.server">ServerSender</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">ServerConnectionMockup</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="../client/ServerConnection.html" title="Schnittstelle in pp.battleship.game.client">ServerConnection</a>, <a href="../server/ServerSender.html" title="Schnittstelle in pp.battleship.game.server">ServerSender</a></span></div>
<div class="block">A mock implementation of the ServerConnection interface for single mode.
Simulates a server connection without actual network communication.
Handles a mock player named RobotClient and schedules its shots when due.</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.BattleshipClient)" class="member-name-link">ServerConnectionMockup</a><wbr>(<a href="../client/BattleshipClient.html" title="Schnittstelle in pp.battleship.game.client">BattleshipClient</a>&nbsp;playerClient)</code></div>
<div class="col-last even-row-color">
<div class="block">Constructs a ServerConnectionMockup instance for the given Battleship application.</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="#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-tab4">
<div class="block">Simulates connecting to a server by adding the PlayerClient and the RobotClient to the serverGameLogic.</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="#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-tab4">
<div class="block">Does nothing upon shutdown of the app.</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="#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-tab4">
<div class="block">Always returns true as this is a mock connection.</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="#send(int,pp.battleship.message.server.ServerMessage)" class="member-name-link">send</a><wbr>(int&nbsp;id,
<a href="../../message/server/ServerMessage.html" title="Klasse in pp.battleship.message.server">ServerMessage</a>&nbsp;message)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Forwards the specified message received from the server logic either to the player client or to the
robot client, depending on the specified id.</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="#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-tab4">
<div class="block">Forwards the specified message received from the player client to the server logic.</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.BattleshipClient)">
<h3>ServerConnectionMockup</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">ServerConnectionMockup</span><wbr><span class="parameters">(<a href="../client/BattleshipClient.html" title="Schnittstelle in pp.battleship.game.client">BattleshipClient</a>&nbsp;playerClient)</span></div>
<div class="block">Constructs a ServerConnectionMockup instance for the given Battleship application.
Creates a RobotClient instance and an instance of ServerGameLogic.</div>
<dl class="notes">
<dt>Parameter:</dt>
<dd><code>playerClient</code> - The Battleship client instance, e.g., a BattleshipApp instance.</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="isConnected()">
<h3>isConnected</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isConnected</span>()</div>
<div class="block">Always returns true as this is a mock connection.</div>
<dl class="notes">
<dt>Angegeben von:</dt>
<dd><code><a href="../client/ServerConnection.html#isConnected()">isConnected</a></code>&nbsp;in Schnittstelle&nbsp;<code><a href="../client/ServerConnection.html" title="Schnittstelle in pp.battleship.game.client">ServerConnection</a></code></dd>
<dt>Gibt zurück:</dt>
<dd>true, indicating the mock connection is always considered connected.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="connect()">
<h3>connect</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">connect</span>()</div>
<div class="block">Simulates connecting to a server by adding the PlayerClient and the RobotClient to the serverGameLogic.
Loads the map of the PlayerClient and triggers sending it to the serverGameLogic.</div>
<dl class="notes">
<dt>Angegeben von:</dt>
<dd><code><a href="../client/ServerConnection.html#connect()">connect</a></code>&nbsp;in Schnittstelle&nbsp;<code><a href="../client/ServerConnection.html" title="Schnittstelle in pp.battleship.game.client">ServerConnection</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="disconnect()">
<h3>disconnect</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">disconnect</span>()</div>
<div class="block">Does nothing upon shutdown of the app.</div>
<dl class="notes">
<dt>Angegeben von:</dt>
<dd><code><a href="../client/ServerConnection.html#disconnect()">disconnect</a></code>&nbsp;in Schnittstelle&nbsp;<code><a href="../client/ServerConnection.html" title="Schnittstelle in pp.battleship.game.client">ServerConnection</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="send(pp.battleship.message.client.ClientMessage)">
<h3>send</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<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">Forwards the specified message received from the player client to the server logic.</div>
<dl class="notes">
<dt>Angegeben von:</dt>
<dd><code><a href="../client/ClientSender.html#send(pp.battleship.message.client.ClientMessage)">send</a></code>&nbsp;in Schnittstelle&nbsp;<code><a href="../client/ClientSender.html" title="Schnittstelle in pp.battleship.game.client">ClientSender</a></code></dd>
<dt>Parameter:</dt>
<dd><code>message</code> - The message from the player client to be processed.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="send(int,pp.battleship.message.server.ServerMessage)">
<h3>send</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">send</span><wbr><span class="parameters">(int&nbsp;id,
<a href="../../message/server/ServerMessage.html" title="Klasse in pp.battleship.message.server">ServerMessage</a>&nbsp;message)</span></div>
<div class="block">Forwards the specified message received from the server logic either to the player client or to the
robot client, depending on the specified id.</div>
<dl class="notes">
<dt>Angegeben von:</dt>
<dd><code><a href="../server/ServerSender.html#send(int,pp.battleship.message.server.ServerMessage)">send</a></code>&nbsp;in Schnittstelle&nbsp;<code><a href="../server/ServerSender.html" title="Schnittstelle in pp.battleship.game.server">ServerSender</a></code></dd>
<dt>Parameter:</dt>
<dd><code>id</code> - The recipient id</dd>
<dd><code>message</code> - The server message to be processed</dd>
<dt>Siehe auch:</dt>
<dd>
<ul class="tag-list">
<li><code>PLAYER_CLIENT</code></li>
<li><code>ROBOT_CLIENT</code></li>
</ul>
</dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,96 @@
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (20) -->
<title>pp.battleship.game.singlemode (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.singlemode">
<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.singlemode" class="title">Package pp.battleship.game.singlemode</h1>
</div>
<hr>
<div class="package-signature">package <span class="element-name">pp.battleship.game.singlemode</span></div>
<section class="summary">
<ul class="summary-list">
<li>
<div id="class-summary">
<div class="caption"><span>Klassen</span></div>
<div class="summary-table two-column-summary">
<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-tab2"><a href="BattleshipClientConfig.html" title="Klasse in pp.battleship.game.singlemode">BattleshipClientConfig</a></div>
<div class="col-last even-row-color class-summary class-summary-tab2">
<div class="block">Class providing access to the Battleship client configuration.</div>
</div>
<div class="col-first odd-row-color class-summary class-summary-tab2"><a href="ServerConnectionMockup.html" title="Klasse in pp.battleship.game.singlemode">ServerConnectionMockup</a></div>
<div class="col-last odd-row-color class-summary class-summary-tab2">
<div class="block">A mock implementation of the ServerConnection interface for single mode.</div>
</div>
</div>
</div>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>

View File

@@ -0,0 +1,79 @@
<!DOCTYPE HTML>
<html lang="de">
<head>
<!-- Generated by javadoc (20) -->
<title>pp.battleship.game.singlemode 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.singlemode">
<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.singlemode</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.util.config.Config
<ul>
<li class="circle">pp.battleship.<a href="../../BattleshipConfig.html" class="type-name-link" title="Klasse in pp.battleship">BattleshipConfig</a>
<ul>
<li class="circle">pp.battleship.game.singlemode.<a href="BattleshipClientConfig.html" class="type-name-link" title="Klasse in pp.battleship.game.singlemode">BattleshipClientConfig</a></li>
</ul>
</li>
</ul>
</li>
<li class="circle">pp.battleship.game.singlemode.<a href="ServerConnectionMockup.html" class="type-name-link" title="Klasse in pp.battleship.game.singlemode">ServerConnectionMockup</a> (implements pp.battleship.game.client.<a href="../client/ServerConnection.html" title="Schnittstelle in pp.battleship.game.client">ServerConnection</a>, pp.battleship.game.server.<a href="../server/ServerSender.html" title="Schnittstelle in pp.battleship.game.server">ServerSender</a>)</li>
</ul>
</li>
</ul>
</section>
</main>
</div>
</div>
</body>
</html>