Assets
This commit is contained in:
commit
d923fbf84d
|
@ -0,0 +1,24 @@
|
|||
#!/usr/bin/perl
|
||||
|
||||
use warnings;
|
||||
use strict;
|
||||
|
||||
die "program x y density" unless (scalar(@ARGV) == 3);
|
||||
|
||||
my ($x, $y, $density) = @ARGV;
|
||||
|
||||
my $empty = ".";
|
||||
my $obstc = "X";
|
||||
my $full = "#";
|
||||
print "$y${empty}${obstc}${full}\n";
|
||||
for (my $i = 0; $i < $y; $i++) {
|
||||
for (my $j = 0; $j < $x; $j++) {
|
||||
if (int(rand($y) * 2) < $density) {
|
||||
print $obstc;
|
||||
}
|
||||
else {
|
||||
print $empty;
|
||||
}
|
||||
}
|
||||
print "\n";
|
||||
}
|
|
@ -0,0 +1,11 @@
|
|||
10.X#
|
||||
.X......X.........X.
|
||||
.X...X......X.X.....
|
||||
X..X......X........X
|
||||
....X..X...X........
|
||||
.......X........X.X.
|
||||
......X......X......
|
||||
.............X......
|
||||
..X.X..........X....
|
||||
..........X.........
|
||||
...X.........X..X.X.
|
|
@ -0,0 +1,11 @@
|
|||
10.X#
|
||||
.XX.....XX..........
|
||||
..X...X...X..X......
|
||||
X.X......XXXX.......
|
||||
.....X..............
|
||||
......X...X.......XX
|
||||
X...XX.........X.X..
|
||||
..................X.
|
||||
....X...X..XX....X..
|
||||
..............X..X..
|
||||
........X......X.X..
|
|
@ -0,0 +1,11 @@
|
|||
10.X#
|
||||
.........X.X........
|
||||
X.....X.......X.....
|
||||
.X........XXX..X....
|
||||
...X..XX.....X......
|
||||
.....X.....X.....X..
|
||||
..X.........X....X..
|
||||
......X....X.X......
|
||||
...........X....X.X.
|
||||
XX..................
|
||||
....X.....X...X...X.
|
|
@ -0,0 +1,52 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import sys
|
||||
|
||||
def main():
|
||||
with open(sys.argv[1]) as b:
|
||||
board = b.read().splitlines()
|
||||
try:
|
||||
first_line = board[0][::-1]
|
||||
except:
|
||||
print("map error")
|
||||
sys.exit(1)
|
||||
board = board[1:]
|
||||
full = first_line[0]
|
||||
obstc = first_line[1]
|
||||
empty = first_line[2]
|
||||
try:
|
||||
num = int(first_line[3:][::-1])
|
||||
except:
|
||||
print("map error")
|
||||
sys.exit(2)
|
||||
if len(board) != num:
|
||||
print("map error")
|
||||
sys.exit(3)
|
||||
first_line_len = len(board[0])
|
||||
if any(first_line_len != len(line) for line in board):
|
||||
print("map error")
|
||||
sys.exit(4)
|
||||
converted_board = []
|
||||
for i, line in enumerate(board):
|
||||
converted_board.append(list(line))
|
||||
for i in range(len(board)):
|
||||
for j in range(first_line_len):
|
||||
val = board[i][j]
|
||||
if i < 1:
|
||||
top = 0
|
||||
else:
|
||||
top = converted_board[i - 1][j]
|
||||
if j < 1:
|
||||
left = 0
|
||||
else:
|
||||
left = converted_board[i][j - 1]
|
||||
if j < 1 or i < 1:
|
||||
top_left = 0
|
||||
else:
|
||||
top_left = converted_board[i - 1][j - 1]
|
||||
converted_board[i][j] = str(int(val == obstc)) + left + top + top_left
|
||||
print(end=converted_board[i][j])
|
||||
print()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
Loading…
Reference in New Issue