Innerhalb Methode auf Objekt anderer Klasse zugreifen?

Hallo,

irgendwie kann ich in Zeile 12 (if-Bedingung) nicht auf das Objekt $field zugreifen. Warum nicht? Komme einfach nicht weiter.

Notice: Undefined variable: field in  E:\xampp\htdocs\Array\Farmer.php on line  12
Fatal error: Call to a member function getOccupancy() on null in  E:\xampp\htdocs\Array\Farmer.php on line  12
<?php
class Farmer	{
	public static $count = 8;		// Klassenvariable
	private $xPos, $yPos;
public static function rearrange()  {       // Klassenmethode
    $n=0;
    while($n &lt; Farmer::$count)   {
        $x = rand(0,Field::$rowCount-1);
        $y = rand(0,Field::$rowCount-1);
        echo $x."&nbsp; &nbsp;".$y;
        if($field[$x][$y]-&gt;getOccupancy() == -1) {
            $n++;
            $field[$x][$y]-&gt;setOccupancy($n);
            $farmer[$n]-&gt;setPosition($x, $y);
        }
    }
}

public function setPosition($x, $y) {
    $this-&gt;xPos = $x;
    $this-&gt;yPos = $y;
}

public function getX()  {
    return $this-&gt;xPos;
}
public function getY()  {
    return $this-&gt;YPos;
}
public function getFieldName()  {
    return chr($this-&gt;xPos+65).($this-&gt;yPos+1);
}

}


class Field {


private $occupiedByFarmer = -1;
public static $rowCount = 8;        // Klassenvariable

public function setOccupancy($farmer)   {
    $this-&gt;occupiedByFarmer = $farmer;
}

public function getOccupancy()  {
    return $this-&gt;occupiedByFarmer;
}

}


$farmer = array(); // Bauern erzeugen for($i=0; $i < Farmer::$count; $i++) $farmer[$i] = new Farmer();


$field = array(); // Felder erzeugen for($x=0; $x < Field::$rowCount; $x++) for($y=0; $y < Field::$rowCount; $y++) $field[$x][$y] = new Field();

Farmer::rearrange();
?>
...zum Beitrag

Die for-Schleifen in den letzten Zeilen sind natürlich in meinem Code nicht als Kommentar geschrieben.

...zur Antwort

1. Der Tf gibt die Tür frei

2. Beim Aussteigen steckt der Zb den Schlüssel an die Tür

3. Der Zb schließt die Türen über den Knopf (dort, wo er ausgestiegen ist und der Schlüssel steckt)

4. alle Türen schließen sich, bis auf die des Zb

5. Zb gibt das Zp9/Zp10

6. steigt ein, schließt Tür

7. Tf verriegelt

...zur Antwort

Kommt drauf an, von wo du anreist. Sitzplatzreservierung lohnt sich immer (vor allem Wg. 21, Pl. 11 + 13 im ICE 3 ^^).

...zur Antwort

Was meinst du mit "zu groß gemacht"? Meinst du die Anlagengröße? Die kannst du so mit EEP nicht verändern. Das einzige, was du machen kannst, ist, dass du
dir die Bodentextur "Tunneldurchbruch" (oder so ähnlich) nimmst und sie auf der Fläche aufträgst, die du nicht mehr haben willst. Die Textur findest du übrigens unter Oberflächeneditor - Texturen - EEP 7 Zubehör. Dann entsteht zwar am Rand ein kleiner grüner Rand, aber für die erste Anlage sollte das kein Problem sein.

...zur Antwort

Subjekt: Wer oder Was? Objekt: Wen oder Was?

Präsens: dekliniertes (=gebeugtes) Verb (z.B.: Ich bin. Du schreibst. Er singt.)

Präteritum: Vergangenheitsform des Verbs (z.B.: Ich war. Du schriebst. Er sang.)

Perfekt: haben / sein + Partizip II (gemacht, verlaufen, gelesen,...) des Verbs (z.B.: Ich bin gewesen. Du hast geschrieben. Er hat gesungen.)

Plusquamperfekt: Präteritum von haben / sein + Partizip II (z.B.: Ich war gewesen. Du hattest geschrieben. Er hatte gesungen.)

Futur I: werden + Verb (z.B.: Ich werde sein. Du wirst schreiben. Er wird singen.)

Futur II: werden + Partizip + haben / sein (z.B.: Ich werde gewesen sein. Du wirst geschrieben haben. Er wird gesungen haben.)

Hoffe, ich konnte weiterhelfen.

...zur Antwort

Und ob das strafbar ist: § 224 - Gefährliche Körperverletzung - bis zu 10 Jahre Haft § 226 - Schwere Körperverletzung - ebenfalls bis zu 10 Jahre Haft

...zur Antwort

"Kann ich meinen Nachbarn anzeigen?"

Selbstverständlich! Wieso nicht? Jeder Bürger hat das Recht, in Frieden zu leben. Das mit der Anzeige an sich ist jedenfalls zu 100% machbar.

Wichtig: Den Nachbarn auf jeden Fall mit der eventuellen Anzeige überraschen. Also nicht gleich klingeln gehen: "Hey, ich hab' dich angezeigt!" Wer weiß... Vielleicht wird er dann noch aggressiver.

...zur Antwort

"dass" mit Doppel-S ist eine Konjunktion und davor muss ein Komma stehen (Nur wenn der Nebensatz vorangestellt ist.).

Satzanfänge GROSS schreiben!

...zur Antwort

Einfach mal freiwillig zum Englisch-Dialog vor der Klasse melden und den Lehrer einschätzen lassen.

...zur Antwort

Ich weiß nicht wie es in Eisenbahn X / EEP 10 ist, aber in EEP 9 geht es so:

Gleise biegen: Wenn du ein Gleis markierst ist auf der einen Seite ein grünes Dreieck, auf der anderen ein grüner Punkt. Wenn du jetzt den Punkt mit der Maus anklickst kannst du das Gleis beliebig biegen oder verlängern. ODER Klicke ein markiertes Gleis mit der rechten Maustaste an. Es öffnen sich die Objekteigenschaften. Dort kannst du Länge, Steigung, Winkel etc. angeben. Die zweite Variante finde ich besser, da man mit ihr viel genauer arbeiten kann.

Gleise zusammenfügen: Das ist etwas komplizierter aber dennoch einfach: Wenn du zwei Gleise hast, die du zusammenfügen willst, dann beachte bitte, dass das grüne Dreieck am Gleis der Anfang des Gleises ist, also NICHT das Ende. Willst du also zwei Gleise zusammenfügen, dann schiebe eines der beiden einfach in die Nähe des Endes des anderen. EEP erkennt dann automatisch das du sie zusammenfügen willst. Lass das Gleis los und es springt an das andere dran. Probiers einfach aus.

Zum Verlegen langer Strecken kannst du auch die "Gleis vervielfältigen-Funktion" nutzen.

...zur Antwort