Skip to Content
Think Java, 2. Auflage
book

Think Java, 2. Auflage

by Allen Downey, Chris Mayfield
September 2024
Intermediate to advanced
326 pages
7h 33m
German
O'Reilly Media, Inc.
Book available
Content preview from Think Java, 2. Auflage

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 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Java – die Neuerungen in Version 17 LTS, 18 und 19

Java – die Neuerungen in Version 17 LTS, 18 und 19

Michael Inden
52weeks Swift-18-type-casting

52weeks Swift-18-type-casting

Alfredo Deza, Noah Gift

Publisher Resources

ISBN: 9781098195915Supplemental Content