Compare commits

...

5 Commits

Author SHA1 Message Date
beratkocak 12c0c1fa30 ? 2024-12-22 19:12:54 +01:00
beratkocak 598c6ae7e7 test git 2024-12-22 19:08:45 +01:00
beratkocak d3cb2550ce trying something 2024-12-22 18:57:40 +01:00
beratkocak fa7718f668 test 2024-12-22 15:45:20 +01:00
beratkocak a0cc6306e4 test 2024-12-22 15:44:33 +01:00
60 changed files with 3267 additions and 58 deletions

View File

@ -1,11 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-17">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="source"/>
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
<classpathentry kind="output" path="bin"/>
<!-- JRE System Library -->
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-21">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<!-- JUnit Library -->
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/5"/>
<!-- Main Source Folder -->
<classpathentry kind="src" output="target/classes" path="src/main/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<!-- Test Source Folder -->
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
<attributes>
<attribute name="optional" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="test" value="true"/>
</attributes>
</classpathentry>
<!-- Test Resources -->
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
<attributes>
<attribute name="test" value="true"/>
<attribute name="maven.pomderived" value="true"/>
<attribute name="optional" value="true"/>
</attributes>
</classpathentry>
<!-- Maven Dependencies -->
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<!-- Output Folder -->
<classpathentry kind="output" path="target/classes"/>
</classpath>

View File

@ -10,8 +10,14 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.m2e.core.maven2Nature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -1,7 +1,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.hs_mannheim</groupId>
<artifactId>MvnDemo</artifactId>
<groupId>de.hs_mannheim.informatik</groupId>
<artifactId>Hitori</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
@ -61,7 +61,7 @@
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass> de.hs_mannheim.informatik.mvn.Main</mainClass>
<mainClass>src.main.java</mainClass>
</transformer>
</transformers>
</configuration>
@ -110,7 +110,7 @@
<sourceDirectory>src/main/java</sourceDirectory>
<resources>
<resource>
<directory>src/main/resources</directory>
<directory>src/test/java</directory>
</resource>
</resources>
<testSourceDirectory>src/test/java</testSourceDirectory>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Entry</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">MvnDemo</a> &gt; <a href="index.html" class="el_package">de.hs_mannheim.informatik.mvn</a> &gt; <span class="el_class">Entry</span></div><h1>Entry</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">9 of 9</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">1</td><td class="ctr2">1</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">1</td><td class="ctr2">1</td></tr></tfoot><tbody><tr><td id="a0"><a href="Main.java.html#L692" class="el_method">Entry(LocalTime, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="9" alt="9"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">4</td><td class="ctr2" id="i0">4</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LogDemo</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">MvnDemo</a> &gt; <a href="index.html" class="el_package">de.hs_mannheim.informatik.mvn</a> &gt; <span class="el_class">LogDemo</span></div><h1>LogDemo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">25 of 25</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">9</td><td class="ctr2">9</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="Main.java.html#L703" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="17" alt="17"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">7</td><td class="ctr2" id="i0">7</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="Main.java.html#L700" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="35" height="10" title="5" alt="5"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="Main.java.html#L699" class="el_method">LogDemo()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="21" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LogTest</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">MvnDemo</a> &gt; <a href="index.html" class="el_package">de.hs_mannheim.informatik.mvn</a> &gt; <span class="el_class">LogTest</span></div><h1>LogTest</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">90 of 90</td><td class="ctr2">0%</td><td class="bar">2 of 2</td><td class="ctr2">0%</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">24</td><td class="ctr2">24</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="LogTest.java.html#L14" class="el_method">newRecord(String, String, String)</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="83" alt="83"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="2" alt="2"/></td><td class="ctr2" id="e0">0%</td><td class="ctr1" id="f0">2</td><td class="ctr2" id="g0">2</td><td class="ctr1" id="h0">22</td><td class="ctr2" id="i0">22</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a2"><a href="LogTest.java.html#L11" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">1</td><td class="ctr2" id="i1">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a0"><a href="LogTest.java.html#L10" class="el_method">LogTest()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="4" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

View File

@ -0,0 +1,40 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>LogTest.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">MvnDemo</a> &gt; <a href="index.source.html" class="el_package">de.hs_mannheim.informatik.mvn</a> &gt; <span class="el_source">LogTest.java</span></div><h1>LogTest.java</h1><pre class="source lang-java linenums">package de.hs_mannheim.informatik.mvn;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
<span class="nc" id="L10">public class LogTest {</span>
<span class="nc" id="L11"> private static final Logger logger = LogManager.getLogger(LogTest.class);</span>
public static void newRecord(String path, String username, String time) throws FileNotFoundException {
<span class="nc" id="L14"> String timePart = time.substring(&quot;Zeit: &quot;.length()).trim();</span>
<span class="nc" id="L15"> String[] parts = path.split(&quot;/&quot;);</span>
<span class="nc" id="L16"> String filename = parts[parts.length - 1];</span>
<span class="nc" id="L17"> int dotIndex = filename.lastIndexOf(&quot;.&quot;);</span>
<span class="nc" id="L18"> String result = filename.substring(0, dotIndex);</span>
<span class="nc" id="L19"> String ordner = &quot;C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Highscores/&quot;;</span>
<span class="nc" id="L20"> String filetype = &quot;.txt&quot;;</span>
<span class="nc" id="L21"> String filepath = ordner + result + filetype;</span>
<span class="nc" id="L22"> System.out.println(&quot;A: &quot; + filepath);</span>
<span class="nc" id="L23"> Scanner sc = new Scanner(filepath);</span>
<span class="nc bnc" id="L24" title="All 2 branches missed."> while (sc.hasNextLine()) {</span>
<span class="nc" id="L25"> sc.nextLine();</span>
}
<span class="nc" id="L27"> sc.close();</span>
<span class="nc" id="L29"> try (BufferedWriter writer = new BufferedWriter(new FileWriter(filepath, true))) {</span>
<span class="nc" id="L30"> String eintrag = timePart + &quot; &quot; + username;</span>
<span class="nc" id="L31"> logger.info(&quot;Neuer Eintrag: {}&quot;, eintrag);</span>
<span class="nc" id="L33"> writer.write(eintrag);</span>
<span class="nc" id="L34"> writer.newLine();</span>
<span class="nc" id="L35"> } catch (IOException e) {</span>
<span class="nc" id="L36"> logger.error(&quot;Fehler beim Schreiben in die Datei: &quot; + filepath, e);</span>
<span class="nc" id="L37"> }</span>
<span class="nc" id="L38"> }</span>
}
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Main.new TimerTask() {...}</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">MvnDemo</a> &gt; <a href="index.html" class="el_package">de.hs_mannheim.informatik.mvn</a> &gt; <span class="el_class">Main.new TimerTask() {...}</span></div><h1>Main.new TimerTask() {...}</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">51 of 51</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">3</td><td class="ctr2">3</td><td class="ctr1">11</td><td class="ctr2">11</td><td class="ctr1">3</td><td class="ctr2">3</td></tr></tfoot><tbody><tr><td id="a1"><a href="Main.java.html#L346" class="el_method">run()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="37" alt="37"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">6</td><td class="ctr2" id="i0">6</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="Main.java.html#L352" class="el_method">lambda$run$0(JLabel, String)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="25" height="10" title="8" alt="8"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">4</td><td class="ctr2" id="i1">4</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="Main.java.html#L343" class="el_method">{...}</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="19" height="10" title="6" alt="6"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,714 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>Main.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">MvnDemo</a> &gt; <a href="index.source.html" class="el_package">de.hs_mannheim.informatik.mvn</a> &gt; <span class="el_source">Main.java</span></div><h1>Main.java</h1><pre class="source lang-java linenums">package de.hs_mannheim.informatik.mvn;
import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.nio.file.Paths;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.EmptyStackException;
import java.util.Scanner;
import java.util.Stack;
import java.util.Timer;
import java.util.TimerTask;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
public class Main extends JFrame implements ActionListener {
<span class="fc" id="L36"> private static String[] filepath = {&quot;&quot;, &quot;&quot;};</span>
<span class="fc" id="L37"> private static CardLayout cl = new CardLayout();</span>
<span class="fc" id="L38"> private static JPanel main = new JPanel(cl);</span>
<span class="fc" id="L39"> private static Timer timer = new Timer(); </span>
private static long startTime;
private static long elapsedSeconds;
public static void main(String[] args) throws FileNotFoundException {
<span class="nc" id="L44"> new Main();</span>
<span class="nc" id="L45"> }</span>
<span class="fc" id="L47"> public Main(){</span>
<span class="fc" id="L48"> JPanel menuPanel = new JPanel(new BorderLayout());</span>
<span class="fc" id="L49"> JPanel buttonPanel = new JPanel(new GridLayout(7,1,10,10));</span>
<span class="fc" id="L50"> String[] buttons = {</span>
&quot;4x4 - leicht&quot;,
&quot;5x5 - leicht&quot;,
&quot;8x8 - leicht&quot;,
&quot;8x8 - medium&quot;,
&quot;10x10 - medium&quot;,
&quot;15x15 - medium&quot;
};
<span class="fc bfc" id="L58" title="All 2 branches covered."> for(int i=0;i&lt;buttons.length;i++){</span>
<span class="fc" id="L59"> JButton b0 = new JButton(buttons[i]);</span>
<span class="fc" id="L60"> buttonPanel.add(b0);</span>
<span class="fc" id="L61"> int[] count = {i};</span>
<span class="fc" id="L62"> String[] num = buttons[i].split(&quot;x&quot;); </span>
<span class="fc" id="L63"> b0.addActionListener(e -&gt; {</span>
<span class="nc" id="L64"> int j = count[0];</span>
<span class="nc" id="L65"> String currentDirectory = Paths.get(&quot;&quot;).toAbsolutePath().toString();</span>
<span class="nc" id="L66"> System.out.println(&quot;Current Working Directory: &quot; + currentDirectory);</span>
<span class="nc" id="L67"> String[] paths = {</span>
&quot;C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Spielfelder/Hitori4x4_leicht.csv&quot;,
&quot;C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Spielfelder/Hitori5x5leicht.csv&quot;,
&quot;C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Spielfelder/Hitori8x8leicht.csv&quot;,
&quot;C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Spielfelder/Hitori8x8medium.csv&quot;,
&quot;C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Spielfelder/Hitori10x10medium.csv&quot;,
&quot;C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Spielfelder/Hitori15x15_medium.csv&quot;
};
<span class="nc" id="L76"> System.out.println(&quot;Current Working Directory: &quot; + Paths.get(&quot;&quot;).toAbsolutePath());</span>
<span class="nc bnc" id="L78" title="All 2 branches missed."> for (String path : paths) {</span>
<span class="nc" id="L79"> File file = new File(path);</span>
<span class="nc bnc" id="L80" title="All 2 branches missed."> if (file.exists()) {</span>
<span class="nc" id="L81"> System.out.println(&quot;File found: &quot; + file.getAbsolutePath());</span>
} else {
<span class="nc" id="L83"> System.out.println(&quot;File not found: &quot; + file.getAbsolutePath());</span>
}
}
<span class="nc" id="L88"> filepath[0] = paths[j];</span>
<span class="nc" id="L89"> filepath[1] = num[0];</span>
try{
<span class="nc" id="L91"> ablauf(filepath);</span>
<span class="nc" id="L92"> } catch (FileNotFoundException s){</span>
<span class="nc" id="L93"> System.out.println(&quot;Fehler: &quot; + s.getMessage());</span>
<span class="nc" id="L94"> }</span>
<span class="nc" id="L95"> });</span>
}
<span class="fc" id="L97"> JButton b = new JButton(&quot;Highscores&quot;);</span>
<span class="fc" id="L98"> b.addActionListener(e -&gt; {</span>
<span class="nc" id="L99"> highscoreScreen();</span>
<span class="nc" id="L100"> });</span>
<span class="fc" id="L101"> buttonPanel.add(b);</span>
<span class="fc" id="L102"> menuPanel.add(buttonPanel, BorderLayout.CENTER);</span>
<span class="fc" id="L103"> JLabel text0 = new JLabel(&quot;Wählen Sie ein Level aus!&quot;);</span>
<span class="fc" id="L104"> menuPanel.add(text0, BorderLayout.NORTH);</span>
//add(menuPanel);
<span class="fc" id="L106"> setVisible(true);</span>
<span class="fc" id="L107"> setSize(600, 600);</span>
<span class="fc" id="L108"> setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</span>
<span class="fc" id="L109"> add(main);</span>
<span class="fc" id="L110"> main.add(menuPanel, &quot;HAUPT&quot;);</span>
<span class="fc" id="L111"> cl.show(main, &quot;HAUPT&quot;);</span>
<span class="fc" id="L112"> }</span>
public static void ablauf(String[] filepath) throws FileNotFoundException{
<span class="nc" id="L115"> Stack&lt;String&gt; madeMoves = new Stack&lt;&gt;();</span>
<span class="nc" id="L116"> String[][] data = getData(filepath[0], Integer.parseInt(filepath[1]));</span>
<span class="nc" id="L117"> String[][] colors = makeColorArray(data.length);</span>
<span class="nc" id="L118"> JButton[][] buttons = makeButtonArray(data);</span>
<span class="nc" id="L119"> paintGame(filepath, buttons, colors, madeMoves, data);</span>
<span class="nc" id="L120"> }</span>
private static void highscoreScreen(){
<span class="nc" id="L123"> JPanel highscorePanel = new JPanel(new BorderLayout());</span>
<span class="nc" id="L124"> JPanel buttonPanel = new JPanel(new GridLayout(7,1,10,10));</span>
<span class="nc" id="L125"> String[] buttons = {</span>
&quot;Highscore 4x4 - leicht&quot;,
&quot;Highscore 5x5 - leicht&quot;,
&quot;Highscore 8x8 - leicht&quot;,
&quot;Highscore 8x8 - medium&quot;,
&quot;Highscore 10x10 - medium&quot;,
&quot;Highscore 15x15 - medium&quot;
};
<span class="nc bnc" id="L133" title="All 2 branches missed."> for(int i=0; i&lt;buttons.length;i++){</span>
<span class="nc" id="L134"> JButton b0 = new JButton(buttons[i]);</span>
<span class="nc" id="L135"> buttonPanel.add(b0);</span>
<span class="nc" id="L136"> int[] count = {i};</span>
<span class="nc" id="L137"> b0.addActionListener(e -&gt; {</span>
<span class="nc" id="L138"> int j = count[0];</span>
<span class="nc" id="L139"> String[] paths = {</span>
&quot;C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Highscores/Hitori4x4_leicht.txt&quot;,
&quot;C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Highscores/Hitori5x5leicht.txt&quot;,
&quot;C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Highscores/Hitori8x8leicht.txt&quot;,
&quot;C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Highscores/Hitori8x8medium.txt&quot;,
&quot;C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Highscores/Hitori10x10medium.txt&quot;,
&quot;C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Highscores/Hitori15x15_medium.txt&quot;
};
try {
<span class="nc" id="L148"> showHighscores(paths[j]);</span>
<span class="nc" id="L149"> } catch (FileNotFoundException e1) {</span>
<span class="nc" id="L150"> e1.printStackTrace();</span>
<span class="nc" id="L151"> } catch (IOException e1) {</span>
<span class="nc" id="L152"> e1.printStackTrace();</span>
<span class="nc" id="L153"> }</span>
<span class="nc" id="L154"> });</span>
}
<span class="nc" id="L156"> JButton b = new JButton(&quot;Zurück&quot;);</span>
<span class="nc" id="L157"> b.addActionListener(e -&gt; {</span>
<span class="nc" id="L158"> cl.show(main, &quot;HAUPT&quot;); </span>
<span class="nc" id="L159"> });</span>
<span class="nc" id="L160"> buttonPanel.add(b);</span>
<span class="nc" id="L161"> highscorePanel.setVisible(true);</span>
<span class="nc" id="L162"> highscorePanel.setSize(600,600);</span>
<span class="nc" id="L163"> highscorePanel.add(buttonPanel, BorderLayout.CENTER);</span>
<span class="nc" id="L164"> JLabel text0 = new JLabel(&quot;Level für Highscore Liste auswählen!&quot;);</span>
<span class="nc" id="L165"> highscorePanel.add(text0, BorderLayout.NORTH);</span>
<span class="nc" id="L166"> main.add(highscorePanel, &quot;HIGHSCORES&quot;);</span>
<span class="nc" id="L167"> cl.show(main, &quot;HIGHSCORES&quot;);</span>
<span class="nc" id="L168"> }</span>
private static void sortByTime(String path) throws FileNotFoundException, IOException{
<span class="nc" id="L171"> File file = new File(path);</span>
<span class="nc" id="L172"> ArrayList&lt;Entry&gt; entries = new ArrayList&lt;&gt;();</span>
<span class="nc" id="L174"> try (BufferedReader br = new BufferedReader(new FileReader(file))) {</span>
String line;
<span class="nc bnc" id="L176" title="All 2 branches missed."> while ((line = br.readLine()) != null) {</span>
<span class="nc" id="L177"> String[] parts = line.split(&quot; &quot;, 2); </span>
<span class="nc" id="L178"> String timeStr = parts[0];</span>
<span class="nc bnc" id="L179" title="All 2 branches missed."> String name = parts.length &gt; 1 ? parts[1] : &quot;&quot;;</span>
<span class="nc" id="L181"> String[] timeParts = timeStr.split(&quot;:&quot;);</span>
<span class="nc" id="L182"> int hour = Integer.parseInt(timeParts[0]);</span>
<span class="nc" id="L183"> int minute = Integer.parseInt(timeParts[1]);</span>
<span class="nc" id="L184"> LocalTime time = LocalTime.of(hour, minute);</span>
<span class="nc" id="L186"> entries.add(new Entry(time, name));</span>
<span class="nc" id="L187"> }</span>
}
<span class="nc" id="L190"> entries.sort(Comparator.comparing(e -&gt; e.time));</span>
<span class="nc" id="L192"> try (BufferedWriter bw = new BufferedWriter(new FileWriter(file))) {</span>
<span class="nc bnc" id="L193" title="All 2 branches missed."> for (Entry e : entries) {</span>
<span class="nc" id="L194"> String formattedTime = String.format(&quot;%02d:%02d&quot;, e.time.getHour(), e.time.getMinute());</span>
<span class="nc" id="L195"> bw.write(formattedTime + &quot; &quot; + e.name);</span>
<span class="nc" id="L196"> bw.newLine();</span>
<span class="nc" id="L197"> }</span>
}
<span class="nc" id="L199"> }</span>
private static void showHighscores(String path) throws FileNotFoundException, IOException{
<span class="nc" id="L202"> sortByTime(path);</span>
<span class="nc" id="L203"> JPanel mainPanel = new JPanel(new BorderLayout());</span>
<span class="nc" id="L204"> File file = new File(path);</span>
<span class="nc" id="L205"> int i = 0;</span>
<span class="nc" id="L206"> try (Scanner scanner = new Scanner(file)) {</span>
<span class="nc bnc" id="L207" title="All 2 branches missed."> while (scanner.hasNextLine()) {</span>
<span class="nc" id="L208"> scanner.nextLine();</span>
<span class="nc" id="L209"> i++;</span>
}
<span class="nc" id="L211"> } catch (FileNotFoundException e) {</span>
<span class="nc" id="L212"> e.printStackTrace();</span>
<span class="nc" id="L213"> }</span>
<span class="nc" id="L214"> JPanel highscorePanel = new JPanel(new GridLayout(i,1,10,10));</span>
<span class="nc bnc" id="L215" title="All 2 branches missed."> if(i&gt;0){</span>
<span class="nc" id="L216"> ArrayList&lt;String&gt; lines = readFromFile(path);</span>
<span class="nc bnc" id="L217" title="All 2 branches missed."> for(String s: lines){</span>
<span class="nc" id="L218"> JLabel text = new JLabel(s);</span>
<span class="nc" id="L219"> highscorePanel.add(text);</span>
<span class="nc" id="L220"> }</span>
<span class="nc" id="L221"> JButton b = new JButton(&quot;Zurück&quot;);</span>
<span class="nc" id="L222"> b.addActionListener(e -&gt; {</span>
<span class="nc" id="L223"> cl.show(main, &quot;HIGHSCORES&quot;);</span>
<span class="nc" id="L224"> highscoreScreen();</span>
<span class="nc" id="L225"> });</span>
<span class="nc" id="L226"> mainPanel.add(b, BorderLayout.SOUTH);</span>
<span class="nc" id="L227"> } else {</span>
<span class="nc" id="L228"> JLabel text = new JLabel(&quot;Noch kein Highscore eingetragen.&quot;);</span>
<span class="nc" id="L229"> highscorePanel.add(text);</span>
<span class="nc" id="L230"> JButton b = new JButton(&quot;Zurück&quot;);</span>
<span class="nc" id="L231"> b.addActionListener(e -&gt; {</span>
<span class="nc" id="L232"> cl.show(main, &quot;HIGHSCORES&quot;);</span>
<span class="nc" id="L233"> highscoreScreen();</span>
<span class="nc" id="L234"> });</span>
<span class="nc" id="L235"> mainPanel.add(b, BorderLayout.SOUTH);</span>
}
<span class="nc" id="L237"> mainPanel.add(highscorePanel, BorderLayout.CENTER);</span>
<span class="nc" id="L238"> mainPanel.setVisible(true);</span>
<span class="nc" id="L239"> mainPanel.setSize(600,600);</span>
<span class="nc" id="L240"> main.add(mainPanel, &quot;HIGHSCORES&quot;);</span>
<span class="nc" id="L241"> cl.show(main, &quot;HIGHSCORES&quot;);</span>
<span class="nc" id="L242"> }</span>
private static ArrayList&lt;String&gt; readFromFile(String path){
<span class="nc" id="L245"> ArrayList&lt;String&gt; lines = new ArrayList&lt;&gt;();</span>
<span class="nc" id="L246"> try (BufferedReader reader = new BufferedReader(new FileReader(path))) {</span>
String line;
<span class="nc bnc" id="L248" title="All 2 branches missed."> while ((line = reader.readLine()) != null) {</span>
<span class="nc" id="L249"> lines.add(line);</span>
}
<span class="nc" id="L251"> } catch (IOException e) {</span>
<span class="nc" id="L252"> e.printStackTrace();</span>
<span class="nc" id="L253"> }</span>
<span class="nc" id="L254"> return lines;</span>
}
private static String[][] getData(String filepath, int rows) throws FileNotFoundException{
<span class="nc" id="L258"> String filepath0 = filepath;</span>
<span class="nc" id="L259"> Scanner sc = new Scanner(new File(filepath0));</span>
<span class="nc" id="L260"> String[][] data = new String[rows][rows];</span>
<span class="nc" id="L261"> int rowInt = 0;</span>
<span class="nc bnc" id="L262" title="All 4 branches missed."> while (sc.hasNextLine() &amp;&amp; rowInt &lt; rows) {</span>
<span class="nc" id="L263"> String line = sc.nextLine();</span>
<span class="nc" id="L264"> data[rowInt] = line.split(&quot;,&quot;);</span>
<span class="nc" id="L265"> rowInt++;</span>
<span class="nc" id="L266"> }</span>
<span class="nc" id="L267"> sc.close();</span>
<span class="nc" id="L268"> return data;</span>
}
public static String[][] makeColorArray(int size){
<span class="fc" id="L272"> String[][] colors = new String[size][size];</span>
<span class="fc bfc" id="L273" title="All 2 branches covered."> for(int i=0;i&lt;size;i++){</span>
<span class="fc bfc" id="L274" title="All 2 branches covered."> for(int j=0;j&lt;size;j++){</span>
<span class="fc" id="L275"> colors[i][j] = &quot;W&quot;;</span>
}
}
<span class="fc" id="L278"> return colors;</span>
}
private static JButton[][] makeButtonArray(String[][] data){
<span class="nc" id="L282"> JButton[][] buttons = new JButton[data.length][data.length];</span>
<span class="nc bnc" id="L283" title="All 2 branches missed."> for(int i=0;i&lt;data.length;i++){</span>
<span class="nc bnc" id="L284" title="All 2 branches missed."> for(int j=0;j&lt;data.length;j++){</span>
<span class="nc" id="L285"> String number = data[i][j];</span>
<span class="nc" id="L286"> JButton b0 = new JButton(number);</span>
<span class="nc" id="L287"> buttons[i][j] = b0;</span>
}
}
<span class="nc" id="L290"> return buttons;</span>
}
public static void paintGame(String[] filepath, JButton[][] buttons, String[][] colors, Stack&lt;String&gt; madeMoves, String[][] data) throws FileNotFoundException{
<span class="nc" id="L294"> elapsedSeconds = 0;</span>
<span class="nc" id="L295"> System.out.println(&quot;BB: &quot; + filepath[0]);</span>
<span class="nc" id="L296"> System.out.println(&quot;BB: &quot; + filepath[1]);</span>
<span class="nc" id="L297"> int num = buttons.length;</span>
<span class="nc" id="L298"> JPanel gameGrid = new JPanel(new GridLayout(num,num,0,0));</span>
<span class="nc bnc" id="L299" title="All 2 branches missed."> for(int i=0;i&lt;num;i++){</span>
<span class="nc bnc" id="L300" title="All 2 branches missed."> for(int j=0;j&lt;num;j++){</span>
<span class="nc" id="L301"> JButton b = buttons[i][j];</span>
<span class="nc" id="L302"> b.setOpaque(true);</span>
<span class="nc" id="L303"> b.setContentAreaFilled(true);</span>
<span class="nc" id="L304"> b.setBorderPainted(false);</span>
<span class="nc" id="L305"> b.setFocusPainted(false);</span>
<span class="nc" id="L306"> b.setBackground(Color.WHITE);</span>
<span class="nc" id="L307"> gameGrid.add(b);</span>
<span class="nc" id="L308"> String[] pos = getCords(i,j); </span>
<span class="nc" id="L309"> b.addActionListener(e -&gt; {paintButton(b, pos, colors , madeMoves);});</span>
}
}
<span class="nc" id="L312"> JPanel mainPanel = new JPanel(new BorderLayout());</span>
<span class="nc" id="L313"> mainPanel.add(gameGrid, BorderLayout.CENTER);</span>
<span class="nc" id="L314"> JPanel buttonGrid = new JPanel(new GridLayout(1,4,10,10));</span>
<span class="nc" id="L315"> JButton b0 = new JButton(&quot;Aufgeben&quot;);</span>
<span class="nc" id="L316"> b0.addActionListener(e -&gt; {</span>
<span class="nc" id="L317"> filepath[0] = &quot;&quot;;</span>
<span class="nc" id="L318"> filepath[1] = &quot;&quot;; </span>
<span class="nc" id="L319"> cl.show(main, &quot;HAUPT&quot;);</span>
<span class="nc" id="L320"> });</span>
<span class="nc" id="L321"> JButton b1 = new JButton(&quot;Zurück&quot;);</span>
<span class="nc" id="L322"> b1.addActionListener(e -&gt; {backOneStep(madeMoves, buttons, colors, gameGrid);});</span>
<span class="nc" id="L323"> JButton b2 = new JButton(&quot;Zurücksetzen&quot;);</span>
<span class="nc" id="L324"> b2.addActionListener(e -&gt; {try {</span>
<span class="nc" id="L325"> totalResetButton(buttons, colors, madeMoves, data);</span>
<span class="nc" id="L326"> } catch (FileNotFoundException e1) {</span>
<span class="nc" id="L327"> e1.printStackTrace();</span>
<span class="nc" id="L328"> }});</span>
<span class="nc" id="L329"> JButton b3 = new JButton(&quot;Abgeben&quot;);</span>
<span class="nc" id="L330"> String path = filepath[0];</span>
<span class="nc" id="L332"> boolean[] levelFinished = {false};</span>
<span class="nc" id="L333"> JPanel topGrid = new JPanel(new GridLayout(1,2,10,10));</span>
<span class="nc" id="L334"> mainPanel.add(topGrid, BorderLayout.NORTH);</span>
<span class="nc" id="L335"> JLabel timeLabel = new JLabel(&quot;Zeit: 00:00&quot;);</span>
<span class="nc" id="L336"> topGrid.add(timeLabel);</span>
<span class="nc" id="L337"> topGrid.revalidate();</span>
<span class="nc" id="L338"> topGrid.repaint();</span>
<span class="nc" id="L339"> boolean isOkay = abgabeMöglich(path, data, colors);</span>
<span class="nc" id="L340"> levelFinished[0] = isOkay; </span>
<span class="nc" id="L341"> Timer timer = new Timer();</span>
<span class="nc" id="L342"> startTimer();</span>
<span class="nc" id="L343"> timer.scheduleAtFixedRate(new TimerTask() {</span>
@Override
public void run() {
<span class="nc" id="L346"> elapsedSeconds = (System.currentTimeMillis() - startTime) / 1000;</span>
<span class="nc" id="L347"> long minutes = (elapsedSeconds % 3600) / 60;</span>
<span class="nc" id="L348"> long seconds = elapsedSeconds % 60;</span>
<span class="nc" id="L349"> String newTime = String.format(&quot;Zeit: %02d:%02d&quot;, minutes, seconds);</span>
<span class="nc" id="L351"> SwingUtilities.invokeLater(() -&gt; {</span>
<span class="nc" id="L352"> timeLabel.setText(newTime);</span>
<span class="nc" id="L353"> timeLabel.revalidate();</span>
<span class="nc" id="L354"> timeLabel.repaint();</span>
<span class="nc" id="L355"> });</span>
<span class="nc" id="L356"> }</span>
}, 0, 1000);
<span class="nc" id="L359"> JLabel luecke = new JLabel(&quot;&quot;);</span>
<span class="nc" id="L360"> topGrid.add(luecke);</span>
<span class="nc" id="L362"> b3.addActionListener(e -&gt; {</span>
try {
<span class="nc" id="L364"> levelFinished[0] = abgabeMöglich(path, data, colors);</span>
<span class="nc" id="L365"> System.out.println(&quot;0000: &quot; + levelFinished[0]);</span>
<span class="nc" id="L366"> } catch (FileNotFoundException e1) {</span>
<span class="nc" id="L367"> e1.printStackTrace();</span>
<span class="nc" id="L368"> }</span>
<span class="nc bnc" id="L369" title="All 2 branches missed."> if (levelFinished[0] == true) {</span>
<span class="nc" id="L370"> System.out.println(&quot;1111: &quot; + levelFinished[0]);</span>
<span class="nc" id="L371"> String endtime = stopTimer();</span>
<span class="nc" id="L372"> timer.cancel();</span>
try {
<span class="nc" id="L374"> finish(endtime, filepath, path, data, colors);</span>
<span class="nc" id="L375"> } catch (FileNotFoundException e1) {</span>
<span class="nc" id="L376"> e1.printStackTrace();</span>
<span class="nc" id="L377"> }</span>
<span class="nc" id="L378"> } else {</span>
<span class="nc" id="L379"> System.out.println(&quot;2222: &quot; + levelFinished[0]);</span>
<span class="nc" id="L380"> luecke.setText(&quot;Abgabe nicht richtig!&quot;);</span>
<span class="nc" id="L381"> mainPanel.revalidate();</span>
<span class="nc" id="L382"> mainPanel.repaint();</span>
}
<span class="nc" id="L384"> });</span>
<span class="nc" id="L386"> buttonGrid.add(b0);buttonGrid.add(b1);buttonGrid.add(b2);buttonGrid.add(b3);</span>
<span class="nc" id="L387"> mainPanel.add(buttonGrid, BorderLayout.SOUTH);</span>
<span class="nc" id="L388"> mainPanel.setVisible(true);</span>
<span class="nc" id="L389"> main.add(mainPanel, &quot;GAME&quot;);</span>
<span class="nc" id="L390"> cl.show(main, &quot;GAME&quot;);</span>
<span class="nc" id="L391"> }</span>
private static String startTimer() {
<span class="nc" id="L394"> startTime = System.currentTimeMillis();</span>
<span class="nc" id="L395"> elapsedSeconds = 0; </span>
<span class="nc" id="L396"> return &quot;Zeit: 00:00&quot;;</span>
}
private static String stopTimer() {
<span class="nc" id="L400"> timer.cancel();</span>
<span class="nc" id="L401"> long minutes = (elapsedSeconds % 3600) / 60;</span>
<span class="nc" id="L402"> long seconds = elapsedSeconds % 60;</span>
<span class="nc" id="L403"> String endtime = String.format(&quot;Zeit: %02d:%02d&quot;, minutes, seconds);</span>
<span class="nc" id="L404"> elapsedSeconds = 0; // Reset so the next start begins at zero</span>
<span class="nc" id="L405"> return endtime;</span>
}
private static boolean abgabeMöglich(String path, String[][] data, String[][] colors) throws FileNotFoundException{
<span class="nc" id="L409"> boolean abgabeMöglich = false;</span>
<span class="nc" id="L410"> String[][] result = getResult(data, colors);</span>
<span class="nc" id="L411"> System.out.println(&quot;RESULT&quot;);</span>
<span class="nc" id="L412"> printWholeCSV(path);</span>
<span class="nc" id="L413"> ArrayList&lt;String&gt; filteredData = getSolution(path, result);</span>
<span class="nc" id="L414"> String[][] ergebnis1 = getErgebnisArray(result, filteredData);</span>
<span class="nc" id="L415"> System.out.println(&quot;ERGEBNIS&quot;);</span>
<span class="nc" id="L416"> int count = 0;</span>
<span class="nc bnc" id="L417" title="All 2 branches missed."> for(int i=0;i&lt;result.length;i++){</span>
<span class="nc bnc" id="L418" title="All 2 branches missed."> for(int j=0;j&lt;result.length;j++){</span>
<span class="nc bnc" id="L419" title="All 2 branches missed."> if(result[i][j].equals(ergebnis1[i][j])){</span>
} else {
<span class="nc" id="L421"> count--;</span>
}
}
}
<span class="nc bnc" id="L425" title="All 2 branches missed."> if(count &lt;0){</span>
<span class="nc" id="L426"> abgabeMöglich = false;</span>
} else {
<span class="nc" id="L428"> abgabeMöglich = true;</span>
}
<span class="nc" id="L430"> return abgabeMöglich;</span>
}
public static void printWholeCSV(String path) {
<span class="nc" id="L434"> System.out.println(&quot;NOW PRINTING ALL&quot;);</span>
<span class="nc" id="L435"> try (BufferedReader br = new BufferedReader(new FileReader(path))) {</span>
String line;
<span class="nc bnc" id="L437" title="All 2 branches missed."> while ((line = br.readLine()) != null) {</span>
<span class="nc" id="L438"> System.out.println(line);</span>
}
<span class="nc" id="L440"> } catch (IOException e) {</span>
<span class="nc" id="L441"> System.out.println(&quot;An error occurred while reading the file: &quot; + e.getMessage());</span>
<span class="nc" id="L442"> }</span>
<span class="nc" id="L443"> System.out.println(&quot;DONE PRINTING ALL&quot;);</span>
<span class="nc" id="L444"> }</span>
private static void paintButton(JButton b, String[] pos, String[][] colors, Stack&lt;String&gt; madeMoves){
<span class="nc" id="L447"> int i = Integer.parseInt(pos[0]);</span>
<span class="nc" id="L448"> int j = Integer.parseInt(pos[1]);</span>
<span class="nc" id="L449"> String col = colors[Integer.parseInt(pos[0])][Integer.parseInt(pos[1])];</span>
<span class="nc bnc" id="L450" title="All 2 branches missed."> if(col.endsWith(&quot;W&quot;)){</span>
<span class="nc" id="L451"> b.setOpaque(true);</span>
<span class="nc" id="L452"> b.setForeground(Color.BLACK);</span>
<span class="nc" id="L453"> b.setContentAreaFilled(true);</span>
<span class="nc" id="L454"> b.setBorderPainted(false);</span>
<span class="nc" id="L455"> b.setFocusPainted(false);</span>
<span class="nc" id="L456"> b.setBackground(Color.lightGray);</span>
<span class="nc" id="L457"> colors[i][j] += &quot;G&quot;;</span>
<span class="nc" id="L458"> String logEntrance = i+&quot;.&quot;+j+&quot;.&quot;+&quot;G&quot;;</span>
<span class="nc" id="L459"> madeMoves.push(logEntrance);</span>
}
<span class="nc bnc" id="L461" title="All 2 branches missed."> if(col.endsWith(&quot;G&quot;)){</span>
<span class="nc" id="L462"> b.setOpaque(true);</span>
<span class="nc" id="L463"> b.setForeground(Color.WHITE);</span>
<span class="nc" id="L464"> b.setContentAreaFilled(true);</span>
<span class="nc" id="L465"> b.setBorderPainted(false);</span>
<span class="nc" id="L466"> b.setFocusPainted(false);</span>
<span class="nc" id="L467"> b.setBackground(Color.BLACK);</span>
<span class="nc" id="L468"> colors[i][j] += &quot;B&quot;;</span>
<span class="nc" id="L469"> String logEntrance = i+&quot;.&quot;+j+&quot;.&quot;+&quot;B&quot;;</span>
<span class="nc" id="L470"> madeMoves.push(logEntrance);</span>
}
<span class="nc bnc" id="L472" title="All 2 branches missed."> if(col.endsWith(&quot;B&quot;)){</span>
<span class="nc" id="L473"> b.setOpaque(true);</span>
<span class="nc" id="L474"> b.setForeground(Color.BLACK);</span>
<span class="nc" id="L475"> b.setContentAreaFilled(true);</span>
<span class="nc" id="L476"> b.setBorderPainted(false);</span>
<span class="nc" id="L477"> b.setFocusPainted(false);</span>
<span class="nc" id="L478"> b.setBackground(Color.WHITE);</span>
<span class="nc" id="L479"> colors[i][j] += &quot;W&quot;;</span>
<span class="nc" id="L480"> String logEntrance = i+&quot;.&quot;+j+&quot;.&quot;+&quot;W&quot;;</span>
<span class="nc" id="L481"> madeMoves.push(logEntrance);</span>
}
<span class="nc" id="L483"> }</span>
private static String[] getCords(int i, int j){
<span class="nc" id="L486"> String yKoordinate = String.valueOf(i);</span>
<span class="nc" id="L487"> String xKoordinate = String.valueOf(j);</span>
<span class="nc" id="L488"> String[] pos = {yKoordinate, xKoordinate};</span>
<span class="nc" id="L489"> return pos;</span>
}
public static void backOneStep(Stack&lt;String&gt; movesMade, JButton[][] buttons, String[][] colors, JPanel grid){
try {
<span class="nc" id="L494"> String move = movesMade.pop();</span>
<span class="nc" id="L495"> String[] line = move.split(&quot;\\.&quot;);</span>
<span class="nc" id="L496"> String y = line[0];</span>
<span class="nc" id="L497"> String x = line[1];</span>
<span class="nc" id="L498"> String color = line[2];</span>
<span class="nc bnc" id="L499" title="All 2 branches missed."> if(color.equals(&quot;W&quot;)){</span>
<span class="nc" id="L500"> int i = Integer.parseInt(y);</span>
<span class="nc" id="L501"> int j = Integer.parseInt(x);</span>
<span class="nc" id="L502"> JButton b0 = buttons[i][j];</span>
<span class="nc" id="L503"> b0.setOpaque(true);</span>
<span class="nc" id="L504"> b0.setForeground(Color.WHITE);</span>
<span class="nc" id="L505"> b0.setContentAreaFilled(true);</span>
<span class="nc" id="L506"> b0.setBorderPainted(false);</span>
<span class="nc" id="L507"> b0.setFocusPainted(false);</span>
<span class="nc" id="L508"> b0.setBackground(Color.BLACK);</span>
<span class="nc" id="L509"> buttons[i][j] = b0;</span>
<span class="nc" id="L510"> String str = colors[i][j]; </span>
<span class="nc" id="L511"> String str0 = str.substring(0, str.length() - 1);</span>
<span class="nc" id="L512"> colors[i][j] = str0;</span>
<span class="nc" id="L513"> grid.repaint();</span>
<span class="nc" id="L514"> gridUpdate(grid, buttons);</span>
<span class="nc bnc" id="L515" title="All 2 branches missed."> }else if(color.equals(&quot;G&quot;)){</span>
<span class="nc" id="L516"> int i = Integer.parseInt(y);</span>
<span class="nc" id="L517"> int j = Integer.parseInt(x);</span>
<span class="nc" id="L518"> JButton b0 = buttons[i][j];</span>
<span class="nc" id="L519"> b0.setOpaque(true);</span>
<span class="nc" id="L520"> b0.setForeground(Color.BLACK);</span>
<span class="nc" id="L521"> b0.setContentAreaFilled(true);</span>
<span class="nc" id="L522"> b0.setBorderPainted(false);</span>
<span class="nc" id="L523"> b0.setFocusPainted(false);</span>
<span class="nc" id="L524"> b0.setBackground(Color.WHITE);</span>
<span class="nc" id="L525"> buttons[i][j] = b0;</span>
<span class="nc" id="L526"> String str = colors[i][j]; </span>
<span class="nc" id="L527"> String str0 = str.substring(0, str.length() - 1);</span>
<span class="nc" id="L528"> colors[i][j] = str0;</span>
<span class="nc" id="L529"> gridUpdate(grid, buttons);</span>
<span class="nc bnc" id="L530" title="All 2 branches missed."> } else if(color.equals(&quot;B&quot;)){</span>
<span class="nc" id="L531"> int i = Integer.parseInt(y);</span>
<span class="nc" id="L532"> int j = Integer.parseInt(x);</span>
<span class="nc" id="L533"> JButton b0 = buttons[i][j];</span>
<span class="nc" id="L534"> b0.setOpaque(true);</span>
<span class="nc" id="L535"> b0.setForeground(Color.BLACK);</span>
<span class="nc" id="L536"> b0.setContentAreaFilled(true);</span>
<span class="nc" id="L537"> b0.setBorderPainted(false);</span>
<span class="nc" id="L538"> b0.setFocusPainted(false);</span>
<span class="nc" id="L539"> b0.setBackground(Color.lightGray);</span>
<span class="nc" id="L540"> buttons[i][j] = b0;</span>
<span class="nc" id="L541"> String str = colors[i][j]; </span>
<span class="nc" id="L542"> String str0 = str.substring(0, str.length() - 1);</span>
<span class="nc" id="L543"> colors[i][j] = str0;</span>
<span class="nc" id="L544"> gridUpdate(grid, buttons);</span>
}
<span class="nc" id="L546"> } catch(EmptyStackException e) {} </span>
<span class="nc" id="L547"> }</span>
private static void gridUpdate(JPanel grid, JButton[][] buttons){
<span class="nc" id="L550"> grid.removeAll();</span>
<span class="nc" id="L551"> grid.repaint();</span>
<span class="nc bnc" id="L552" title="All 2 branches missed."> for(int i = 0; i&lt;buttons.length; i++){</span>
<span class="nc bnc" id="L553" title="All 2 branches missed."> for(int j = 0; j&lt;buttons.length;j++){</span>
<span class="nc" id="L554"> JButton b0 = buttons[i][j];</span>
<span class="nc" id="L555"> grid.add(b0);</span>
<span class="nc" id="L556"> grid.repaint();</span>
}
}
<span class="nc" id="L559"> }</span>
private static void totalResetButton(JButton[][] buttons, String[][] colors,Stack&lt;String&gt; madeMoves,String[][] data) throws FileNotFoundException{
<span class="nc" id="L562"> madeMoves.clear();</span>
<span class="nc bnc" id="L563" title="All 2 branches missed."> for(int i = 0; i&lt;data.length;i++){</span>
<span class="nc bnc" id="L564" title="All 2 branches missed."> for(int j = 0; j&lt;data.length;j++){</span>
<span class="nc" id="L565"> colors[i][j] = &quot;W&quot;;</span>
<span class="nc" id="L566"> buttons[i][j] = null;</span>
}
<span class="nc" id="L568"> JButton[][] buttons0 = makeButtonArray(data);</span>
<span class="nc" id="L569"> paintGame(filepath, buttons0, colors, madeMoves, data); </span>
}
<span class="nc" id="L571"> }</span>
private static String[][] getResult(String[][] data, String[][] colors){
<span class="nc" id="L574"> String[][] result = new String[data.length][data.length];</span>
<span class="nc bnc" id="L575" title="All 2 branches missed."> for(int i=0;i&lt;data.length;i++){</span>
<span class="nc bnc" id="L576" title="All 2 branches missed."> for(int j=0;j&lt;data.length;j++){</span>
<span class="nc" id="L577"> String farben = colors[i][j];</span>
<span class="nc" id="L578"> String lastColor = String.valueOf(farben.charAt(farben.length() - 1));</span>
<span class="nc bnc" id="L579" title="All 2 branches missed."> if(lastColor.equals(&quot;G&quot;)){</span>
<span class="nc" id="L580"> lastColor = &quot;W&quot;;</span>
}
<span class="nc" id="L582"> result[i][j] = lastColor;</span>
}
}
<span class="nc" id="L585"> System.out.println(&quot;AAAAAAAA&quot;);</span>
<span class="nc" id="L586"> return result;</span>
}
private static ArrayList&lt;String&gt; getSolution(String path, String[][] result) throws FileNotFoundException {
<span class="nc" id="L590"> Scanner sc = new Scanner(new File(path)); </span>
<span class="nc" id="L591"> ArrayList&lt;String&gt; filteredData = new ArrayList&lt;&gt;();</span>
<span class="nc" id="L592"> boolean isUnderComment = false;</span>
<span class="nc bnc" id="L593" title="All 2 branches missed."> while (sc.hasNextLine()) {</span>
<span class="nc" id="L594"> String line = sc.nextLine().trim();</span>
<span class="nc bnc" id="L595" title="All 2 branches missed."> if (line.equals(&quot;//Lösung (schwarze Felder)&quot;)) {</span>
<span class="nc" id="L596"> isUnderComment = true; </span>
<span class="nc" id="L597"> continue;</span>
}
<span class="nc bnc" id="L599" title="All 4 branches missed."> if (isUnderComment &amp;&amp; !line.isEmpty()) {</span>
<span class="nc" id="L600"> String[] lineArray = line.split(&quot;,&quot;);</span>
<span class="nc" id="L601"> int num1 = Integer.parseInt(lineArray[0]);</span>
<span class="nc" id="L602"> int num2 = Integer.parseInt(lineArray[1]);</span>
<span class="nc" id="L603"> String newNum1 = String.valueOf(num1-1);</span>
<span class="nc" id="L604"> String newNum2 = String.valueOf(num2-1);</span>
<span class="nc" id="L605"> String newLine = newNum1+&quot;,&quot;+newNum2;</span>
<span class="nc" id="L606"> filteredData.add(newLine);</span>
}
<span class="nc" id="L608"> }</span>
<span class="nc" id="L609"> sc.close();</span>
<span class="nc" id="L610"> System.out.println(&quot;BBBBBB&quot;);</span>
<span class="nc" id="L611"> System.out.println(filteredData);</span>
<span class="nc" id="L612"> return filteredData;</span>
}
private static String[][] getErgebnisArray(String[][] result, ArrayList&lt;String&gt; filteredData){
<span class="nc" id="L616"> String[][] ergebnis = new String[result.length][result.length];</span>
<span class="nc bnc" id="L617" title="All 2 branches missed."> for(int i=0;i&lt;result.length;i++){</span>
<span class="nc bnc" id="L618" title="All 2 branches missed."> for(int j=0;j&lt;result.length;j++){</span>
<span class="nc" id="L619"> ergebnis[i][j] = &quot;W&quot;;</span>
}
}
<span class="nc bnc" id="L622" title="All 2 branches missed."> for (String index : filteredData) { </span>
<span class="nc" id="L623"> String[] parts = index.split(&quot;,&quot;);</span>
<span class="nc" id="L624"> int row = Integer.parseInt(parts[0].trim());</span>
<span class="nc" id="L625"> int col = Integer.parseInt(parts[1].trim());</span>
<span class="nc bnc" id="L626" title="All 8 branches missed."> if (row &gt;= 0 &amp;&amp; row &lt; ergebnis.length &amp;&amp; col &gt;= 0 &amp;&amp; col &lt; ergebnis[row].length) {</span>
<span class="nc" id="L627"> ergebnis[row][col] = &quot;B&quot;; </span>
}
<span class="nc" id="L629"> }</span>
<span class="nc" id="L630"> System.out.println(&quot;ERGEBNISMETHODE&quot;);</span>
<span class="nc" id="L631"> return ergebnis;</span>
}
public static void finish(String endtime, String[] filepath, String path, String[][] data, String[][] colors) throws FileNotFoundException{
<span class="nc" id="L635"> JPanel mainPanel = new JPanel(new BorderLayout());</span>
<span class="nc" id="L636"> JLabel text = new JLabel(&quot;Geben Sie unten Ihren Namen an um sich in der Highscore Liste einzutragen.&quot;);</span>
<span class="nc" id="L637"> mainPanel.add(text, BorderLayout.NORTH);</span>
<span class="nc" id="L638"> JTextField field = new JTextField(20);</span>
<span class="nc" id="L639"> mainPanel.add(field, BorderLayout.CENTER);</span>
<span class="nc" id="L640"> JButton b = new JButton(&quot;In der Highscore Liste eintragen&quot;);</span>
<span class="nc" id="L641"> mainPanel.add(b, BorderLayout.SOUTH);</span>
<span class="nc" id="L642"> mainPanel.setVisible(true);</span>
<span class="nc" id="L643"> mainPanel.setSize(600,600);</span>
<span class="nc" id="L644"> b.addActionListener(e -&gt; {</span>
<span class="nc" id="L645"> String username = field.getText();</span>
try {
<span class="nc" id="L647"> LogTest.newRecord(path, username, endtime);</span>
<span class="nc" id="L648"> filepath[0] = &quot;&quot;;</span>
<span class="nc" id="L649"> filepath[1] = &quot;&quot;;</span>
<span class="nc" id="L650"> cl.show(main, &quot;HAUPT&quot;);</span>
<span class="nc" id="L651"> } catch (FileNotFoundException e1) {</span>
<span class="nc" id="L652"> e1.printStackTrace();</span>
<span class="nc" id="L653"> } </span>
<span class="nc" id="L654"> });</span>
<span class="nc" id="L655"> main.add(mainPanel, &quot;HIGHSCORENEU&quot;);</span>
<span class="nc" id="L656"> cl.show(main, &quot;HIGHSCORENEU&quot;);</span>
<span class="nc" id="L657"> }</span>
// private static void newRecord(String path, String username, String time) throws FileNotFoundException{
// String timePart = time.substring(&quot;Zeit: &quot;.length()).trim();
// String[] parts = path.split(&quot;/&quot;);
// String filename = parts[parts.length - 1];
// int dotIndex = filename.lastIndexOf(&quot;.&quot;);
// String result = filename.substring(0, dotIndex);
// String ordner = &quot;Hitori_Highscores/&quot;;
// String filetype = &quot;.txt&quot;;
// String filepath = ordner+result+filetype;
// Scanner sc = new Scanner(filepath);
// while (sc.hasNextLine()) {
// sc.nextLine();
// }
// sc.close();
// try (BufferedWriter writer = new BufferedWriter(new FileWriter(filepath, true))) {
// String eintrag = timePart + &quot; &quot; + username;
// System.out.println(eintrag);
// writer.write(timePart + &quot; &quot; + username);
// writer.newLine();
// } catch (IOException e) {
// e.printStackTrace();
// }
// }
@Override
public void actionPerformed(ActionEvent e){
<span class="nc" id="L685"> }</span>
}
class Entry {
LocalTime time;
String name;
<span class="nc" id="L692"> Entry(LocalTime time, String name) {</span>
<span class="nc" id="L693"> this.time = time;</span>
<span class="nc" id="L694"> this.name = name;</span>
<span class="nc" id="L695"> }</span>
}
<span class="nc" id="L699">class LogDemo{</span>
<span class="nc" id="L700"> private static final Logger log = Logger.getLogger(LogDemo.class.getName());</span>
public static void main(String[] args){
<span class="nc" id="L703"> log.info(&quot;LOS GEHTS!&quot;);</span>
try {
<span class="nc" id="L706"> ((Object) null).toString();</span>
<span class="nc" id="L707"> } catch (Exception e) {</span>
<span class="nc" id="L708"> log.log(Level.SEVERE, &quot;oh oh&quot;, e);</span>
<span class="nc" id="L709"> }</span>
<span class="nc" id="L711"> log.info(&quot;GING GUT.&quot;);</span>
<span class="nc" id="L712"> }</span>
}
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PrintArray</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">MvnDemo</a> &gt; <a href="index.html" class="el_package">de.hs_mannheim.informatik.mvn</a> &gt; <span class="el_class">PrintArray</span></div><h1>PrintArray</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">16 of 16</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a0"><a href="PrintArray.java.html#L9" class="el_method">logExample()</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="7" alt="7"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a3"><a href="PrintArray.java.html#L6" class="el_method">static {...}</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="68" height="10" title="4" alt="4"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a2"><a href="PrintArray.java.html#L5" class="el_method">PrintArray()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="51" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a1"><a href="PrintArray.java.html#L14" class="el_method">main(String[])</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="34" height="10" title="2" alt="2"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>PrintArray.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">MvnDemo</a> &gt; <a href="index.source.html" class="el_package">de.hs_mannheim.informatik.mvn</a> &gt; <span class="el_source">PrintArray.java</span></div><h1>PrintArray.java</h1><pre class="source lang-java linenums">package de.hs_mannheim.informatik.mvn;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
<span class="nc" id="L5">public class PrintArray {</span>
<span class="nc" id="L6"> private static final Logger logger = LogManager.getLogger(PrintArray.class);</span>
public static void logExample() {
<span class="nc" id="L9"> logger.info(&quot;This is an informational message.&quot;);</span>
<span class="nc" id="L10"> logger.error(&quot;This is an error message.&quot;);</span>
<span class="nc" id="L11"> }</span>
public static void main(String[] args) {
<span class="nc" id="L14"> logExample(); // Test logging</span>
<span class="nc" id="L15"> }</span>
}
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>hitori</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">MvnDemo</a> &gt; <a href="index.html" class="el_package">de.hs_mannheim.informatik.mvn</a> &gt; <span class="el_class">hitori</span></div><h1>hitori</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">29 of 29</td><td class="ctr2">0%</td><td class="bar">0 of 0</td><td class="ctr2">n/a</td><td class="ctr1">4</td><td class="ctr2">4</td><td class="ctr1">7</td><td class="ctr2">7</td><td class="ctr1">4</td><td class="ctr2">4</td></tr></tfoot><tbody><tr><td id="a2"><a href="hitori.java.html#L10" class="el_method">main(String[])</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="120" height="10" title="12" alt="12"/></td><td class="ctr2" id="c0">0%</td><td class="bar" id="d0"/><td class="ctr2" id="e0">n/a</td><td class="ctr1" id="f0">1</td><td class="ctr2" id="g0">1</td><td class="ctr1" id="h0">3</td><td class="ctr2" id="i0">3</td><td class="ctr1" id="j0">1</td><td class="ctr2" id="k0">1</td></tr><tr><td id="a0"><a href="hitori.java.html#L16" class="el_method">add(int, int)</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="110" height="10" title="11" alt="11"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"/><td class="ctr2" id="e1">n/a</td><td class="ctr1" id="f1">1</td><td class="ctr2" id="g1">1</td><td class="ctr1" id="h1">2</td><td class="ctr2" id="i1">2</td><td class="ctr1" id="j1">1</td><td class="ctr2" id="k1">1</td></tr><tr><td id="a1"><a href="hitori.java.html#L6" class="el_method">hitori()</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="3" alt="3"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">1</td><td class="ctr2" id="g2">1</td><td class="ctr1" id="h2">1</td><td class="ctr2" id="i2">1</td><td class="ctr1" id="j2">1</td><td class="ctr2" id="k2">1</td></tr><tr><td id="a3"><a href="hitori.java.html#L7" class="el_method">static {...}</a></td><td class="bar" id="b3"><img src="../jacoco-resources/redbar.gif" width="30" height="10" title="3" alt="3"/></td><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">1</td><td class="ctr2" id="g3">1</td><td class="ctr1" id="h3">1</td><td class="ctr2" id="i3">1</td><td class="ctr1" id="j3">1</td><td class="ctr2" id="k3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

View File

@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>hitori.java</title><link rel="stylesheet" href="../jacoco-resources/prettify.css" type="text/css"/><script type="text/javascript" src="../jacoco-resources/prettify.js"></script></head><body onload="window['PR_TAB_WIDTH']=4;prettyPrint()"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">MvnDemo</a> &gt; <a href="index.source.html" class="el_package">de.hs_mannheim.informatik.mvn</a> &gt; <span class="el_source">hitori.java</span></div><h1>hitori.java</h1><pre class="source lang-java linenums">package de.hs_mannheim.informatik.mvn;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.LogManager;
<span class="nc" id="L6">public class hitori {</span>
<span class="nc" id="L7"> private static final Logger LOG = LogManager.getLogger();</span>
public static void main(String[] args) {
<span class="nc" id="L10"> LOG.info(&quot;Hallo Maven, Gitea &amp; Jenkins!?&quot;);</span>
<span class="nc" id="L12"> System.out.println(new hitori().add(3, 4));</span>
<span class="nc" id="L13"> }</span>
public int add(int a, int b) {
<span class="nc" id="L16"> LOG.info(&quot;a = {}, b = {}&quot;, a, b);</span>
<span class="nc" id="L18"> return a + b;</span>
}
}
</pre><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="../jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="../jacoco-resources/report.gif" type="image/gif"/><title>de.hs_mannheim.informatik.mvn</title><script type="text/javascript" src="../jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="index.html" class="el_class">Classes</a><a href="../jacoco-sessions.html" class="el_session">Sessions</a></span><a href="../index.html" class="el_report">MvnDemo</a> &gt; <span class="el_package">de.hs_mannheim.informatik.mvn</span></div><h1>de.hs_mannheim.informatik.mvn</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2,101 of 2,284</td><td class="ctr2">8%</td><td class="bar">94 of 100</td><td class="ctr2">6%</td><td class="ctr1">101</td><td class="ctr2">107</td><td class="ctr1">487</td><td class="ctr2">519</td><td class="ctr1">54</td><td class="ctr2">57</td><td class="ctr1">6</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a2"><a href="Main.java.html" class="el_source">Main.java</a></td><td class="bar" id="b0"><img src="../jacoco-resources/redbar.gif" width="109" height="10" title="1,966" alt="1,966"/><img src="../jacoco-resources/greenbar.gif" width="10" height="10" title="183" alt="183"/></td><td class="ctr2" id="c0">8%</td><td class="bar" id="d0"><img src="../jacoco-resources/redbar.gif" width="112" height="10" title="92" alt="92"/><img src="../jacoco-resources/greenbar.gif" width="7" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">6%</td><td class="ctr1" id="f0">89</td><td class="ctr2" id="g0">95</td><td class="ctr1" id="h0">449</td><td class="ctr2" id="i0">481</td><td class="ctr1" id="j0">43</td><td class="ctr2" id="k0">46</td><td class="ctr1" id="l0">3</td><td class="ctr2" id="m0">4</td></tr><tr><td id="a1"><a href="LogTest.java.html" class="el_source">LogTest.java</a></td><td class="bar" id="b1"><img src="../jacoco-resources/redbar.gif" width="5" height="10" title="90" alt="90"/></td><td class="ctr2" id="c1">0%</td><td class="bar" id="d1"><img src="../jacoco-resources/redbar.gif" width="2" height="10" title="2" alt="2"/></td><td class="ctr2" id="e1">0%</td><td class="ctr1" id="f1">4</td><td class="ctr2" id="g1">4</td><td class="ctr1" id="h1">24</td><td class="ctr2" id="i1">24</td><td class="ctr1" id="j3">3</td><td class="ctr2" id="k3">3</td><td class="ctr1" id="l1">1</td><td class="ctr2" id="m1">1</td></tr><tr><td id="a0"><a href="hitori.java.html" class="el_source">hitori.java</a></td><td class="bar" id="b2"><img src="../jacoco-resources/redbar.gif" width="1" height="10" title="29" alt="29"/></td><td class="ctr2" id="c2">0%</td><td class="bar" id="d2"/><td class="ctr2" id="e2">n/a</td><td class="ctr1" id="f2">4</td><td class="ctr2" id="g2">4</td><td class="ctr1" id="h2">7</td><td class="ctr2" id="i2">7</td><td class="ctr1" id="j1">4</td><td class="ctr2" id="k1">4</td><td class="ctr1" id="l2">1</td><td class="ctr2" id="m2">1</td></tr><tr><td id="a3"><a href="PrintArray.java.html" class="el_source">PrintArray.java</a></td><td class="bar" id="b3"/><td class="ctr2" id="c3">0%</td><td class="bar" id="d3"/><td class="ctr2" id="e3">n/a</td><td class="ctr1" id="f3">4</td><td class="ctr2" id="g3">4</td><td class="ctr1" id="h3">7</td><td class="ctr2" id="i3">7</td><td class="ctr1" id="j2">4</td><td class="ctr2" id="k2">4</td><td class="ctr1" id="l3">1</td><td class="ctr2" id="m3">1</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/><link rel="stylesheet" href="jacoco-resources/report.css" type="text/css"/><link rel="shortcut icon" href="jacoco-resources/report.gif" type="image/gif"/><title>MvnDemo</title><script type="text/javascript" src="jacoco-resources/sort.js"></script></head><body onload="initialSort(['breadcrumb', 'coveragetable'])"><div class="breadcrumb" id="breadcrumb"><span class="info"><a href="jacoco-sessions.html" class="el_session">Sessions</a></span><span class="el_report">MvnDemo</span></div><h1>MvnDemo</h1><table class="coverage" cellspacing="0" id="coveragetable"><thead><tr><td class="sortable" id="a" onclick="toggleSort(this)">Element</td><td class="down sortable bar" id="b" onclick="toggleSort(this)">Missed Instructions</td><td class="sortable ctr2" id="c" onclick="toggleSort(this)">Cov.</td><td class="sortable bar" id="d" onclick="toggleSort(this)">Missed Branches</td><td class="sortable ctr2" id="e" onclick="toggleSort(this)">Cov.</td><td class="sortable ctr1" id="f" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="g" onclick="toggleSort(this)">Cxty</td><td class="sortable ctr1" id="h" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="i" onclick="toggleSort(this)">Lines</td><td class="sortable ctr1" id="j" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="k" onclick="toggleSort(this)">Methods</td><td class="sortable ctr1" id="l" onclick="toggleSort(this)">Missed</td><td class="sortable ctr2" id="m" onclick="toggleSort(this)">Classes</td></tr></thead><tfoot><tr><td>Total</td><td class="bar">2,101 of 2,284</td><td class="ctr2">8%</td><td class="bar">94 of 100</td><td class="ctr2">6%</td><td class="ctr1">101</td><td class="ctr2">107</td><td class="ctr1">487</td><td class="ctr2">519</td><td class="ctr1">54</td><td class="ctr2">57</td><td class="ctr1">6</td><td class="ctr2">7</td></tr></tfoot><tbody><tr><td id="a0"><a href="de.hs_mannheim.informatik.mvn/index.html" class="el_package">de.hs_mannheim.informatik.mvn</a></td><td class="bar" id="b0"><img src="jacoco-resources/redbar.gif" width="110" height="10" title="2,101" alt="2,101"/><img src="jacoco-resources/greenbar.gif" width="9" height="10" title="183" alt="183"/></td><td class="ctr2" id="c0">8%</td><td class="bar" id="d0"><img src="jacoco-resources/redbar.gif" width="112" height="10" title="94" alt="94"/><img src="jacoco-resources/greenbar.gif" width="7" height="10" title="6" alt="6"/></td><td class="ctr2" id="e0">6%</td><td class="ctr1" id="f0">101</td><td class="ctr2" id="g0">107</td><td class="ctr1" id="h0">487</td><td class="ctr2" id="i0">519</td><td class="ctr1" id="j0">54</td><td class="ctr2" id="k0">57</td><td class="ctr1" id="l0">6</td><td class="ctr2" id="m0">7</td></tr></tbody></table><div class="footer"><span class="right">Created with <a href="http://www.jacoco.org/jacoco">JaCoCo</a> 0.8.12.202403310830</span></div></body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 709 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 586 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 351 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 227 B

View File

@ -0,0 +1,13 @@
/* Pretty printing styles. Used with prettify.js. */
.str { color: #2A00FF; }
.kwd { color: #7F0055; font-weight:bold; }
.com { color: #3F5FBF; }
.typ { color: #606; }
.lit { color: #066; }
.pun { color: #660; }
.pln { color: #000; }
.tag { color: #008; }
.atn { color: #606; }
.atv { color: #080; }
.dec { color: #606; }

File diff suppressed because it is too large Load Diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 91 B

View File

@ -0,0 +1,243 @@
body, td {
font-family:sans-serif;
font-size:10pt;
}
h1 {
font-weight:bold;
font-size:18pt;
}
.breadcrumb {
border:#d6d3ce 1px solid;
padding:2px 4px 2px 4px;
}
.breadcrumb .info {
float:right;
}
.breadcrumb .info a {
margin-left:8px;
}
.el_report {
padding-left:18px;
background-image:url(report.gif);
background-position:left center;
background-repeat:no-repeat;
}
.el_group {
padding-left:18px;
background-image:url(group.gif);
background-position:left center;
background-repeat:no-repeat;
}
.el_bundle {
padding-left:18px;
background-image:url(bundle.gif);
background-position:left center;
background-repeat:no-repeat;
}
.el_package {
padding-left:18px;
background-image:url(package.gif);
background-position:left center;
background-repeat:no-repeat;
}
.el_class {
padding-left:18px;
background-image:url(class.gif);
background-position:left center;
background-repeat:no-repeat;
}
.el_source {
padding-left:18px;
background-image:url(source.gif);
background-position:left center;
background-repeat:no-repeat;
}
.el_method {
padding-left:18px;
background-image:url(method.gif);
background-position:left center;
background-repeat:no-repeat;
}
.el_session {
padding-left:18px;
background-image:url(session.gif);
background-position:left center;
background-repeat:no-repeat;
}
pre.source {
border:#d6d3ce 1px solid;
font-family:monospace;
}
pre.source ol {
margin-bottom: 0px;
margin-top: 0px;
}
pre.source li {
border-left: 1px solid #D6D3CE;
color: #A0A0A0;
padding-left: 0px;
}
pre.source span.fc {
background-color:#ccffcc;
}
pre.source span.nc {
background-color:#ffaaaa;
}
pre.source span.pc {
background-color:#ffffcc;
}
pre.source span.bfc {
background-image: url(branchfc.gif);
background-repeat: no-repeat;
background-position: 2px center;
}
pre.source span.bfc:hover {
background-color:#80ff80;
}
pre.source span.bnc {
background-image: url(branchnc.gif);
background-repeat: no-repeat;
background-position: 2px center;
}
pre.source span.bnc:hover {
background-color:#ff8080;
}
pre.source span.bpc {
background-image: url(branchpc.gif);
background-repeat: no-repeat;
background-position: 2px center;
}
pre.source span.bpc:hover {
background-color:#ffff80;
}
table.coverage {
empty-cells:show;
border-collapse:collapse;
}
table.coverage thead {
background-color:#e0e0e0;
}
table.coverage thead td {
white-space:nowrap;
padding:2px 14px 0px 6px;
border-bottom:#b0b0b0 1px solid;
}
table.coverage thead td.bar {
border-left:#cccccc 1px solid;
}
table.coverage thead td.ctr1 {
text-align:right;
border-left:#cccccc 1px solid;
}
table.coverage thead td.ctr2 {
text-align:right;
padding-left:2px;
}
table.coverage thead td.sortable {
cursor:pointer;
background-image:url(sort.gif);
background-position:right center;
background-repeat:no-repeat;
}
table.coverage thead td.up {
background-image:url(up.gif);
}
table.coverage thead td.down {
background-image:url(down.gif);
}
table.coverage tbody td {
white-space:nowrap;
padding:2px 6px 2px 6px;
border-bottom:#d6d3ce 1px solid;
}
table.coverage tbody tr:hover {
background: #f0f0d0 !important;
}
table.coverage tbody td.bar {
border-left:#e8e8e8 1px solid;
}
table.coverage tbody td.ctr1 {
text-align:right;
padding-right:14px;
border-left:#e8e8e8 1px solid;
}
table.coverage tbody td.ctr2 {
text-align:right;
padding-right:14px;
padding-left:2px;
}
table.coverage tfoot td {
white-space:nowrap;
padding:2px 6px 2px 6px;
}
table.coverage tfoot td.bar {
border-left:#e8e8e8 1px solid;
}
table.coverage tfoot td.ctr1 {
text-align:right;
padding-right:14px;
border-left:#e8e8e8 1px solid;
}
table.coverage tfoot td.ctr2 {
text-align:right;
padding-right:14px;
padding-left:2px;
}
.footer {
margin-top:20px;
border-top:#d6d3ce 1px solid;
padding-top:2px;
font-size:8pt;
color:#a0a0a0;
}
.footer a {
color:#a0a0a0;
}
.right {
float:right;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 B

View File

@ -0,0 +1,148 @@
/*******************************************************************************
* Copyright (c) 2009, 2024 Mountainminds GmbH & Co. KG and Contributors
* This program and the accompanying materials are made available under
* the terms of the Eclipse Public License 2.0 which is available at
* http://www.eclipse.org/legal/epl-2.0
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Marc R. Hoffmann - initial API and implementation
*
*******************************************************************************/
(function () {
/**
* Sets the initial sorting derived from the hash.
*
* @param linkelementids
* list of element ids to search for links to add sort inidcator
* hash links
*/
function initialSort(linkelementids) {
window.linkelementids = linkelementids;
var hash = window.location.hash;
if (hash) {
var m = hash.match(/up-./);
if (m) {
var header = window.document.getElementById(m[0].charAt(3));
if (header) {
sortColumn(header, true);
}
return;
}
var m = hash.match(/dn-./);
if (m) {
var header = window.document.getElementById(m[0].charAt(3));
if (header) {
sortColumn(header, false);
}
return
}
}
}
/**
* Sorts the columns with the given header dependening on the current sort state.
*/
function toggleSort(header) {
var sortup = header.className.indexOf('down ') == 0;
sortColumn(header, sortup);
}
/**
* Sorts the columns with the given header in the given direction.
*/
function sortColumn(header, sortup) {
var table = header.parentNode.parentNode.parentNode;
var body = table.tBodies[0];
var colidx = getNodePosition(header);
resetSortedStyle(table);
var rows = body.rows;
var sortedrows = [];
for (var i = 0; i < rows.length; i++) {
r = rows[i];
sortedrows[parseInt(r.childNodes[colidx].id.slice(1))] = r;
}
var hash;
if (sortup) {
for (var i = sortedrows.length - 1; i >= 0; i--) {
body.appendChild(sortedrows[i]);
}
header.className = 'up ' + header.className;
hash = 'up-' + header.id;
} else {
for (var i = 0; i < sortedrows.length; i++) {
body.appendChild(sortedrows[i]);
}
header.className = 'down ' + header.className;
hash = 'dn-' + header.id;
}
setHash(hash);
}
/**
* Adds the sort indicator as a hash to the document URL and all links.
*/
function setHash(hash) {
window.document.location.hash = hash;
ids = window.linkelementids;
for (var i = 0; i < ids.length; i++) {
setHashOnAllLinks(document.getElementById(ids[i]), hash);
}
}
/**
* Extend all links within the given tag with the given hash.
*/
function setHashOnAllLinks(tag, hash) {
links = tag.getElementsByTagName("a");
for (var i = 0; i < links.length; i++) {
var a = links[i];
var href = a.href;
var hashpos = href.indexOf("#");
if (hashpos != -1) {
href = href.substring(0, hashpos);
}
a.href = href + "#" + hash;
}
}
/**
* Calculates the position of a element within its parent.
*/
function getNodePosition(element) {
var pos = -1;
while (element) {
element = element.previousSibling;
pos++;
}
return pos;
}
/**
* Remove the sorting indicator style from all headers.
*/
function resetSortedStyle(table) {
for (var c = table.tHead.firstChild.firstChild; c; c = c.nextSibling) {
if (c.className) {
if (c.className.indexOf('down ') == 0) {
c.className = c.className.slice(5);
}
if (c.className.indexOf('up ') == 0) {
c.className = c.className.slice(3);
}
}
}
}
window['initialSort'] = initialSort;
window['toggleSort'] = toggleSort;
})();

Binary file not shown.

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 B

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
GROUP,PACKAGE,CLASS,INSTRUCTION_MISSED,INSTRUCTION_COVERED,BRANCH_MISSED,BRANCH_COVERED,LINE_MISSED,LINE_COVERED,COMPLEXITY_MISSED,COMPLEXITY_COVERED,METHOD_MISSED,METHOD_COVERED
MvnDemo,de.hs_mannheim.informatik.mvn,LogDemo,25,0,0,0,9,0,3,0,3,0
MvnDemo,de.hs_mannheim.informatik.mvn,hitori,29,0,0,0,7,0,4,0,4,0
MvnDemo,de.hs_mannheim.informatik.mvn,Entry,9,0,0,0,4,0,1,0,1,0
MvnDemo,de.hs_mannheim.informatik.mvn,PrintArray,16,0,0,0,7,0,4,0,4,0
MvnDemo,de.hs_mannheim.informatik.mvn,LogTest,90,0,2,0,24,0,4,0,3,0
MvnDemo,de.hs_mannheim.informatik.mvn,Main,1881,183,92,6,426,32,82,6,36,3
MvnDemo,de.hs_mannheim.informatik.mvn,Main.new TimerTask() {...},51,0,0,0,11,0,3,0,3,0
1 GROUP PACKAGE CLASS INSTRUCTION_MISSED INSTRUCTION_COVERED BRANCH_MISSED BRANCH_COVERED LINE_MISSED LINE_COVERED COMPLEXITY_MISSED COMPLEXITY_COVERED METHOD_MISSED METHOD_COVERED
2 MvnDemo de.hs_mannheim.informatik.mvn LogDemo 25 0 0 0 9 0 3 0 3 0
3 MvnDemo de.hs_mannheim.informatik.mvn hitori 29 0 0 0 7 0 4 0 4 0
4 MvnDemo de.hs_mannheim.informatik.mvn Entry 9 0 0 0 4 0 1 0 1 0
5 MvnDemo de.hs_mannheim.informatik.mvn PrintArray 16 0 0 0 7 0 4 0 4 0
6 MvnDemo de.hs_mannheim.informatik.mvn LogTest 90 0 2 0 24 0 4 0 3 0
7 MvnDemo de.hs_mannheim.informatik.mvn Main 1881 183 92 6 426 32 82 6 36 3
8 MvnDemo de.hs_mannheim.informatik.mvn Main.new TimerTask() {...} 51 0 0 0 11 0 3 0 3 0

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,234 @@
package de.hs_mannheim.informatik.mvn.domain;
import java.awt.CardLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.time.LocalTime;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Scanner;
import java.util.Stack;
import java.io.File;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import de.hs_mannheim.informatik.mvn.gui.*;
public class HitoriMain2 extends JFrame implements ActionListener{
private static String[] filepath = {"", ""};
public static void main(String[] args) throws FileNotFoundException{
new MenuGUI();
}
public static void ablauf(CardLayout cl, JPanel main, String[] filepath) throws FileNotFoundException {
Stack<String> madeMoves = new Stack<>();
String[][] data = getData(filepath[0], Integer.parseInt(filepath[1]));
String[][] colors = makeColorArray(data.length);
JButton[][] buttons = makeButtonArray(data);
GameGUI.paintGame(cl, main, filepath, buttons, colors, madeMoves, data);
}
public static ArrayList<String> readFromFile(String path){
ArrayList<String> lines = new ArrayList<>();
try (BufferedReader reader = new BufferedReader(new FileReader(path))) {
String line;
while ((line = reader.readLine()) != null) {
lines.add(line);
}
} catch (IOException e) {
e.printStackTrace();
}
return lines;
}
public static String[][] getData(String filepath, int rows) throws FileNotFoundException{
Scanner sc = new Scanner(new File(filepath));
String[][] data = new String[rows][rows];
int rowInt = 0;
while (sc.hasNextLine() && rowInt < rows) {
String line = sc.nextLine();
data[rowInt] = line.split(",");
rowInt++;
}
sc.close();
return data;
}
public static String[][] makeColorArray(int size){
String[][] colors = new String[size][size];
for(int i=0;i<size;i++){
for(int j=0;j<size;j++){
colors[i][j] = "W";
}
}
return colors;
}
public static JButton[][] makeButtonArray(String[][] data){
JButton[][] buttons = new JButton[data.length][data.length];
for(int i=0;i<data.length;i++){
for(int j=0;j<data.length;j++){
String number = data[i][j];
JButton b = new JButton(number);
buttons[i][j] = b;
}
}
return buttons;
}
public static boolean abgabeMöglich(String path, String[][] data, String[][] colors) throws FileNotFoundException{
boolean abgabeMöglich = false;
String[][] result = getResult(data, colors);
ArrayList<String> filteredData = getSolution(path, result);
String[][] ergebnis1 = getErgebnisArray(result, filteredData);
int count = 0;
for(int i=0;i<result.length;i++){
for(int j=0;j<result.length;j++){
if(result[i][j].equals(ergebnis1[i][j])){
} else {
count--;
}
}
}
if(count <0){
abgabeMöglich = false;
} else {
abgabeMöglich = true;
}
return abgabeMöglich;
}
public static String[] getCords(int i, int j){
String yKoordinate = String.valueOf(i);
String xKoordinate = String.valueOf(j);
String[] pos = {yKoordinate, xKoordinate};
return pos;
}
public static void totalResetButton(CardLayout cl, JPanel main, JButton[][] buttons, String[][] colors,Stack<String> madeMoves,String[][] data) throws FileNotFoundException{
madeMoves.clear();
for(int i = 0; i<data.length;i++){
for(int j = 0; j<data.length;j++){
colors[i][j] = "W";
buttons[i][j] = null;
}
JButton[][] buttons0 = makeButtonArray(data);
GameGUI.paintGame(cl, main, filepath, buttons0, colors, madeMoves, data);
}
}
public static String[][] getResult(String[][] data, String[][] colors){
String[][] result = new String[data.length][data.length];
for(int i=0;i<data.length;i++){
for(int j=0;j<data.length;j++){
String farben = colors[i][j];
String lastColor = String.valueOf(farben.charAt(farben.length() - 1));
if(lastColor.equals("G")){
lastColor = "W";
}
result[i][j] = lastColor;
}
}
return result;
}
public static ArrayList<String> getSolution(String path, String[][] result) throws FileNotFoundException{
Scanner sc = new Scanner(new File(path));
ArrayList<String> filteredData = new ArrayList<>();
boolean isUnderComment = false;
while (sc.hasNextLine()) {
String line = sc.nextLine().trim();
if (line.equals("//Lösung (schwarze Felder)")) {
isUnderComment = true;
continue;
}
if (isUnderComment && !line.isEmpty()) {
String[] lineArray = line.split(",");
int num1 = Integer.parseInt(lineArray[0]);
int num2 = Integer.parseInt(lineArray[1]);
String newNum1 = String.valueOf(num1-1);
String newNum2 = String.valueOf(num2-1);
String newLine = newNum1+","+newNum2;
filteredData.add(newLine);
}
}
sc.close();
return filteredData;
}
public static String[][] getErgebnisArray(String[][] result, ArrayList<String> filteredData){
String[][] ergebnis = new String[result.length][result.length];
for(int i=0;i<result.length;i++){
for(int j=0;j<result.length;j++){
ergebnis[i][j] = "W";
}
}
for (String index : filteredData) {
String[] parts = index.split(",");
int row = Integer.parseInt(parts[0].trim());
int col = Integer.parseInt(parts[1].trim());
if (row >= 0 && row < ergebnis.length && col >= 0 && col < ergebnis[row].length) {
ergebnis[row][col] = "B";
}
}
return ergebnis;
}
public static void sortByTime(String path) throws FileNotFoundException, IOException{
File file = new File(path);
ArrayList<HighscoreEintrag> highscores = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(file))) {
String line;
while ((line = br.readLine()) != null) {
String[] parts = line.split(" ", 2);
String timeStr = parts[0];
String name = parts.length > 1 ? parts[1] : "";
String[] timeParts = timeStr.split(":");
int hour = Integer.parseInt(timeParts[0]);
int minute = Integer.parseInt(timeParts[1]);
LocalTime time = LocalTime.of(hour, minute);
highscores.add(new HighscoreEintrag(time, name));
}
}
highscores.sort(Comparator.comparing(e -> e.time));
try (BufferedWriter bw = new BufferedWriter(new FileWriter(file))) {
for (HighscoreEintrag e : highscores) {
String formattedTime = String.format("%02d:%02d", e.time.getHour(), e.time.getMinute());
bw.write(formattedTime + " " + e.name);
bw.newLine();
}
}
}
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
}
}
class HighscoreEintrag {
LocalTime time;
String name;
HighscoreEintrag(LocalTime time, String name) {
this.time = time;
this.name = name;
}
}

View File

@ -1,4 +1,4 @@
package de.hs_mannheim.informatik.pr2projekt.domain;
package de.hs_mannheim.informatik.mvn.domain;
import java.io.BufferedWriter;
import java.io.FileNotFoundException;
@ -9,7 +9,7 @@ import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
public class LogHighscores {
private static final Logger logger = LogManager.getLogger(LogHighscore.class);
private static final Logger logger = LogManager.getLogger(LogHighscores.class);
public static void newRecord(String path, String username, String time) throws FileNotFoundException {
String timePart = time.substring("Zeit: ".length()).trim();

View File

@ -1,4 +1,4 @@
package de.hs_mannheim.informatik.pr2projekt.gui;
package de.hs_mannheim.informatik.mvn.gui;
import java.awt.BorderLayout;
import java.awt.CardLayout;
@ -19,8 +19,7 @@ import javax.swing.JPanel;
import javax.swing.JTextField;
import javax.swing.SwingUtilities;
import de.hs_mannheim.informatik.pr2projekt.domain.HitoriMain;
import de.hs_mannheim.informatik.pr2projekt.domain.LogHighscores;
import de.hs_mannheim.informatik.mvn.domain.*;
public class GameGUI extends JFrame implements ActionListener {
@ -41,7 +40,7 @@ public class GameGUI extends JFrame implements ActionListener {
b.setFocusPainted(false);
b.setBackground(Color.WHITE);
gameGrid.add(b);
String[] pos = HitoriMain.getCords(i,j);
String[] pos = HitoriMain2.getCords(i,j);
b.addActionListener(e -> {paintButton(cl, main, b, pos, colors , madeMoves);});
}
}
@ -58,7 +57,7 @@ public class GameGUI extends JFrame implements ActionListener {
b1.addActionListener(e -> {backOneStep(cl, main, madeMoves, buttons, colors, gameGrid);});
JButton b2 = new JButton("Zurücksetzen");
b2.addActionListener(e -> {try {
HitoriMain.totalResetButton(cl, main, buttons, colors, madeMoves, data);
HitoriMain2.totalResetButton(cl, main, buttons, colors, madeMoves, data);
} catch (FileNotFoundException e1) {
e1.printStackTrace();
}});
@ -71,7 +70,7 @@ public class GameGUI extends JFrame implements ActionListener {
topGrid.add(timeLabel);
topGrid.revalidate();
topGrid.repaint();
boolean isOkay = HitoriMain.abgabeMöglich(path, data, colors);
boolean isOkay = HitoriMain2.abgabeMöglich(path, data, colors);
levelFinished[0] = isOkay;
Timer timer = new Timer();
startTimer();
@ -96,7 +95,7 @@ public class GameGUI extends JFrame implements ActionListener {
b3.addActionListener(e -> {
try {
levelFinished[0] = HitoriMain.abgabeMöglich(path, data, colors);
levelFinished[0] = HitoriMain2.abgabeMöglich(path, data, colors);
System.out.println("0000: " + levelFinished[0]);
} catch (FileNotFoundException e1) {
e1.printStackTrace();

View File

@ -1,4 +1,4 @@
package de.hs_mannheim.informatik.pr2projekt.gui;
package de.hs_mannheim.informatik.mvn.gui;
import java.awt.BorderLayout;
import java.awt.CardLayout;
@ -12,13 +12,11 @@ import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import de.hs_mannheim.informatik.pr2projekt.domain.HitoriMain;
import de.hs_mannheim.informatik.mvn.domain.*;
public class HighscoreGUI extends JFrame implements ActionListener {
@ -40,12 +38,12 @@ public class HighscoreGUI extends JFrame implements ActionListener {
b0.addActionListener(e -> {
int j = count[0];
String[] paths = {
"resources/Hitori_Highscores/Hitori4x4_leicht.txt",
"resources/Hitori_Highscores/Hitori5x5leicht.txt",
"resources/Hitori_Highscores/Hitori8x8leicht.txt",
"resources/Hitori_Highscores/Hitori8x8medium.txt",
"resources/Hitori_Highscores/Hitori10x10medium.txt",
"resources/Hitori_Highscores/Hitori15x15_medium.txt"
"src/main/java/de/hs_mannheim/informatik/mvn/resources/Hitori_Highscores/Hitori4x4_leicht.txt",
"src/main/java/de/hs_mannheim/informatik/mvn/resources/Hitori_Highscores/Hitori5x5leicht.txt",
"src/main/java/de/hs_mannheim/informatik/mvn/resources/Hitori_Highscores/Hitori8x8leicht.txt",
"src/main/java/de/hs_mannheim/informatik/mvn/resources/Hitori_Highscores/Hitori8x8medium.txt",
"src/main/java/de/hs_mannheim/informatik/mvn/resources/Hitori_Highscores/Hitori10x10medium.txt",
"src/main/java/de/hs_mannheim/informatik/mvn/resources/Hitori_Highscores/Hitori15x15_medium.txt"
};
try {
showHighscores(cl, main, paths[j]);
@ -71,21 +69,22 @@ public class HighscoreGUI extends JFrame implements ActionListener {
}
public static void showHighscores(CardLayout cl, JPanel main, String path) throws FileNotFoundException, IOException{
HitoriMain.sortByTime(path);
HitoriMain2.sortByTime(path);
JPanel mainPanel = new JPanel(new BorderLayout());
File file = new File(path);
int i = 0;
try (Scanner scanner = new Scanner(file)) {
while (scanner.hasNextLine()) {
scanner.nextLine();
if(scanner.nextLine() != "") {
i++;
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
JPanel highscorePanel = new JPanel(new GridLayout(i,1,10,10));
if(i>0){
ArrayList<String> lines = HitoriMain.readFromFile(path);
ArrayList<String> lines = HitoriMain2.readFromFile(path);
for(String s: lines){
JLabel text = new JLabel(s);
highscorePanel.add(text);

View File

@ -1,4 +1,4 @@
package de.hs_mannheim.informatik.pr2projekt.gui;
package de.hs_mannheim.informatik.mvn.gui;
import java.awt.BorderLayout;
import java.awt.CardLayout;
@ -13,9 +13,7 @@ import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import de.hs_mannheim.informatik.pr2projekt.domain.HitoriMain;
import de.hs_mannheim.informatik.mvn.domain.*;
public class MenuGUI extends JFrame implements ActionListener {
@ -44,13 +42,16 @@ public class MenuGUI extends JFrame implements ActionListener {
String currentDirectory = Paths.get("").toAbsolutePath().toString();
System.out.println("Current Working Directory: " + currentDirectory);
String[] paths = {
"resources/Hitori_Spielfelder/Hitori4x4_leicht.csv",
"resources/Hitori_Spielfelder/Hitori5x5leicht.csv",
"resources/Hitori_Spielfelder/Hitori8x8leicht.csv",
"resources/Hitori_Spielfelder/Hitori8x8medium.csv",
"resources/Hitori_Spielfelder/Hitori10x10medium.csv",
"resources/Hitori_Spielfelder/Hitori15x15_medium.csv"
"src/main/java/de/hs_mannheim/informatik/mvn/resources/Hitori_Spielfelder/Hitori4x4_leicht.csv",
"src/main/java/de/hs_mannheim/informatik/mvn/resources/Hitori_Spielfelder/Hitori5x5leicht.csv",
"src/main/java/de/hs_mannheim/informatik/mvn/resources/Hitori_Spielfelder/Hitori8x8leicht.csv",
"src/main/java/de/hs_mannheim/informatik/mvn/resources/Hitori_Spielfelder/Hitori8x8medium.csv",
"src/main/java/de/hs_mannheim/informatik/mvn/resources/Hitori_Spielfelder/Hitori10x10medium.csv",
"src/main/java/de/hs_mannheim/informatik/mvn/resources/Hitori_Spielfelder/Hitori15x15_medium.csv"
};
// /Users/beratkocak/git/PR2Projekt/PR2Projekt/src/main/java/de/hs_mannheim/informatik/mvn
for (String path : paths) {
File file = new File(path);
if (file.exists()) {
@ -64,7 +65,7 @@ public class MenuGUI extends JFrame implements ActionListener {
filepath[0] = paths[j];
filepath[1] = num[0];
try{
HitoriMain.ablauf(cl, main, filepath);
HitoriMain2.ablauf(cl, main, filepath);
} catch (FileNotFoundException s){
System.out.println("Fehler: " + s.getMessage());
}

View File

@ -0,0 +1,41 @@
5,8,2,6,3,7,7,5,1,8
8,4,2,2,1,9,9,3,7,5
3,2,7,8,2,5,5,4,3,10
10,2,3,1,7,8,6,9,9,9
3,3,3,7,6,2,4,10,4,1
4,5,9,10,6,10,1,7,8,8
2,7,5,9,1,10,3,1,3,6
9,5,4,3,8,10,2,9,10,4
9,6,10,8,5,3,10,2,5,8
9,10,2,2,4,7,9,8,5,7
// Lösung (schwarze Felder)
1,1
1,3
1,6
1,10
2,4
2,7
3,2
3,6
3,9
4,8
4,10
5,1
5,3
5,5
5,7
6,2
6,6
6,10
7,5
7,9
8,1
8,3
8,6
9,4
9,7
9,9
10,1
10,3
10,10
Can't render this file because it has a wrong number of fields in line 12.

View File

@ -0,0 +1,83 @@
7,1,2,9,12,15,8,11,11,9,11,14,13,6,3
2,3,8,1,2,11,10,9,5,8,14,3,12,13,15
4,14,13,9,4,15,9,10,12,6,5,3,11,5,12
15,9,5,6,10,15,1,15,8,3,5,4,6,2,8
5,11,7,9,15,1,4,3,8,1,9,2,10,13,2
15,15,10,3,1,14,8,12,11,1,9,8,2,7,2
10,7,7,12,9,3,15,2,5,2,10,5,1,7,4
3,8,9,14,1,6,12,4,15,2,13,11,5,10,11
8,6,7,15,11,4,5,11,2,10,3,13,8,12,9
2,2,3,3,4,13,5,6,5,11,5,15,8,9,12
2,15,15,11,13,7,6,5,3,13,8,10,5,1,11
12,5,11,13,13,2,2,8,8,4,10,9,3,2,5
1,13,8,2,1,7,11,4,9,15,4,12,9,3,10
13,10,12,5,15,3,2,7,13,14,12,12,9,11,6
7,12,4,8,14,10,13,13,7,4,2,6,15,15,11
//Lösung
1,4
1,6
1,8
1,11
2,1
2,3
2,9
2,12
2,14
3,5
3,7
3,11
3,15
4,1
4,3
4,6
4,9
4,13
5,4
5,10
5,15
6,2
6,5
6,7
6,9
6,11
6,13
7,1
7,3
7,6
7,8
7,12
7,14
8,5
8,9
8,15
9,3
9,8
9,13
10,1
10,4
10,7
10,9
10,11
11,3
11,10
11,13
11,15
12,2
12,5
12,7
12,9
12,11
12,14
13,1
13,6
13,8
13,13
14,3
14,5
14,9
14,12
15,1
15,7
15,10
15,14
Can't render this file because it has a wrong number of fields in line 17.

View File

@ -0,0 +1,11 @@
3,3,1,4
4,3,2,2
1,3,4,2
3,4,3,2
//Lösung (schwarze Felder)
1,2
2,4
3,2
4,1
4,4
1 3,3,1,4
2 4,3,2,2
3 1,3,4,2
4 3,4,3,2
5 //Lösung (schwarze Felder)
6 1,2
7 2,4
8 3,2
9 4,1
10 4,4

View File

@ -0,0 +1,15 @@
3,4,5,5,2
3,2,3,5,4
2,1,4,5,5
2,3,1,4,1
2,5,2,3,2
//Lösung (schwarze Felder)
1,1
1,4
2,3
3,1
3,4
4,3
5,1
5,5
1 3,4,5,5,2
2 3,2,3,5,4
3 2,1,4,5,5
4 2,3,1,4,1
5 2,5,2,3,2
6 //Lösung (schwarze Felder)
7 1,1
8 1,4
9 2,3
10 3,1
11 3,4
12 4,3
13 5,1
14 5,5

View File

@ -0,0 +1,29 @@
2,7,2,1,5,8,3,5
6,6,1,6,2,4,4,7
7,5,8,2,6,6,6,1
3,6,8,8,4,2,1,8
6,4,7,7,8,2,6,3
1,6,4,5,1,3,5,8
8,1,3,3,6,4,2,6
5,3,6,4,3,4,8,2
// Lösung (schwarze Felder)
1,1
1,8
2,2
2,4
2,6
3,5
3,7
4,3
4,8
5,1
5,4
5,6
6,2
6,5
6,7
7,4
7,8
8,2
8,6
1 2,7,2,1,5,8,3,5
2 6,6,1,6,2,4,4,7
3 7,5,8,2,6,6,6,1
4 3,6,8,8,4,2,1,8
5 6,4,7,7,8,2,6,3
6 1,6,4,5,1,3,5,8
7 8,1,3,3,6,4,2,6
8 5,3,6,4,3,4,8,2
9 // Lösung (schwarze Felder)
10 1,1
11 1,8
12 2,2
13 2,4
14 2,6
15 3,5
16 3,7
17 4,3
18 4,8
19 5,1
20 5,4
21 5,6
22 6,2
23 6,5
24 6,7
25 7,4
26 7,8
27 8,2
28 8,6

View File

@ -0,0 +1,30 @@
4,4,3,5,6,5,7,7
8,5,7,6,8,4,7,1
7,2,1,2,4,6,2,3
8,6,5,2,7,7,3,6
3,1,2,7,3,8,6,4
1,2,4,1,5,7,3,2
5,8,2,4,3,4,1,5
2,4,5,1,8,3,8,1
//Lösung (schwarze Zahlen)
1,2
1,4
1,8
2,5
2,7
3,2
3,4
4,1
4,6
4,8
5,3
5,5
6,2
6,4
6,7
7,1
7,6
8,3
8,5
8,8
1 4,4,3,5,6,5,7,7
2 8,5,7,6,8,4,7,1
3 7,2,1,2,4,6,2,3
4 8,6,5,2,7,7,3,6
5 3,1,2,7,3,8,6,4
6 1,2,4,1,5,7,3,2
7 5,8,2,4,3,4,1,5
8 2,4,5,1,8,3,8,1
9 //Lösung (schwarze Zahlen)
10 1,2
11 1,4
12 1,8
13 2,5
14 2,7
15 3,2
16 3,4
17 4,1
18 4,6
19 4,8
20 5,3
21 5,5
22 6,2
23 6,4
24 6,7
25 7,1
26 7,6
27 8,3
28 8,5
29 8,8

View File

@ -1,11 +1,9 @@
package de.hs_mannheim.informatik.pr2projekt.test;
package java.de.hs_mannheim.informatik.mvn.test;
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
import de.hs_mannheim.informatik.pr2projekt.domain.HitoriMain;
import de.hs_mannheim.informatik.pr2projekt.gui.GameGUI;
import de.hs_mannheim.informatik.mvn.domain.HitoriMain2;
import de.hs_mannheim.informatik.mvn.gui.GameGUI;
import java.io.FileNotFoundException;
import java.util.Arrays;
@ -18,7 +16,7 @@ class HitoriTest{
{"W", "W", "W"},
{"W", "W", "W"}
};
assertTrue(Arrays.deepEquals(array3x3, HitoriMain.makeColorArray(3)));
assertTrue(Arrays.deepEquals(array3x3, HitoriMain2.makeColorArray(3)));
}
@Test
@ -27,7 +25,7 @@ class HitoriTest{
{"W", "W", "W"},
{"W", "W", "W"},
};
assertFalse(Arrays.deepEquals(array3x2, HitoriMain.makeColorArray(3)));
assertFalse(Arrays.deepEquals(array3x2, HitoriMain2.makeColorArray(3)));
}
@Test
@ -49,7 +47,7 @@ class HitoriTest{
{"B", "W", "W", "B"}};
String path = "C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Highscores/Hitori4x4_leicht.txt";
try {
assertFalse(HitoriMain.abgabeMöglich(path, data, colors));
assertFalse(HitoriMain2.abgabeMöglich(path, data, colors));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
@ -69,7 +67,7 @@ class HitoriTest{
{"B", "W", "W", "B"}};
String path = "C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Spielfelder/Hitori4x4_leicht.csv";
try {
assertTrue(HitoriMain.abgabeMöglich(path, data, colors));
assertTrue(HitoriMain2.abgabeMöglich(path, data, colors));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
@ -91,7 +89,7 @@ class HitoriTest{
{"W", "B", "W", "W", "W"}};
String path = "C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Spielfelder/Hitori5x5_leicht.csv";
try {
assertFalse(HitoriMain.abgabeMöglich(path, data, colors));
assertFalse(HitoriMain2.abgabeMöglich(path, data, colors));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
@ -113,7 +111,7 @@ class HitoriTest{
{"B", "W", "W", "W", "B"}};
String path = "C:/Users/Berat/Desktop/hitoriNew/src/main/java/de/hs_mannheim/informatik/mvn/Hitori_Spielfelder/Hitori5x5_leicht.csv";
try {
assertTrue(HitoriMain.abgabeMöglich(path, data, colors));
assertTrue(HitoriMain2.abgabeMöglich(path, data, colors));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
@ -122,12 +120,12 @@ class HitoriTest{
@Test
void test8() {
String[] array = {"3", "4"};
assertFalse(Arrays.deepEquals(array, HitoriMain.getCords(3, 3)));
assertFalse(Arrays.deepEquals(array, HitoriMain2.getCords(3, 3)));
}
@Test
void test9() {
String[] array = {"3", "4"};
assertTrue(Arrays.deepEquals(array, HitoriMain.getCords(3, 4)));
assertTrue(Arrays.deepEquals(array, HitoriMain2.getCords(3, 4)));
}
}