У меня есть следующий код для создания случайно заполненной сетки в Swift:
import Foundation
var tile = [String](count: 900, repeatedValue: ".")
// Randomly populate the grid with hashes
for i in 0...400 {
tile[Int(arc4random_uniform(899))] = "#"
}
// Print the grid to console
for y in 0...(29) {
for x in 0...(29) {
print("\(tile[y * 10 + x])")
}
println("")
}
Запуск этого кода создает сетку, которая выглядит следующим образом:
..##..#.#...#..#..#.#.####.#..
..#..#..#.#.####.#....###.#.#.
#.####.#....###.#.#.#####.....
..###.#.#.#####.....#...#....#
#####.....#...#....###.##.###.
#...#....###.##.###..#.....#..
##.##.###..#.....#...##..#.##.
.#.....#...##..#.##...#.####..
.##..#.##...#.####..###..#.#.#
..#.####..###..#.#.#.#..#.....
###..#.#.#.#..#.........#...##
.#..#.........#...##.##.......
....#...##.##............#...#
.##............#...####....##.
.....#...####....##..#.#.....#
###....##..#.#.....#........#.
.#.#.....#........#...#.#..#..
........#...#.#..#......#....#
..#.#..#......#....#.##.#...##
....#....#.##.#...###...#..#..
.##.#...###...#..#..#.#..#...#
#...#..#..#.#..#...#####...##.
#.#..#...#####...##..#.......#
####...##..#.......#.#.#.....#
.#.......#.#.#.....##.........
.#.#.....##..........##.#..#.#
#..........##.#..#.##.#.#.....
.##.#..#.##.#.#.....##...#....
#.#.#.....##...#......#.##....
##...#......#.##.....#.######.
Вы можете ясно видеть, что картина повторяется. Есть ли способ "выкинуть" функцию, чтобы генерация была более убедительной?