|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 |
/** * Liefert Information über das Leben an einer bestimmten Position * auf dem Spielfeld. Es wird ein Wahrheitswert zurückgegeben, der * "true" ist, wenn die Zelle an der angegebenen Stelle lebt. Die * Nummerierung der Zeilen und Spalten geschieht 0-basiert, d.h. * bei einem Feld der Breite 10 hat die erste Spalte den Index 0 * und die letzte den Index 9. * @param x x-Koordinate der zu betrachtenden Zelle * @param y y-Koordinate der zu betrachtenden Zelle * @return wahr, wenn an der angegebenen Position Leben herrscht */ public boolean getValueAt(int x, int y); |

|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
public class GameOfLifeData implements Presentable {
private int w, h, x=0;
public GameOfLifeData(int width, int height) { this.w = width; this.h = height; }
//Interface Presentable
public void iterate() { x++; x = x % Math.max(w, h); }
public int xDimension() { return w; }
public int yDimension() { return h; }
public boolean getValueAt(int x, int y) {
//Geht so nicht. Die "nullte" Zeile bzw. Spalte wird nicht angezeigt.
//Wenn man (x-1) bzw. (y-1) statt x bzw. y schreibt, klappts.
//Ergo fängt das Applet bei 1 an zu zählen und nicht bei 0.
return x == this.x || y == this.x;
}
}
|
This post has been edited 1 times, last edit by "Schokoholic" (Jul 5th 2007, 4:07pm)
...).
This post has been edited 2 times, last edit by "Brainbug" (Jul 5th 2007, 4:37pm)
Quoted
Original von Brainbug
[...]Es darf keine Auswirkungen haben, wenn das 0-basiert implementiert wird
[...](eigentlich sollte die "0-Basiertheit" die Aufgabe leichter machen...).


Quoted
PS: return x == this.x || y == this.x; <- das ist aber auch nicht korrekt, oder?![]()
This post has been edited 1 times, last edit by "Schokoholic" (Jul 5th 2007, 9:16pm)
). Lag bei mir daran, dass ich die Berechnung über das Feldende hinaus nicht innerhalb des Funktionsaufrufes von getValueAt(...) gemacht habe, sondern davor, nämlich als Parameterübergabe. also wurde in meinem Testprogramm immer ein korrekter Wert übergeben (0<=x<=19), das Applet versuchte jedoch im Bereich (1<=x<=20) zuzugreifen.Date of registration: Oct 3rd 2006
Location: Bad Oeynhausen
Occupation: Software-Entwickler bei Diamant Software
Date of registration: Oct 3rd 2006
Location: Bad Oeynhausen
Occupation: Software-Entwickler bei Diamant Software
Quoted
Original von GentleGiant
Da zeigt der mir überhaupt gar keinen Fehler an. Langsam wird es komisch. Fenster im IE bleibt weiter weiß. Im Firefox gibt der mir eine NullPointerException (macht er aber für alle Applets) aus, das liegt allerdings an einer speziellen Einstellung. Die gibt der mir dann nicht mehr aus, wenn ich diese Einstellung auf Standard bringe.
Date of registration: Oct 3rd 2006
Location: Bad Oeynhausen
Occupation: Software-Entwickler bei Diamant Software
This post has been edited 1 times, last edit by "GentleGiant" (Jul 10th 2007, 2:35pm)