Kapitel 16. Klassen wiederverwenden

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

In Kapitel 15 haben wir Klassen entwickelt, um Conway's Game of Life zu implementieren. Wir können die Klassen Cell und GridCanvas wiederverwenden, um andere Simulationen zu implementieren. Eines der interessantesten Null-Spieler-Spiele ist Langton's Ant, das eine "Ameise" simuliert, die in einem Gitter herumläuft. Die Ameise befolgt nur zwei einfache Regeln:

  1. Wenn die Ameise auf einer weißen Zelle steht, dreht sie sich nach rechts, macht die Zelle schwarz und zieht weiter.

  2. Wenn die Ameise auf einem schwarzen Feld steht, dreht sie sich nach links, macht das Feld weiß und zieht weiter.

Da die Regeln einfach sind, könnte man erwarten, dass die Ameise etwas Einfaches tut, wie ein Quadrat bilden oder ein einfaches Muster wiederholen. Aber die Ameise beginnt auf einem Gitter mit allen weißen Zellen und macht mehr als 10.000 Schritte in einem scheinbar zufälligen Muster, bevor sie in eine sich wiederholende Schleife von 104 Schritten einsteigt. Du kannst mehr darüber lesen unter: Wikipedia's "Langton's Ant" Eintrag.

In diesem Kapitel stellen wir eine Lösung für Langtons Ameise vor und verwenden sie, um fortgeschrittenere objektorientierte Techniken zu demonstrieren.

Langtonsche Ameise

Wir beginnen mit der Definition einer Klasse Langton, die ein Gitter und Informationen über die Ameise enthält. Der Konstruktor erhält die ...

Get Think Java, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.