Trainee
Date of registration: Oct 12th 2005
Location: Hildesheim
Occupation: B.Sc. Informatik / 1. Semester
Trainee
Date of registration: Oct 12th 2005
Location: Hildesheim
Occupation: B.Sc. Informatik / 1. Semester
Turner, Serveradmin & Workaholic
Date of registration: Apr 25th 2006
Location: Südstadt
Occupation: (iter (B.Sc. Inf, 8)) \n (be-a-slave ("SRA", "Bachelor Thesis")) \n (be-a-programmer-slave ("Freelancer", "Programming"))
Trainee
Date of registration: Oct 12th 2005
Location: Hildesheim
Occupation: B.Sc. Informatik / 1. Semester
This post has been edited 1 times, last edit by "sos1981" (Jun 8th 2006, 10:30pm)
Guru
Date of registration: Dec 11th 2001
Location: Hämelerwald
Occupation: Wissenschaftlicher Mitarbeiter (Forschungszentrum L3S, TU Braunschweig)
Acht Methoden finde ich auf den ersten Blick nicht besonders elegant.Quoted
Original von sos1981
8 Methoden, die je ein Nachbarfeld der Zelle repräsentieren.
So ganz kann ich Deinen Text nicht nachvollziehen, aber falls Du für jede Zelle in jedem Schritt acht Methoden aufrufen willst, halte ich das für Overkill. Ich vermute, daß es einfacher geht, indem man sich zum Beispiel (zusätzlich zum Array, das den aktuellen Zustand jeder Zelle erfaßt) ein Array anlegt, in dem für jede Zelle die Anzahl der Nachbarn gespeichert ist. Bei einem Wechsel zum nächsten Schritt wird dann dieses Array aus dem vorherigen Inhalt des Arrays neu berechnet. Das hat den Vorteil, daß ein Auslesen und Ändern der Nachbarzellen nur noch erforderlich ist, wenn sich der Zustand einer Zelle ändert. Im "Normalfall" sind das im Mittel also deutlich unter 8 Operationen.Quoted
Dann muss nur noch getestet werden, ob der Array an der Stelle [lokalx][lokaly] true ist, und man gibt eine 1 zurück.
Dies für alle 8 Methoden, und man ist fertig.
This post has been edited 1 times, last edit by "Joachim" (Jun 8th 2006, 11:59pm)
Trainee
Date of registration: Oct 12th 2005
Location: Hildesheim
Occupation: B.Sc. Informatik / 1. Semester
Quoted
Original von ruffy85
Habe ein Array Nachbarn[][] angelegt, welches die Werte für einen Nachbarn speichert. Es gibt acht Nachbarn, somit acht Wertepaare. Ich schaue dabei in die Richtungen, in der Mitte liegt mein Feld (x,y). ...
Quoted
Geben Sie überall sinnvolle Modifier an, kapseln/verbergen Sie so viel wie möglich.
This post has been edited 2 times, last edit by "KarlKaracho" (Jun 9th 2006, 5:26am)
This post has been edited 1 times, last edit by "BLUESCREEN" (Jun 9th 2006, 1:15pm)
Source code |
|
1 2 |
if (feld[validNeighbour(punktX, left)][validNeighbour(punktY, top)]) count++; |
Source code |
|
1 |
public int getX(){return sizeX;} |
Source code |
|
1 |
return getX() |
Turner, Serveradmin & Workaholic
Date of registration: Apr 25th 2006
Location: Südstadt
Occupation: (iter (B.Sc. Inf, 8)) \n (be-a-slave ("SRA", "Bachelor Thesis")) \n (be-a-programmer-slave ("Freelancer", "Programming"))
Source code |
|
1 |
sum += this.gibElementXY(nx, ny) ? 1 : 0; |
Source code |
|
1 2 3 |
if (!(i == 0 && j == 0)) { liefert nicht dasselbe wie if ( i != 0 && j != 0) { |
Senior Schreiberling
Date of registration: Feb 3rd 2003
Location: Ex-Europameisterland
Occupation: 4TheScience
This post has been edited 1 times, last edit by "Dot" (Jun 9th 2006, 8:14pm)
Trainee
Date of registration: Oct 12th 2005
Location: Hildesheim
Occupation: B.Sc. Informatik / 1. Semester
Quoted
Original von ruffy85
Nur wie kriege ich dann das für den linken, bzw. oberen Rand hin?!