• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> Klick

[Swift] Playgrounds Hilfethread

ullistein

Sonnenwirtsapfel
Registriert
28.12.10
Beiträge
2.412
Ich hoffe, es gibt so einen Thread noch nicht, die Suche hat mir zumindest keinen ausgespuckt.

Ich versuche mich daran, mit Playgrounds Swiftprogrammierung zu lernen und es macht richtig Spaß damit, auch als Spätjugendlicher.

Nun bin ich bei den Arrays angekommen und tue mich ziemlich schwer damit. Ich bin beim Rätsel „Inselbaumeister“.

Dort soll man in der Mitte der Insel Blöcke platzieren und drumherum Wasser.

Ich scheitere jetzt daran, wie ich in der if-Anweisung die Koordinaten richtig angebe, so dass nur in der Mitte des Feldes Blöcke gesetzt werden. Bei meinen Versuchen kommt bestenfalls ein Kreuz heraus. Ich würde gerne mehrere logische Operatoren aneinanderreihen, aber das darf ich ja nicht.

Wie müssen die Anweisungen also korrekt aussehen?

So habe ich es zurzeit:

Code:
let allCoordinates = world.allPossibleCoordinates
// Create two empty arrays of type [Coordinate].
var water: [Coordinate] = []
var blocks: [Coordinate] = []

for coordinate in allCoordinates {
    if coordinate.column < 8 && coordinate.column > 3 {
        // Append to island array.
    blocks.append(coordinate)
        }
    if coordinate.row > 3 && coordinate.row < 8 {
        blocks.append(coordinate)
    }
    else {
        // Append to sea array.
        water.append(coordinate)
    }
}
// For your island array, place blocks.
for coordinate in blocks {
    world.place(Block(), at: coordinate)
}

// For your sea array, place water.
for coordinate in water {
    world.removeItems(at: coordinate)
    world.place(Water(), at: coordinate)
}