Skip to content

Instantly share code, notes, and snippets.

@tstarck
Created September 16, 2016 07:56
Show Gist options
  • Save tstarck/2465e7015d519eb64f43b05c547b0c37 to your computer and use it in GitHub Desktop.
Save tstarck/2465e7015d519eb64f43b05c547b0c37 to your computer and use it in GitHub Desktop.
import robotti.Ohjain;
public class Viivakimara {
private static final String[] FONT = {
"2>7<3<6<4<5<5<5<1>1<3>>4",
"2>1>1<1<1>4>1<1<3<1<1>6<1>>2",
"2>2>1>1>5>2>2<1>1<2<3>1>5>1>1<1>2<1>1<4<3>>4",
"2>2>1>1>5>2>3<1<3>2>5>1>1>2<3<7<3>>4",
"5>4<1>1>1<2>1>2<3>2>1<1>2>2>2>1>1<2>1<1>2",
"6>1>4<2<3>4>3>2<1<1<5<2<5>4>5",
"2>1>1<5<4<2<3<3<3<1>1<2<1>1<3>3>3>2<1<1<4>1>4",
"6>2>2<2>2<3<1<4>2<2<4>1>5",
"2>6<3<5<4<2<4>1>4<2<1>1<3<1>1<2<1>1>1<2<1>1<3>>4",
"2>3<3<2<4<2<1>1<3>2>3>1<1<1<1>1<3<1>1<5<1>1<3>>4"
};
public static void main(String[] args) {
Ohjain.kaynnista();
Viivakimara.viivakimara(92);
Ohjain.sammuta();
}
private static void liikuMonta(int askelta) {
for (int i = 0; i < askelta; i++) {
Ohjain.liiku();
}
}
private static void piirraNelio(int koko) {
for (int i = 0; i < 4; i++) {
Viivakimara.liikuMonta(koko);
Ohjain.oikea();
}
}
private static void sisakkaisetNeliot(int monta) {
for (int i = 1; i <= monta; i++) {
Viivakimara.piirraNelio(i);
}
}
private static void rajatutSisakkaisetNeliot(int suurin, int pienin) {
for (int i = pienin; i <= suurin; i++) {
Viivakimara.piirraNelio(i);
}
}
private static void viivakimara(int koko) {
String input = Integer.toString(koko);
for (int i = 0; i < input.length(); i++) {
int digit = Integer.parseInt(String.valueOf(input.charAt(i)));
String letter = FONT[digit];
for (int j = 0; j < letter.length(); j++) {
char c = letter.charAt(j);
switch (c) {
case '>':
Ohjain.oikea();
break;
case '<':
Ohjain.vasen();
break;
default:
liikuMonta(Integer.parseInt(String.valueOf(c)));
}
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment