day 10
This commit is contained in:
parent
e96c5dad2b
commit
7dfbdc1d62
1
10/.gitignore
vendored
Normal file
1
10/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
Main.class
|
48
10/Main.java
Normal file
48
10/Main.java
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
import java.io.*;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.lang.Math;
|
||||||
|
|
||||||
|
public class Main {
|
||||||
|
static int instructionCounter = 1;
|
||||||
|
static int registerX = 1;
|
||||||
|
static int signalStrenghts = 0;
|
||||||
|
|
||||||
|
public static String getCurrentPixel() {
|
||||||
|
String s = "";
|
||||||
|
int crtPos = (instructionCounter - 1) % 40;
|
||||||
|
// System.out.printf("crtpos: %d\n", crtPos);
|
||||||
|
if (Math.abs(registerX - 1 - crtPos) <= 1) { s = "█"; }
|
||||||
|
else { s = " "; }
|
||||||
|
if (instructionCounter % 40 == 0) { s += "\r\n"; }
|
||||||
|
return s;
|
||||||
|
}
|
||||||
|
public static void instructionFinished() {
|
||||||
|
System.out.print(getCurrentPixel());
|
||||||
|
instructionCounter++;
|
||||||
|
if (instructionCounter >= 20 && (instructionCounter - 20) % 40 == 0) {
|
||||||
|
signalStrenghts += registerX * instructionCounter;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) throws IOException {
|
||||||
|
String input = Files.readString(Path.of(args[0]));
|
||||||
|
String separator = System.getProperty("line.separator");
|
||||||
|
int index = 0;
|
||||||
|
while (true) {
|
||||||
|
int nextIndex = input.indexOf(separator, index + separator.length());
|
||||||
|
if (nextIndex < 0) { break; };
|
||||||
|
String line = input.substring(index, nextIndex);
|
||||||
|
|
||||||
|
instructionFinished();
|
||||||
|
if (!line.equals("noop")) {
|
||||||
|
int val = Integer.parseInt(line.split(" ")[1]);
|
||||||
|
registerX += val;
|
||||||
|
instructionFinished();
|
||||||
|
}
|
||||||
|
index = nextIndex + 1;
|
||||||
|
}
|
||||||
|
System.out.printf("The sum of the signal strengths is: %d\n", signalStrenghts);
|
||||||
|
}
|
||||||
|
}
|
8
10/README.md
Normal file
8
10/README.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# [Day 10](https://adventofcode.com/2022/day/10)
|
||||||
|
:gift::gift::gift::gift::gift::gift::gift::gift::gift::gift:
|
||||||
|
|
||||||
|
Today's language: **Java**
|
||||||
|
|
||||||
|
```shell
|
||||||
|
|
||||||
|
```
|
139
10/asm.txt
Normal file
139
10/asm.txt
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 6
|
||||||
|
addx -1
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -12
|
||||||
|
addx 19
|
||||||
|
addx -1
|
||||||
|
noop
|
||||||
|
addx 4
|
||||||
|
addx -11
|
||||||
|
addx 16
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
addx 4
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -37
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 10
|
||||||
|
addx -9
|
||||||
|
noop
|
||||||
|
addx 1
|
||||||
|
addx 4
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx -40
|
||||||
|
addx 25
|
||||||
|
addx -22
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
noop
|
||||||
|
addx 23
|
||||||
|
addx -18
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 7
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx 1
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx -40
|
||||||
|
addx 3
|
||||||
|
addx 8
|
||||||
|
addx -4
|
||||||
|
addx 1
|
||||||
|
addx 4
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
addx -8
|
||||||
|
noop
|
||||||
|
addx 16
|
||||||
|
addx 2
|
||||||
|
addx 4
|
||||||
|
addx 1
|
||||||
|
noop
|
||||||
|
addx -17
|
||||||
|
addx 18
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx 1
|
||||||
|
addx -11
|
||||||
|
addx -27
|
||||||
|
addx 17
|
||||||
|
addx -10
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
addx 2
|
||||||
|
addx 7
|
||||||
|
noop
|
||||||
|
addx -2
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx 2
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx 2
|
||||||
|
addx 5
|
||||||
|
addx 2
|
||||||
|
addx -5
|
||||||
|
addx -2
|
||||||
|
addx -30
|
||||||
|
addx 14
|
||||||
|
addx -7
|
||||||
|
addx 22
|
||||||
|
addx -21
|
||||||
|
addx 2
|
||||||
|
addx 6
|
||||||
|
addx 2
|
||||||
|
addx -1
|
||||||
|
noop
|
||||||
|
addx 8
|
||||||
|
addx -3
|
||||||
|
noop
|
||||||
|
addx 5
|
||||||
|
addx 1
|
||||||
|
addx 4
|
||||||
|
noop
|
||||||
|
addx 3
|
||||||
|
addx -2
|
||||||
|
addx 2
|
||||||
|
addx -11
|
||||||
|
noop
|
||||||
|
noop
|
||||||
|
noop
|
Loading…
Reference in New Issue
Block a user