parent
966de05ae8
commit
30fd2fdee6
@ -1,16 +1,27 @@
|
|||||||
import 'package:aoc2020/aoc2020.dart';
|
import 'package:aoc2020/aoc2020.dart';
|
||||||
import 'package:args/args.dart';
|
import 'package:args/args.dart';
|
||||||
|
|
||||||
// import 'package:aoc2020/aoc2020.dart' as aoc2020;
|
|
||||||
|
|
||||||
// ignore: always_declare_return_types
|
|
||||||
ArgResults argResults;
|
ArgResults argResults;
|
||||||
|
|
||||||
|
const dayOption = 'day';
|
||||||
|
const listOption = 'list';
|
||||||
|
const runAllOption = 'runAll';
|
||||||
|
const runLastOption = 'runLast';
|
||||||
|
const testOnlyOption = 'testOnly';
|
||||||
void main(List<String> arguments) {
|
void main(List<String> arguments) {
|
||||||
final parser = ArgParser()
|
final parser = ArgParser()
|
||||||
..addOption('day', abbr: 'd', help: 'Select the day') //, callback: (day) => print('the day is aoc202012$day'))
|
..addOption(dayOption, abbr: 'd', help: 'Select the day')
|
||||||
..addFlag('list', abbr: 'l', help: 'List available days', callback: (_) => aoc2020.list())
|
..addFlag(listOption, abbr: 'l', help: 'List available days')
|
||||||
..addFlag('runAll', abbr: 'r', help: 'Run all available days', callback: (_) => aoc2020.runAll());
|
..addFlag(runAllOption, abbr: 'a', help: 'Run all available days')
|
||||||
|
..addFlag(runLastOption, abbr: 'r', help: 'Run last available day')
|
||||||
|
..addFlag(testOnlyOption, abbr: 't', defaultsTo: true, help: 'Run last available day in test only');
|
||||||
argResults = parser.parse(arguments);
|
argResults = parser.parse(arguments);
|
||||||
// final paths = argResults.rest;
|
if (argResults[dayOption] != null) {
|
||||||
// print('paths: ${paths}!');
|
} else if (argResults[listOption]) {
|
||||||
|
aoc2020.list();
|
||||||
|
} else if (argResults[runAllOption]) {
|
||||||
|
aoc2020.runAll(testOnly: argResults[testOnlyOption]);
|
||||||
|
} else {
|
||||||
|
aoc2020.runLast(testOnly: argResults[testOnlyOption]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,42 @@
|
|||||||
|
import 'package:aoc2020/aocbase.dart';
|
||||||
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
// import 'dart:mirrors';
|
||||||
|
|
||||||
|
class AOC20201202 extends AOCBase {
|
||||||
|
@override
|
||||||
|
Future<void> a({bool test}) async {
|
||||||
|
var filename = (test ?? false) ? classStringTest : classString;
|
||||||
|
var mylist = await ReadData.readFileString(filename);
|
||||||
|
var validPasswords = 0;
|
||||||
|
for (var index = 0; index < mylist.length; index++) {
|
||||||
|
var mysplit = mylist[index].split(' ');
|
||||||
|
var password = mysplit[2];
|
||||||
|
var testLetter = mysplit[1].split(':')[0];
|
||||||
|
var rangeCount = mysplit[0].split('-');
|
||||||
|
var minCount = int.parse(rangeCount[0]);
|
||||||
|
var maxCount = int.parse(rangeCount[1]);
|
||||||
|
var count = testLetter.allMatches(password).length;
|
||||||
|
if (count >= minCount && count <= maxCount) validPasswords++;
|
||||||
|
}
|
||||||
|
answerA = validPasswords;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> b({bool test}) async {
|
||||||
|
var filename = (test ?? false) ? classStringTest : classString;
|
||||||
|
var mylist = await ReadData.readFileString(filename);
|
||||||
|
var validPasswords = 0;
|
||||||
|
for (var index = 0; index < mylist.length; index++) {
|
||||||
|
var mysplit = mylist[index].split(' ');
|
||||||
|
var password = mysplit[2];
|
||||||
|
var testLetter = mysplit[1].split(':')[0];
|
||||||
|
var rangeCount = mysplit[0].split('-');
|
||||||
|
var index1 = int.parse(rangeCount[0]) - 1;
|
||||||
|
var letter1 = password.substring(index1, index1+1) == testLetter;
|
||||||
|
var index2 = int.parse(rangeCount[1]) - 1;
|
||||||
|
var letter2 = password[index2] == testLetter;
|
||||||
|
if (letter1 ^ letter2) validPasswords++;
|
||||||
|
}
|
||||||
|
answerB = validPasswords;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,54 @@
|
|||||||
|
import 'package:aoc2020/aocbase.dart';
|
||||||
|
import 'package:aoc2020/model/point.dart';
|
||||||
|
import 'package:aoc2020/model/readdata.dart';
|
||||||
|
|
||||||
|
class AOC20201203 extends AOCBase {
|
||||||
|
static const tree = '#';
|
||||||
|
|
||||||
|
int indexWrap({int index, int width}) => index % width;
|
||||||
|
int treeTest({int index, String line}) {
|
||||||
|
var width = line.length;
|
||||||
|
var testChar = line[indexWrap(index: index, width: width)];
|
||||||
|
return testChar == tree ? 1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int tobogganRide({List<String> hill, Point start, Point slope}) {
|
||||||
|
var numberOfTrees = 0;
|
||||||
|
var pos = start;
|
||||||
|
for (var lineNum = 0; lineNum < hill.length; lineNum += slope.item2) {
|
||||||
|
numberOfTrees += treeTest(index: pos.item1, line: hill[lineNum]);
|
||||||
|
pos = pos + slope;
|
||||||
|
}
|
||||||
|
return numberOfTrees;
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> a({bool test}) async {
|
||||||
|
var filename = (test ?? false) ? classStringTest : classString;
|
||||||
|
var mylist = await ReadData.readFileString(filename);
|
||||||
|
answerA = tobogganRide(hill: mylist, start: Point(0, 0), slope: Point(3, 1));
|
||||||
|
}
|
||||||
|
|
||||||
|
@override
|
||||||
|
Future<void> b({bool test}) async {
|
||||||
|
var filename = (test ?? false) ? classStringTest : classString;
|
||||||
|
var mylist = await ReadData.readFileString(filename);
|
||||||
|
|
||||||
|
var slopes = <Point>[
|
||||||
|
Point(1, 1),
|
||||||
|
Point(3, 1),
|
||||||
|
Point(5, 1),
|
||||||
|
Point(7, 1),
|
||||||
|
Point(1, 2),
|
||||||
|
];
|
||||||
|
answerB = 0;
|
||||||
|
for (var slope in slopes) {
|
||||||
|
var trees = tobogganRide(hill: mylist, start: Point(0, 0), slope: slope);
|
||||||
|
if (answerB == 0) {
|
||||||
|
answerB = trees;
|
||||||
|
} else {
|
||||||
|
answerB *= trees;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,3 @@
|
|||||||
|
1-3 a: abcde
|
||||||
|
1-3 b: cdefg
|
||||||
|
2-9 c: ccccccccc
|
||||||
@ -0,0 +1,323 @@
|
|||||||
|
.#.#....###..#.#..............#
|
||||||
|
#......#####..##.##.#.......#.#
|
||||||
|
.###.....#..#.#..#..#.#......#.
|
||||||
|
.........##.#.....#.#..........
|
||||||
|
........##....#.......#.#..#..#
|
||||||
|
#.#..####...#.....#.#.#...#....
|
||||||
|
#....#...#.........#.....#..#.#
|
||||||
|
.#..........#..#.............#.
|
||||||
|
...##..##..#...####.#.#.#.#....
|
||||||
|
.#...####............##....#...
|
||||||
|
..##.....#.#......#......#.#.#.
|
||||||
|
..##......#..##.....#.#.....#.#
|
||||||
|
..#...#....#.#.........##......
|
||||||
|
#..##..##..#..##....#....##.#.#
|
||||||
|
..###.#....#.#.#...#......#.#.#
|
||||||
|
....#...#...#.........#.....##.
|
||||||
|
.#..#.#..........#.##.....#.#..
|
||||||
|
.#...#...###..#..#..####.#...#.
|
||||||
|
##..............#..#.#...###..#
|
||||||
|
.#..#.#.#...#..#...#..#........
|
||||||
|
..#.#......#.#..##...#.#..#....
|
||||||
|
...#.#.....#.##..#...#..#......
|
||||||
|
...#...##....##..#....#..#...#.
|
||||||
|
#......##.#.......#...#..#.#...
|
||||||
|
.#..#......####...#............
|
||||||
|
...#..##.#...#....#.#.#.#......
|
||||||
|
....##...........##.#.#...##...
|
||||||
|
#.##.###........#..###.#..##...
|
||||||
|
....#......#....##...##.#......
|
||||||
|
#.............#...#.........#..
|
||||||
|
..##.......#.......#.#...#...#.
|
||||||
|
...#....####...#...#....#.###..
|
||||||
|
...##......#...###.#...#....#..
|
||||||
|
...#.............#...#.......#.
|
||||||
|
...#..#.##.##.#..#.##.#..#....#
|
||||||
|
..####.....#..#............#...
|
||||||
|
##....##..#.#.#.#..#..#.....#..
|
||||||
|
......##...##......#.#.........
|
||||||
|
#.#............#.#.#..#......#.
|
||||||
|
...#.#.#.....#..#..#.#..##.....
|
||||||
|
.#.#.............###..#....##..
|
||||||
|
....#.###..#..#.....#..#.##....
|
||||||
|
..#.#....#.......#.......##..#.
|
||||||
|
.#.##.#.#..#..##.........##....
|
||||||
|
...#...###.##....#####.......#.
|
||||||
|
......#.....##...##...#....#.#.
|
||||||
|
###.......##..#.....#......#.#.
|
||||||
|
...#..#..#....#.#.....##..#...#
|
||||||
|
..#....##.......#....#.........
|
||||||
|
#....##.........##......#.#..#.
|
||||||
|
#.....#.#.#..##..#.#.....##....
|
||||||
|
......#....#...#...#.###....##.
|
||||||
|
#...####...###.##..#.#.#..##...
|
||||||
|
......###....###..##......#..##
|
||||||
|
.#.####.###..#.....#...#..#...#
|
||||||
|
.###.#.....#..#.#..#.....##..##
|
||||||
|
...##...#.####....#......###...
|
||||||
|
...##.......#.#..#......#.#....
|
||||||
|
......##....#......#.........#.
|
||||||
|
............#....#............#
|
||||||
|
..#.#..........#......#..#.....
|
||||||
|
.#...#.#.#......#..##..#....##.
|
||||||
|
..##.#.#.#..#...###..#.#.##.#..
|
||||||
|
..#......#.........#.......#...
|
||||||
|
...#...##.#.##......#.....#....
|
||||||
|
..#.....#..##....#..##..#.#.##.
|
||||||
|
....##....#.#...#..##.##.##....
|
||||||
|
..#.............#...#......#...
|
||||||
|
.#.#.#.##..#.#..##...#.........
|
||||||
|
.##...........#..#.#........#..
|
||||||
|
.#..##.....#....#...#...#......
|
||||||
|
#.#.....##.#..#...######....#..
|
||||||
|
....#..#...##...#.........###..
|
||||||
|
..##.#...##..#......#.##..#...#
|
||||||
|
##..##...........#.......#.#...
|
||||||
|
.......##..##...###.##.......#.
|
||||||
|
.#.##...#.##...............#...
|
||||||
|
.......#.............#.......##
|
||||||
|
......#...........#...#..##....
|
||||||
|
.#..#..#....#..........#......#
|
||||||
|
...........#..#.....#....##....
|
||||||
|
###....#....##..#..##.....##...
|
||||||
|
#........#........#...#.##.##..
|
||||||
|
##.#.#........#..#.#..#.......#
|
||||||
|
.##.#.....#............#.......
|
||||||
|
.....#........#..##......##....
|
||||||
|
.#.####.#.##..................#
|
||||||
|
#...##.......#...#....#.#.##...
|
||||||
|
#.#.##...#.#......#.....#....#.
|
||||||
|
.........#....#...#....#.....#.
|
||||||
|
...#..#..#.#..#.##........##.#.
|
||||||
|
..#.##.#...#...#....#....##..#.
|
||||||
|
.#..#...####..........#.......#
|
||||||
|
....#...#...#...##.#.##......#.
|
||||||
|
.#....#...#.#..##..##.#.....#..
|
||||||
|
.....#....#......#.#####...###.
|
||||||
|
..#...##..#......#.#....#.....#
|
||||||
|
.##....##..###.#.....##.##.##..
|
||||||
|
#...#.#.........#....#....#....
|
||||||
|
...#.........#.##....##.#.#.#..
|
||||||
|
...#...#.#....#..#.#.......#.#.
|
||||||
|
#......#..#....##....#.........
|
||||||
|
...........#......#......###..#
|
||||||
|
#..#...#..##..#....#.....#.#.#.
|
||||||
|
#.#.....##..#..........###..#..
|
||||||
|
#...#.....#.......#..##...#....
|
||||||
|
...#....##.....#..##..#....#...
|
||||||
|
#...#.#......#..#...#........#.
|
||||||
|
.#....#...#...#.........##....#
|
||||||
|
..##...#.........#.......##..#.
|
||||||
|
......#.......#.....##....#..#.
|
||||||
|
.....##..#...#............#.#.#
|
||||||
|
...#....#.##..#...#.#....#.....
|
||||||
|
...#...........#.##....#..##.##
|
||||||
|
##......##....##...........#.#.
|
||||||
|
..##..##......#...#.##.##..#...
|
||||||
|
.#..##.#...##...#......###.##.#
|
||||||
|
###.#....##..#..#.##..##...##..
|
||||||
|
..#........##.#...#.......#....
|
||||||
|
.....##....##.#.###.....#....#.
|
||||||
|
#.##....#....##.....#..#.#.....
|
||||||
|
#.........#..##...##.......##..
|
||||||
|
.#....#......#.#...##..........
|
||||||
|
##..##.....##....###..#...#.#.#
|
||||||
|
..##.#.#..#......#.#....###..#.
|
||||||
|
.#.##.....##.......##.#.##..#..
|
||||||
|
..##...#........#.#.#.##.#..###
|
||||||
|
........#.......#...##....#.#..
|
||||||
|
...#..#...#.##..#...#.#.###.##.
|
||||||
|
..#.#....#..#...#..##.........#
|
||||||
|
#....#..##..##....#.........#..
|
||||||
|
.......#.......#....#....#.#...
|
||||||
|
...#.##...#...#..#....#.###.##.
|
||||||
|
##.##...#..........#....#......
|
||||||
|
#.##.#.....#..#............##.#
|
||||||
|
.##...#.#.#.##...........#..##.
|
||||||
|
.#...#....#.......##...##...#.#
|
||||||
|
.#......#..#...#...#....#.#....
|
||||||
|
...#..#..#...#..##..##.....#..#
|
||||||
|
.#.##..#.#...#..#.#...#...#...#
|
||||||
|
#.##..........#.##..#....#.....
|
||||||
|
##....#.#..........#..#....#...
|
||||||
|
..#..##.#.......#...#.##......#
|
||||||
|
....##......#......#.#.#.##....
|
||||||
|
###......#...##..#..........###
|
||||||
|
##.#.##.....###.#..#.#......#..
|
||||||
|
#.#.#........#..........#....#.
|
||||||
|
...#.#..#.......#......##.#....
|
||||||
|
......#.....#.#.#....###..#...#
|
||||||
|
.........#...#..#####..#.#..#..
|
||||||
|
..........#.#.#####.#..#.....#.
|
||||||
|
....#.......#.#....#.....##..#.
|
||||||
|
#...##.#..#.#........#.#..#..##
|
||||||
|
#......#..#.#.....##......#.##.
|
||||||
|
.##...#....#.##..#.....###..#..
|
||||||
|
#....#.#..##....##..#.#####....
|
||||||
|
.......##..........#......#....
|
||||||
|
......#.#...#............#.....
|
||||||
|
.......###.....##.#..#.#....#.#
|
||||||
|
...#...#..........#....##...##.
|
||||||
|
.#..#.#.#....#.#.....##..#.#..#
|
||||||
|
......#.#..#....#..#...#.......
|
||||||
|
##.#####............#.#.####.#.
|
||||||
|
#.....###.#.......##...###....#
|
||||||
|
......#.##..##.........#.#.....
|
||||||
|
.#.#......#..#.##......#......#
|
||||||
|
.#.#.#..#.#...##.....#..#.#..#.
|
||||||
|
.#.#....#......................
|
||||||
|
#.#..###...#...####.##.#....#.#
|
||||||
|
.....#............#....#..#.##.
|
||||||
|
#..#...#.#....#....#..#..#...#.
|
||||||
|
...#.......#..#.#....#.......#.
|
||||||
|
.#..#.#...#.#.####..#...#....##
|
||||||
|
....#..#..............####....#
|
||||||
|
.....#.#.###....#.#.#.#...#....
|
||||||
|
..####..#.#.##.##.##....#..#...
|
||||||
|
.#.#.#.###..#.##..............#
|
||||||
|
..#.#..#...#.....#.......#.##..
|
||||||
|
.#.#..#.....##...###.....#..#..
|
||||||
|
..#..#......#.##..#......##..#.
|
||||||
|
.....#.#.#..##..###.#..........
|
||||||
|
.##......#...#.##.......#..#..#
|
||||||
|
.......#...#.....###.##...##...
|
||||||
|
..##..#.#.......#..............
|
||||||
|
#.....#......#.#..#..#..#......
|
||||||
|
..###.......##...#.##....#.....
|
||||||
|
.....##...........##.....#...##
|
||||||
|
.#.#.####....###.#.......#...##
|
||||||
|
#.#..##.#.#.....#.#....#.......
|
||||||
|
.........#.#..#...............#
|
||||||
|
..##.#..#..#####.###.........#.
|
||||||
|
.#........#...#...#...#.##.#..#
|
||||||
|
.#.##..........#..##....#.#.#..
|
||||||
|
.##......#....#.#....##.#.#.#..
|
||||||
|
.......##.####..#..#.#..#.#...#
|
||||||
|
...#.....#..##..###.#..##...#..
|
||||||
|
#.......##..#####....#.......#.
|
||||||
|
#.#.##.................#...###.
|
||||||
|
................####...........
|
||||||
|
.#..#......#...###.............
|
||||||
|
......#.#.##.##.....#..........
|
||||||
|
.......#..#.#............##....
|
||||||
|
#........#..#....#......#.####.
|
||||||
|
...#.#....##..#..#.............
|
||||||
|
..#.#......#...#.#..#..........
|
||||||
|
###...###...........#......#...
|
||||||
|
#.###..###........###...#..###.
|
||||||
|
.#.....#...#.#...........##....
|
||||||
|
....#..##.....#..#......#......
|
||||||
|
#.###.#........#.#.##..........
|
||||||
|
#.#.#.#.#..#.#...#...##.#......
|
||||||
|
..###.......###..#.#.#.#.#.....
|
||||||
|
...#........#.......#.###..##..
|
||||||
|
.#........#...#.#........#..##.
|
||||||
|
#.......###..#....##.###...#..#
|
||||||
|
.##....###..##...........##...#
|
||||||
|
#...#..........#.....#..##..#..
|
||||||
|
#..##..#..##.#.........##......
|
||||||
|
..#.#..###..###.....#.......#..
|
||||||
|
#...#...........##.#.#.###.....
|
||||||
|
...#....#.....#.....#.##.#.##.#
|
||||||
|
...........##.......####...#..#
|
||||||
|
#.#...#..##..#.#..#..........#.
|
||||||
|
..#...#.##........#.#..........
|
||||||
|
.##.....#.#.#....#.#.......#.#.
|
||||||
|
.......#.##...#.##....#.#...#..
|
||||||
|
......#...##...###...#.....###.
|
||||||
|
##......#.##.####.##...##......
|
||||||
|
..#....#.#..###.#..##....#..#..
|
||||||
|
...##..###.....###.....#.......
|
||||||
|
...#.....#.#........#..#..##.#.
|
||||||
|
.....................#.....#.#.
|
||||||
|
.#...#...##.#..#..........#...#
|
||||||
|
#.....#..#....#..#.......####..
|
||||||
|
.##.......##......###.#..#...##
|
||||||
|
.#.##..#...#..........##.......
|
||||||
|
...##...........##..##......#..
|
||||||
|
#....##.##...#......##.#.##.##.
|
||||||
|
..##.##.#.#.#....#........#.#..
|
||||||
|
....#......#......##..##.#.#...
|
||||||
|
.............#.##...#..#...#...
|
||||||
|
.#..#...#.........#...........#
|
||||||
|
....#.....#..................#.
|
||||||
|
........##............#...#..##
|
||||||
|
.###.....##...#...#.##.....##..
|
||||||
|
...##.#.........##.#.#..#......
|
||||||
|
#...........##.#..#........#..#
|
||||||
|
....#....#..##.#..##..#..#..#.#
|
||||||
|
#..##..#............#...#.#.#..
|
||||||
|
#......#..##......#...##..#...#
|
||||||
|
....#.#..##.#.#...####...#.....
|
||||||
|
.##..#..##....#...#....#...##.#
|
||||||
|
##.....#.#........#....#.#.#...
|
||||||
|
......#.#...##....#.###.....#.#
|
||||||
|
..#..#............###.###.##.#.
|
||||||
|
#..#.##.##.##..#...#.#.##..#...
|
||||||
|
....#..#.#...#......#..###.....
|
||||||
|
.#........#...###.....#...#....
|
||||||
|
....##.##....#..#...#.#####.#.#
|
||||||
|
...#..#...#.#.....#....#...###.
|
||||||
|
..........####...##............
|
||||||
|
.....#....##...##......#..#...#
|
||||||
|
..#...#.####......#...#..#..###
|
||||||
|
.#.....#....#..#...###..#.#....
|
||||||
|
..#..#......#.#...#.....##....#
|
||||||
|
.....##....#....#...#.....##...
|
||||||
|
#............##.#....#.#.#..#..
|
||||||
|
#......#......#....#.#..##.#...
|
||||||
|
#.#......##.....#.#..##.#.#....
|
||||||
|
.#.###..#.#......##...........#
|
||||||
|
#.#.........##..#.#.##......#..
|
||||||
|
##....####...##...........#....
|
||||||
|
....###.#..##.#.#.##...##.....#
|
||||||
|
..###.......##.......#......#..
|
||||||
|
..#.###.##.#...................
|
||||||
|
...#.#...#..#..#..##.###...#.#.
|
||||||
|
#...#..#...#..#....#..#...#....
|
||||||
|
....#........#.#.#.##.##.#..#.#
|
||||||
|
...#....#.#...#..#....#.#.#....
|
||||||
|
..#...#..##.#....##...###...##.
|
||||||
|
#......#.....#.....#....####.#.
|
||||||
|
...##.#..#.#.....#..#..##.#....
|
||||||
|
.####.#..#...#.#......#......#.
|
||||||
|
..#.#....#..#..##.#......##....
|
||||||
|
....#...#.#..#...#...##........
|
||||||
|
##..#.#....#..#.........#..##..
|
||||||
|
...#.......#....#..##...###..##
|
||||||
|
#......##.#..#..#..#..###.#.###
|
||||||
|
.#..##.#...##...#.............#
|
||||||
|
###.........#...###.#.#..#....#
|
||||||
|
.#.....#..#........#.#.......#.
|
||||||
|
#..#.#.....#.........###..#....
|
||||||
|
#..##.....#.#....#.###.....#..#
|
||||||
|
....#..#.......##..#.#..##....#
|
||||||
|
##.##..#....#..#.#.###.........
|
||||||
|
..##....#........#..#..#.##.#.#
|
||||||
|
.#....#...##..#.#.....#..##..#.
|
||||||
|
#..#.......#......#...#...#.##.
|
||||||
|
...##.#......#.#..#......#.....
|
||||||
|
......#...#.##.#....#...#.##.#.
|
||||||
|
#.....#..#.#.#...##...#........
|
||||||
|
....#.#..#.#.....#....#.#..#...
|
||||||
|
....#.#...###............#.....
|
||||||
|
.#.#...##.......#....#.##...#.#
|
||||||
|
.....#.##......#.#..#...#....#.
|
||||||
|
.###....#...#........#.........
|
||||||
|
..#.....#..#.#.#..##...#..#....
|
||||||
|
...###..#....#.....#.........##
|
||||||
|
#....#....###...#.#............
|
||||||
|
.#..##.....#...........#.#..#..
|
||||||
|
..#.#.#.......##..#.#..........
|
||||||
|
.#...#...####.#...#####.....#.#
|
||||||
|
..#....##.....#..#...#.........
|
||||||
|
#.#......#.##.........#......##
|
||||||
|
..#.#...#.##..#....#....#.##...
|
||||||
|
#....#......##.#..#......#.#.#.
|
||||||
|
#.#.............##..#.#........
|
||||||
|
..#.###.......##.....##.#..##.#
|
||||||
|
.........#........#...#..#....#
|
||||||
|
.........##.#.#..#..#....#....#
|
||||||
|
##..#..#.#.....##.........#.#.#
|
||||||
|
..##.##..#.##..........##.#..#.
|
||||||
|
...#..#####.......#.........#..
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
..##.......
|
||||||
|
#...#...#..
|
||||||
|
.#....#..#.
|
||||||
|
..#.#...#.#
|
||||||
|
.#...##..#.
|
||||||
|
..#.##.....
|
||||||
|
.#.#.#....#
|
||||||
|
.#........#
|
||||||
|
#.##...#...
|
||||||
|
#...##....#
|
||||||
|
.#..#...#.#
|
||||||
@ -0,0 +1,11 @@
|
|||||||
|
|
||||||
|
|
||||||
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
|
class Point extends Tuple2 {
|
||||||
|
Point(x, y) : super(x, y);
|
||||||
|
|
||||||
|
Point operator +(Point other) {
|
||||||
|
return Point(item1 + other.item1, item2 + other.item2);
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue