Skip to content
OTI2020 edited this page Mar 11, 2020 · 7 revisions

Welcome to the softwarepraktikum2020 wiki!

Hier wird der Code vom abgewandelten FloodFill-Algorithmus zwischengespeichert, bis wir wissen, wie man das eigentlich machen soll?

///////////////////////////////////////////////////////////////////////////////////////////////////////////////// HEAD OF CODE /////////////////////////////////////////////////////////////////////////////////////////////////////////////////

package org.OTI.Softwarepraktikum2020;

/**

  • author: OTI2020 && Ole
  • title: SoPraTestBand
  • aim: testing and implementaion of foodfill algorithem to detect connected areas of same color
  • date: 11.03.2020; 11:20 am **/

public class SoPraTestBand { static float[][] ausgangsArr = { {0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,255}, {0 ,255,255,255,255,255,255,255,0 ,0 }, {0 ,255,255,255,255,255,255,255,255,0 }, {0 ,0 ,255,255,255,0 ,0 ,255,255,0 }, {0 ,255,255,255,0 ,0 ,0 ,255,255,0 }, {0 ,0 ,255,255,0 ,0 ,255,255,0 ,0 }, {0 ,0 ,255,255,255,255,255,0 ,0 ,0 }, {0 ,255,255,255,255,255,0 ,0 ,0 ,0 }, {0 ,0 ,0 ,255,255,255,0 ,0 ,255,255}, {255,0 ,0 ,0 ,0 ,0 ,0 ,255,255,255}};

private static int px = 2;
private static int py = 5;
static float p = ausgangsArr[px][py];
//static float[][] gut;

public static void main(String[] args){
	floodFill(p);
	//getPixelValue();
}

public static void floodFill(float point) {
	if((ausgangsArr[px][py + 1] == 255.0f) && (py < (ausgangsArr[px].length - 1))) {
		ausgangsArr[px][py + 1] = 100.0f;
		System.out.println(ausgangsArr[px][py + 1]);
		floodFill(ausgangsArr[px][py + 1]);
	}else System.out.println("unten");
	if((ausgangsArr[px - 1][py + 1] == 255.0f) && (py < (ausgangsArr[px].length - 1)) && (px > 0)) {
		ausgangsArr[px -1][py + 1] = 100.0f;
		System.out.println(ausgangsArr[px -1][py + 1]);
	}else System.out.println("unten links");
	if((ausgangsArr[px - 1][py] == 255.0f) && (px > 0)) {
		ausgangsArr[px - 1][py] = 100.0f;
		System.out.println(ausgangsArr[px -1][py]);
	}else System.out.println("links");
	if((ausgangsArr[px - 1][py - 1] == 255.0f) && (py > 0) && (px > 0)) {
		ausgangsArr[px - 1][py - 1] = 100.0f;
		System.out.println(ausgangsArr[px - 1][py - 1]);
	}else System.out.println("oben links");
	if((ausgangsArr[px][py - 1] == 255.0f) && (py > 0)) {
		ausgangsArr[px][py - 1] = 100.0f;
		System.out.println(ausgangsArr[px][py - 1]);
	}else System.out.println("oben");
	if((ausgangsArr[px + 1][py - 1] == 255.0f) && (px < (ausgangsArr.length - 1)) && (py >0)) {
		ausgangsArr[px + 1][py - 1] = 100.0f;
		System.out.println(ausgangsArr[px + 1][py - 1]);
	}else System.out.println("oben rechts");
	if((ausgangsArr[px + 1][py] == 255.0f) && (px < (ausgangsArr.length - 1))) {
		ausgangsArr[px + 1][py] = 100.0f;
		System.out.println(ausgangsArr[px + 1][py]);
	}else System.out.println("rechts");
	if((ausgangsArr[px + 1][py + 1] == 255.0f) && (px < (ausgangsArr.length - 1)) && (py < (ausgangsArr[px].length - 1))) {
		ausgangsArr[px + 1][py + 1] = 100.0f;
		System.out.println(ausgangsArr[px + 1][py + 1]);
	}else System.out.println("unten rechts");
	
	
	//gut = float[ausgangsArrX][ausgangsArrY];
	/*
	if(py < (ausgangsArr[px].length - 1)) {
		
	}
	if(ausgangsArr[px][py + 1] == 255.0f) {
		ausgangsArr[px][py + 1] = 100.0f;
		printPixelValue(p);
		p = ausgangsArr[px][py + 1];
		floodFill(p);
    	System.out.println(point + " if Geschichte");
	}
	
	else {
		System.out.println(point + " else Geschichte");
		if(ausgangsArr[px - 1][py + 1] == 255.0f) {
    			printPixelValue(p);
		}
	}
		else {
			System.out.println(point + " else_else Geschichte");
		}
	} 
	*/
}

public static void printPixelValue(float point){
	//float p = ausgangsArr[px][py];
	System.out.println(point + " ist nicht unser Ziel!!");
}

} ////////////////////////////////////////////////////////////////////////////////////////////////////////////// END OF CODE //////////////////////////////////////////////////////////////////////////////////////////////////////////////

Clone this wiki locally