Methode verändert mein Eingabe Array oO

snape6666

Mitglied
Hi,
ich bin gerade dabei aus Spaß ein Sudoku zu programieren und hänge jetzt gerade daran dass mit die Start Methode mein Default Array (also ein folles Feld mit allen Zahlen) abändert.....

eigentlich soll sie mir ein neues Array erzeugen in dem einfach elemente gelöscht werden aus dem Default Array aber irgendwie wird mein Default mit geändert..

hier der Constructor der Klasse und die MEthode Start hoffe ihr habt eine idee..

Danke im Voraus!!

Java:
public Sudoku(int Level)
	{
		//Fuellt Default mit einem neu generierten Feld (Dient spaeter zusaetzlich als Ueberpruefung)
		Default   = Neustart();
		//Macht das Spielfeld Spiel-Fertig (entnimmt Zahlen)
		Spielfeld = Start1(Default,Level);
	}
Java:
//Entnimmt dem neu generierten Zahlenfeld Werte zum erhoehen der Schwierigkeit
	protected int[][] Start1(int[][] Neu, int Level)
	{
		//Zaehlt in abhaengigkeit des Levels 5 = -35 Elemente, 9 = -63 Elemnte 
		for(int i =0;i<7*Level;i++)
		{	
		//Zufalls-Zahlen fuer den Vergleich	
		int a =(int)Math.round(Math.random()*8);
		int b =(int)Math.round(Math.random()*8);
		
		while(Neu[a][b]==0)
		{
			a =(int)Math.round(Math.random()*8);
			b =(int)Math.round(Math.random()*8);
		}
		Neu[a][b]=0;
		}
		
		return Neu;
	}
 
Zuletzt bearbeitet:

XHelp

Top Contributor
Du solltest ganz dringend deine Namenswahl überdenken.
Code:
eineVariable
,
Code:
EineKlasse
und default ist eh ein schlüsselwort und sollte auf in großschreibung nicht verwendet werden.
Es handelt sich um das selbe Objekt, was du da veränderst. Könntest ggf mit .clone() eine Kopie erstellen.
 

snape6666

Mitglied
so die variablen habe ich jetzt mal schnell geändert =)
ja wie kann ich das machen dass "spielfeld" und ("default" jetzt "uhrsprung") "uhrsprung" 2 object atribute werden die sich nicht gegenseitig verändern oO dachte ein Objekt kann mehre Atribute haben oder hatte ich da was falsch verstanden =(

oh.... habe gerade mal versucht in der gui ein abbild des uhrsprünglichen Defaults zu machen und dann erst Start() auszuführen aber iwi wird selbst dann das ziwschen gespeicherte verändert obwohl es kein objekt der Klasse Sudoku ist =( bin grad mit meinem latein am ende... glaub ich geh schlafen :D

Wäre nett wenn mir einer erklärt welchen denkfehle rich noch habe..^^

gn8
 
Zuletzt bearbeitet:

xehpuk

Top Contributor
Es wäre ganz hilfreich, wenn du auch sagen würdest, wie du es versucht hast. Denn mit einem Abbild funktioniert es auch.
In deinem bisherigen Code nimmst du direkt Änderungen an
Code:
neu
vor, wie du selbst bemerkt hast. Das liegt daran, dass Parameter als Referenz übergeben werden (wenn es sich um Objekte handelt). Daher musst du das Array erst kopieren, bevor du es veränderst.
Ein einfaches
Code:
clone()
wird hier nicht reichen, da es nur eine flache Kopie erzeugt. Deswegen musst du jedes einzelne Array auch kopieren. Dies würde dann so aussehen:

Java:
int[][] result = neu.clone();
for (int i = 0; i < neu.length; i++)
	result[i] = neu[i].clone();
Im Anschluss nimmst du die Änderungen an
Code:
result
vor und gibst dieses dann zurück.
 

snape6666

Mitglied
ja ok ich versuche das mal in der gui. also ein neues Objekt erzeugen mit vollem Feld, dann abspeichern in zwischenspeicher array;

Java:
for(int i =0;i<9;i++){
  for(int j=0;j<9;j++){
      speicher[i][j]=feld[i][j];
  }
}

und führe dann Start aus. ginge das so oder muss ich das mit dem clone schreiben oO weil speicher is ja elemt von gui und net von sudoku?
 

Empire Phoenix

Top Contributor
Ich emfehle dir erstmal einige Grundlagen zb call by reference und call by copy nachzulesen. Die brachst du mindestens um Objectorientiert programieren zu können.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B paintComponent Methode Spiele- und Multimedia-Programmierung 4
P Zahlenwert durch Methode ersetzen Spiele- und Multimedia-Programmierung 1
P .Wav Datei vor main-Methode abspielen? Spiele- und Multimedia-Programmierung 9
H Exeption in thread "Thread-2" NullPointerExeption: init methode? Spiele- und Multimedia-Programmierung 25
S GetBufferStrategy-Methode wird nicht angezeigt Spiele- und Multimedia-Programmierung 6
K Flackern bei repaint Methode Spiele- und Multimedia-Programmierung 3
A Zeichnen außerhalb der paint-Methode Spiele- und Multimedia-Programmierung 6
R Aufruf einer render-Methode Spiele- und Multimedia-Programmierung 12
G Methode sleepen während das Spiel weiterläuft Spiele- und Multimedia-Programmierung 3
M Beste methode zur Map Erstellen in "Block" Games Spiele- und Multimedia-Programmierung 2
J Images laden in static Methode Spiele- und Multimedia-Programmierung 8
P NullPointerException bei Aufruf von Methode Spiele- und Multimedia-Programmierung 10
G Mein erstes minigame -> problem mit Methode Spiele- und Multimedia-Programmierung 3
D Problem Mit Miensweeper Clone & rekursive Methode Spiele- und Multimedia-Programmierung 4
M Run- Methode zu überladen Spiele- und Multimedia-Programmierung 4
S Problem beim laden eines Bildes in einer Methode Spiele- und Multimedia-Programmierung 14
D Methode in eigenem Thread auslagern Spiele- und Multimedia-Programmierung 9
A Hilfe bei der Methode COLOR (Java) Spiele- und Multimedia-Programmierung 10
S transparenz per paint()-methode will nicht Spiele- und Multimedia-Programmierung 12
H Bilder speichern 2 - Methode richten? Spiele- und Multimedia-Programmierung 2
S Zur Laufzeit auf die Methode einer anderen Klasse zugreifen Spiele- und Multimedia-Programmierung 5
A Methode:setPointAntialiasingEnable(true) Spiele- und Multimedia-Programmierung 2
chik Wie arbeitet die polygon.contains Methode in Java Spiele- und Multimedia-Programmierung 4
J Java3d setTextureTransform verändert J3DGraphics2D Spiele- und Multimedia-Programmierung 4
K Mein Jump and Run charakter bewegt sich nicht mehr rückwärts... Spiele- und Multimedia-Programmierung 0
Leon.tr3x Mein erstes Programm/Spiel Spiele- und Multimedia-Programmierung 10
T Meine Erfahrung und mein Tipp Spiele- und Multimedia-Programmierung 4
Androbin Mein Spiel will sich nicht zeichnen lassen !!! Spiele- und Multimedia-Programmierung 7
B Mein Programm reagiert nicht auf den Tasstendruck Spiele- und Multimedia-Programmierung 1
C Mein Programm wird sofort terminated Spiele- und Multimedia-Programmierung 8
J Mein erstes Spiel [Spielevorstellung] Spiele- und Multimedia-Programmierung 2
P Mein Android Game Spiele- und Multimedia-Programmierung 3
B Mein Java RPG Spiele- und Multimedia-Programmierung 13
A Mein 2D Shooter Spiele- und Multimedia-Programmierung 8
M Mein Erstes 2D Spiel Spiele- und Multimedia-Programmierung 14
F Mein 1. Bewegtes Spiel! Spiele- und Multimedia-Programmierung 6
M Präsentiere mein Spiel (zum downloaden) Spiele- und Multimedia-Programmierung 11
A Mein SpaceInvaders Spiele- und Multimedia-Programmierung 10
grudge Mein Fungame vorstellen Spiele- und Multimedia-Programmierung 24
O Mein erstes Game Spiele- und Multimedia-Programmierung 10
I Kritik/ Anregungen für mein zweites Spiel Spiele- und Multimedia-Programmierung 39
T Mein Vektor-Zeichenprogramm ist zu langsam Spiele- und Multimedia-Programmierung 4
R Könnt ihr mal mein Spiel testen (Rollenspiel)! Spiele- und Multimedia-Programmierung 17
I Problem: Mein Spiel lastet den PC voll aus Spiele- und Multimedia-Programmierung 7
M Testet mal mein kleines Memory Spiel ... Spiele- und Multimedia-Programmierung 14

Ähnliche Java Themen

Neue Themen


Oben