kleines x-dim Array in Größeres speichern; mit variabler Position

tuFrogs

Mitglied
Hallo!

Ich checks grad nicht und bevor ich weiter rätsele, frage ich lieber mal nach. :)

Folgendes:
Ich habe ein 8x8 Array und möchte darin ein 5x5 Array speichern. Der Mittelpunkt des kleineren (3x3) soll beliebig gesetzt werden können. Sollte der Mittelpunkt zum Bsp. auf 1x1 gesetzt werden gehen die Daten der ersten beiden Spalten/Zeilen des kleineren Arrays verloren.

Hoffe das versteht wer... :rolleyes:

Hier noch der Code:
Code:
public class World {
	final	public	int[][]	world		= new int[8][8];
	final	public	int[][]	food_area	= {
											{1, 1, 1, 1, 1},
											{1, 2, 2, 2, 1},
											{1, 2, 3, 2, 1},
											{1, 2, 2, 2, 1},
											{1, 1, 1, 1, 1}
											};
			private	int[]	world_start	= new int[2];
			private	int[]	food_pos	= new int[2];
	
	World() {
		this.world_start[0]	= 0; // x start
		this.world_start[1]	= 0; // y start
		this.food_pos[0]	= 5; // x food
		this.food_pos[1]	= 5; // y food		
	}

	public void food() {
		this.food_pos[0] -= 2;
		this.food_pos[1] -= 2;
		for (int i = 0; i < 5; i++) {
			this.food_pos[0] += i;
			for (int j = 0; j < 5; j++) {
				this.food_pos[1] += j;
				if (this.food_pos[0] > -1 && this.food_pos[0] < 8) {
					if (this.food_pos[1] > -1 && this.food_pos[1] < 8) {
						this.world[this.food_pos[0]][this.food_pos[1]] = this.food_area[i][j];
					}
				}
			}
		}
	}

}
 
Zurück