From 3aa56bd3fb014af5085ef32a662f07ac6d50e0ea Mon Sep 17 00:00:00 2001 From: Matti Date: Mon, 20 May 2024 15:52:14 +0200 Subject: [PATCH] Recursive Queenproblem --- src/part5/aufg2/Demo.java | 10 +++++ src/part5/aufg2/Queenproblem.java | 61 +++++++++++++++++++++++++++++++ src/part5/{ => aufg2}/aufg2.java | 2 +- 3 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 src/part5/aufg2/Demo.java create mode 100644 src/part5/aufg2/Queenproblem.java rename src/part5/{ => aufg2}/aufg2.java (99%) diff --git a/src/part5/aufg2/Demo.java b/src/part5/aufg2/Demo.java new file mode 100644 index 0000000..34b1576 --- /dev/null +++ b/src/part5/aufg2/Demo.java @@ -0,0 +1,10 @@ +package part5.aufg2; + +public class Demo { + public static void main(String[] args) { + Queenproblem Q = new Queenproblem(); + System.out.println(Q.field[2]); + Q.setField(new int[] {0,1,2,3,4,5,6,7}); + Q.print(); + } +} diff --git a/src/part5/aufg2/Queenproblem.java b/src/part5/aufg2/Queenproblem.java new file mode 100644 index 0000000..fe24796 --- /dev/null +++ b/src/part5/aufg2/Queenproblem.java @@ -0,0 +1,61 @@ +package part5.aufg2; + +import java.util.Arrays; + +public class Queenproblem { + int[] field; + + public Queenproblem(){ + this.field = new int[8]; + } + + public void setField(int[] field) { + this.field = field; + } + + private int[][] make2D(){ + int[][] field = new int[8][8]; + + for (int[] row : field ){ + Arrays.fill(row, 0); + } + + for (int i=0; i<8; i++) { + int index = this.field[i]; + field[i][index] = 1; + } + + return field; + } + public void print(){ + int[][] field = make2D(); + + for (int[] row:field) { + System.out.println(Arrays.toString(row)); + } + } + + public boolean isPossible(int x, int y){ + // Horizontal + for (int value: this.field) { + if (value == y){ + return false; + } + } + + // Vertical + if (this.field[x] != 0) + return false; + + // Diagonal \ + for (int i=0; i<8; i++){ + try{ + + }catch (IndexOutOfBoundsException e){ + System.out.println(e); + } + } + + return true; + } +} diff --git a/src/part5/aufg2.java b/src/part5/aufg2/aufg2.java similarity index 99% rename from src/part5/aufg2.java rename to src/part5/aufg2/aufg2.java index 3685352..b848cca 100644 --- a/src/part5/aufg2.java +++ b/src/part5/aufg2/aufg2.java @@ -1,4 +1,4 @@ -package part5; +package part5.aufg2; // I know this is not recursive // Shut up