From f8ae416fb40f03d9f7ad319209f5e2999bf23705 Mon Sep 17 00:00:00 2001 From: Manuel Thalmann Date: Fri, 23 Dec 2022 20:24:25 +0100 Subject: [PATCH] Add a documentation --- docs/DiagonalDown.png | Bin 0 -> 12894 bytes docs/DiagonalUp.png | Bin 0 -> 13016 bytes docs/Documentation.md | 143 ++++++++++++++++++++++++++++++++++++++++++ docs/Horizontal.png | Bin 0 -> 11620 bytes docs/Preview.png | Bin 0 -> 49490 bytes docs/Vertical.png | Bin 0 -> 11286 bytes 6 files changed, 143 insertions(+) create mode 100644 docs/DiagonalDown.png create mode 100644 docs/DiagonalUp.png create mode 100644 docs/Documentation.md create mode 100644 docs/Horizontal.png create mode 100644 docs/Preview.png create mode 100644 docs/Vertical.png diff --git a/docs/DiagonalDown.png b/docs/DiagonalDown.png new file mode 100644 index 0000000000000000000000000000000000000000..7df7a429be420197816ddd97561317562a7b1a06 GIT binary patch literal 12894 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 literal 0 HcmV?d00001 diff --git a/docs/Documentation.md b/docs/Documentation.md new file mode 100644 index 0000000..225951a --- /dev/null +++ b/docs/Documentation.md @@ -0,0 +1,143 @@ +--- +Header: + Right: ConnectForce +--- +# ConnectForce Dokumentation +> `ConnectForce` ist eine grossartige Umsetzung des allzeit beliebten Spiels namens "4 Gewinnt!". +> In diesem strategisch anspruchsvollen Spiel müssen Spieler ihre Spielsteine möglichst geschickt platzieren, um so 4 von ihnen zu verbinden und sich so als dem Gegner überlegen zu beweisen! +> +> Wirst du dazu imstande sein, über dem IQ und der Geschicklichkeit deines Gegners zu obsiegen? + +Für die Umsetzung von `ConnectForce` wurden Standards und Technologien wie etwa `SJDON`, `SuiWeb`, JavaScript, CSS und HTML verwendet. + +Das Ziel dieses Dokuments ist es, aufzuzeigen, welche Aspekte des Projekts in ihrer Umsetzung herausfordernd waren, wie diese Herausforderungen in Angriff genommen wurden und welche Fortschritte besonders erwähnenswert sind. + +## Das Endprodukt +Das Endprodukt ist ein "4 Gewinnt!" Spiel, welches sich in der Grösse automatisch so skaliert, dass es sich auf jeglichen Geräten übersichtlich betrachten und auch steuern lässt (wie etwa Tablets, Handys, Computer, Ultra Widescreen Monitore etc.). + +Folgender Screenshot zeigt, wie die Anwendung in einem Chromium Browser aussieht: + +![](Preview.png) + +## Features +Die Anwendung bringt einige nennenswerte Funktionen mit sich. Zu diesen zählen folgende: + + - Die Fähigkeit, das Spiel jederzeit neu zu starten + - Die Möglichkeit, das Spiel im lokalen Speicher des Browsers zu speichern und aus diesem zu laden + - Die Funktion, einzelne Änderungen, die am Zustand des Spiels vorgenommen wurden, rückgängig zu machen + +## Nutzung +Die Anwendung wird mit Hilfe der `SJDON`-Notation zur Verfügung gestellt und kann somit problemlos mit der Bibliothek `SuiWeb` dargestellt und ausgeführt werden: + +```js +import { App } from "./Components.js"; +import { render } from "./SuiWeb.js"; + +/** + * Initializes the board. + */ +function initialize() +{ + render([App], document.querySelector("#game")); +} + +initialize(); +``` + +## Herausforderungen +Einige Aspekte des Spiels stellten sich, obwohl es zunächst nicht den Anschein machte, als Herausforderungen heraus. Eine davon wird in diesem Kapitel im Details beschrieben. + +### Bestimmung des Gewinners +Teil der Aufgabe war es, anhand des Zustandes des Spielfelds zu entscheiden, ob und welcher Spieler gewonnen hat. + +Der Weg für die Bestimmung des Gewinners, welcher in diesem Projekt verwendet wurde, wird im Folgenden genauer erklärt. + +#### Grundlagen +Es gibt genau 4 verschiedene Arten, in denen Figuren zueinander stehen können: + +| Bezeichnung | Relative Koordinaten | +| --------------------- | -------------------- | +| Horizontal | `[0, 1]` | +| Vertikal | `[1, 0]` | +| Diagonal (nach unten) | `[1, 1]` | +| Diagonal (nach oben) | `[1, -1]` | + +Folgende Bilder dienen der Illustration: + + - Horizontal: + ![](./Horizontal.png) + - Vertikal: + ![](./Vertical.png) + - Diagonal (nach unten): + ![](./DiagonalDown.png) + - Diagonal (nach oben): + ![](./DiagonalUp.png) + +Der Fakt, dass Chips nur in diesen 4 Relationen auftreten können, wird genutzt, um mit Hilfe mehrerer Iterationen zu prüfen, ob sich jeweils 4 Felder mit den genannten relativen Koordinaten zueinander in Relation stehen. + +Für die Kontrolle, ob eine Person gewonnen hat, wird folgender Algorithmus verwendet: + +```js +// Iterate over all possible relative coordinates. +for (let yOffset = 0; yOffset <= 1; yOffset++) +{ + for (let xOffset = (yOffset === 1) ? -1 : 1; xOffset <= 1; xOffset++) + { + // Calculate upper and lower bounds of the x-axis. + let lowerBound = Math.max(0, xOffset * (Game.#count - 1) * -1); + let upperBound = Math.min(Game.#width, Game.#width - (xOffset * (Game.#count - 1))); + + // Iterate over all possible x- and y-coordinates. + for (let y = 0; y < (Game.#height - yOffset * (Game.#count - 1)); y++) + { + for (let x = lowerBound; x < upperBound; x++) + { + /** + * @type {CellOwner[]} + */ + let tokens = []; + + // Generate a list of all tokens in the current scope. + for (let i = 0; i < Game.#count; i++) + { + tokens.push(this.board[y + i * yOffset][x + i * xOffset]); + } + + let player = tokens[0]; + + // Check whether the tokens indicate a win. + if ( + player !== "" && + tokens.every((token) => token === player)) + { + return player; + } + } + } + } +} + +return null; +``` + +Dieser Algorithmus ist dazu imstande, zu bestimmen, ob und welcher Spieler gewonnen hat. Dies funktioniert unabhängig davon, ob die Steine horizontal, vertikal oder diagonal verbunden sind. + +Einige Kommentare im Code sollen dabei behilflich sein, die Funktionalität zu verstehen. + +## Umsetzung +Für das Umsetzen des Projekts wurde die Notation `SJDON` verwendet zusammen mit der ausgelieferten Bibliothek `SuiWeb` verwendet. + +Komponenten mit Besonderheiten werden im folgenden Kapitel genauer beschrieben. + +### Komponenten +#### App +Die App-Komponente beinhaltet das gesamte Spiel-Konstrukt, zeigt den aktuellen Zustand des Spiels an und verarbeitet Interaktionen, die der Benutzer mit dem Spiel macht. + +Dies beinhaltet alle zuvor genannten Funktionen und das Vollziehen eines Spielzuges. + +Zudem wird ein zum Aufrufenden ideal passendes Produkt in einem Werbungs-Banner angezeigt. + +## MenuBar +Die Menü-Leiste erlaubt es dem Besucher, die von ihm gewünschten Funktionen auszuführen. + +Sollte eine Funktion nicht verfügbar sein, wird dies dem Nutzer auf verständlicher Weise angezeigt. diff --git a/docs/Horizontal.png b/docs/Horizontal.png new file mode 100644 index 0000000000000000000000000000000000000000..a09b09f38992536f27b41da39eda9528bcb8b16d GIT binary patch literal 11620 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 KYgVc|M*J6Y{NpqL literal 0 HcmV?d00001 diff --git a/docs/Preview.png b/docs/Preview.png new file mode 100644 index 0000000000000000000000000000000000000000..47be6b6f05c69cdb918c4a0779df26bab3e2ab38 GIT binary patch literal 49490 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 KWB%uu(Z2vA2(8!v literal 0 HcmV?d00001 diff --git a/docs/Vertical.png b/docs/Vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..1060fbd91db69f6ead7e27e998299a96151682d1 GIT binary patch literal 11286 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