Erster Commit 10.12.24

master
matia 2024-12-10 09:31:21 +01:00
commit 989702aa0c
6 changed files with 145 additions and 0 deletions

View File

@ -0,0 +1,10 @@
<?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-22">
<attributes>
<attribute name="module" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

1
Semesterprojekt/.gitignore vendored 100644
View File

@ -0,0 +1 @@
/bin/

View File

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>Semesterprojekt</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
encoding/<project>=UTF-8

View File

@ -0,0 +1,11 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=22
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=22
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=22

View File

@ -0,0 +1,104 @@
import java.util.Scanner;
import java.util.TreeMap;
public class TicTacToe {
private static TreeMap<Integer, Character> belegteFelder = new TreeMap<>();
private static char aktuellerSpieler = 'X';
private static int ausgewaehltesFeld = 0;
public static void main(String[] args) {
System.out.println("Spieler 1 ist X, Sieler 2 ist O.\nDie Felder sind von 1 bis 9 durchnummerriert.\nUm ein Feld für ein Zug auszuwählen muss die Zahl des Feldes eingegeben werden....");
fuelleTreeMap();
for(int i=1;i<=9;i++) {
erfasseEingabe();
gibAktuellenStandAus();
if(i >= 5) pruefeSieg();
if(aktuellerSpieler == 'X') aktuellerSpieler = 'O';
else aktuellerSpieler = 'X';
}
System.out.println("Ergebnis des Spiels ist ein Untentschieden!");
}
//Fuellt die TreeMap mit Standart Werten
private static void fuelleTreeMap() {
for(int i=1;i<=9;i++) {
belegteFelder.put(i, (char) (48+i));
}
}
private static void gibAktuellenStandAus() {
System.out.println("\n-------------");
int counter = 0;
while(counter < 9){
System.out.printf("|%2s |%2s |%2s |",belegteFelder.get(counter+=1), belegteFelder.get(counter+=1), belegteFelder.get(counter+=1));
System.out.println("\n-------------");
}
}
private static void erfasseEingabe() {
Scanner s = new Scanner(System.in);
System.out.println("Spieler "+aktuellerSpieler+" ist am Zug!");
System.out.println("Geben Sie eine Feldnummer ein:\n>>");
try {
ausgewaehltesFeld = s.nextInt();
System.out.println("Die Eingabe: "+ausgewaehltesFeld);
}catch(Exception E) {
System.out.println("Es wurde keine passende Eingabe getätigt,\nversuchen Sie es erneut...");
erfasseEingabe();
}
if(belegteFelder.get(ausgewaehltesFeld) == 'X' || belegteFelder.get(ausgewaehltesFeld) == 'O') {
System.out.println("Feld "+ausgewaehltesFeld+" schon belegt, machen Sie eine erneute Eingabe...");
erfasseEingabe();
}else {
belegteFelder.put(ausgewaehltesFeld, aktuellerSpieler);
}
}
private static void pruefeSieg() {
if(belegteFelder.get(1) == aktuellerSpieler && belegteFelder.get(2) == aktuellerSpieler && belegteFelder.get(3) == aktuellerSpieler) {
System.out.println("Spieler "+aktuellerSpieler+" hat drei '"+aktuellerSpieler+"' in der ersten Waagerechte und hat somit gewonnen!");
System.exit(0);
}else if(belegteFelder.get(4) == aktuellerSpieler && belegteFelder.get(5) == aktuellerSpieler && belegteFelder.get(6) == aktuellerSpieler) {
System.out.println("Spieler "+aktuellerSpieler+" hat drei '"+aktuellerSpieler+"' in der zweiten Waagerechte und hat somit gewonnen!");
System.exit(0);
}else if(belegteFelder.get(7) == aktuellerSpieler && belegteFelder.get(8) == aktuellerSpieler && belegteFelder.get(9) == aktuellerSpieler) {
System.out.println("Spieler "+aktuellerSpieler+" hat drei '"+aktuellerSpieler+"' in der dritten Waagerechte und hat somit gewonnen!");
System.exit(0);
}else if(belegteFelder.get(1) == aktuellerSpieler && belegteFelder.get(4) == aktuellerSpieler && belegteFelder.get(7) == aktuellerSpieler) {
System.out.println("Spieler "+aktuellerSpieler+" hat drei '"+aktuellerSpieler+"' in der ersten Senkrechte und hat somit gewonnen!");
System.exit(0);
}else if(belegteFelder.get(2) == aktuellerSpieler && belegteFelder.get(5) == aktuellerSpieler && belegteFelder.get(8) == aktuellerSpieler) {
System.out.println("Spieler "+aktuellerSpieler+" hat drei '"+aktuellerSpieler+"' in der zweiten Senkrechte und hat somit gewonnen!");
System.exit(0);
}else if(belegteFelder.get(3) == aktuellerSpieler && belegteFelder.get(6) == aktuellerSpieler && belegteFelder.get(9) == aktuellerSpieler) {
System.out.println("Spieler "+aktuellerSpieler+" hat drei '"+aktuellerSpieler+"' in der dritten Senkrechte und hat somit gewonnen!");
System.exit(0);
}else if(belegteFelder.get(1) == aktuellerSpieler && belegteFelder.get(5) == aktuellerSpieler && belegteFelder.get(9) == aktuellerSpieler) {
System.out.println("Spieler "+aktuellerSpieler+" hat drei '"+aktuellerSpieler+"' in der ersten Diagonale und hat somit gewonnen!");
System.exit(0);
}else if(belegteFelder.get(3) == aktuellerSpieler && belegteFelder.get(5) == aktuellerSpieler && belegteFelder.get(7) == aktuellerSpieler) {
System.out.println("Spieler "+aktuellerSpieler+" hat drei '"+aktuellerSpieler+"' in der zweiten Diagonale und hat somit gewonnen!");
System.exit(0);
}
}
}