Erster Commit 10.12.24
commit
989702aa0c
|
|
@ -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>
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
/bin/
|
||||||
|
|
@ -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>
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding/<project>=UTF-8
|
||||||
|
|
@ -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
|
||||||
|
|
@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue