Tracks
/
Java
Java
/
Übungen
/
Labyrinthmäuse
Labyrinthmäuse

Labyrinthmäuse

Schwer

Einführung

Triff Mickey und Minerva, zwei kluge Mäuse, die es lieben, sich ihren Weg durch ein Labyrinth zu bahnen, um Käse zu finden. Sie mögen eine gute Herausforderung, doch mit ihren winzigen Mäusehirnen ist es ihnen lieber, wenn es nur einen richtigen Weg zum Käse gibt.

Anleitung

Deine Aufgabe ist es, die perfekten Labyrinthe für Mickey und Minerva zu erzeugen: solche mit nur einer Lösung und ohne isolierte Bereiche. Das solltest du wissen:

  • Das Labyrinth hat eine rechteckige Form mit einer Öffnung am Anfang und am Ende.
  • Das Labyrinth hat Räume und Gänge, die sich im rechten Winkel kreuzen.
  • Das Programm soll zwei Parameter akzeptieren: Zeilen und Spalten. Das Labyrinth soll zwischen 5 und 100 Zellen groß sein.
  • Ein Labyrinth, das x Spalten breit und y Zeilen hoch ist, soll 2x + 1 Zeichen breit und 2y + 1 Zeichen hoch sein.
  • Wenn kein Seed angegeben wird, erzeuge ein zufälliges Labyrinth. Wenn derselbe Seed mehrmals angegeben wird, soll das resultierende Labyrinth jedes Mal dasselbe sein.
  • Verwende Box-Drawing-Zeichen, um Wände zu zeichnen, und ein Pfeilsymbol (⇨) für den Eingang links und den Ausgang rechts.

Jetzt wird es Zeit, ein paar perfekte Labyrinthe für diese abenteuerlustigen Mäuse zu erschaffen!

Beispiele

  1. Ein kleines quadratisches Labyrinth mit 5x5 Zellen (oder 11x11 Zeichen)

    ┌───────┬─┐
    │       │ │
    │ ┌─┬── │ │
    │ │ │   │ ⇨
    │ │ │ ──┤ │
    ⇨ │ │   │ │
    ┌─┤ └── │ │
    │ │     │ │
    │ │ ────┘ │
    │         │
    └─────────┘
    
  2. Ein rechteckiges Labyrinth mit 6x18 Zellen

    ┌───────────┬─────────┬───────────┬─┐
    │           │         │           │ │
    │ ┌───────┐ │ ┌─┐ ──┐ └───┐ ┌───┐ │ │
    │ │       │ │ │ │   │     │ │   │   ⇨
    │ └─┐ ┌─┐ │ │ │ ├── ├───┐ │ │ ──┼── │
    │   │ │ │   │   │   │   │ │ │   │   │
    └── │ │ ├───┴───┤ ┌─┘ ┌─┘ │ ├── │ ──┤
    ⇨   │   │       │ │   │   │ │   │   │
    ┌─┬─┴─┐ └─┐ ┌─┐ │ └─┐ │ ┌─┘ │ ──┴─┐ │
    │ │   │   │ │ │ │   │   │   │     │ │
    │ │ │ └── │ │ │ └── │ ──┘ ┌─┘ ──┐ │ │
    │   │       │       │     │     │   │
    └───┴───────┴───────┴─────┴─────┴───┘
    
Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab
Java Exercism

Bereit, mit Labyrinthmäuse zu starten?

Melde dich bei Exercism an, um Java mit 26 Konzepte158 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.