package org.reprap.utilities;
import java.io.*;
public class FilterGenerator {
static final int bit0 = 1;
static final int bit1 = 2;
static final int bit2 = 4;
static final int bit3 = 8;
static final int bit4 = 16;
static final int bit5 = 32;
static final int bit6 = 64;
static final int bit7 = 128;
private static void printPattern(int i)
{
String op = new String();
if((i & bit6) != 0)
op += " 1";
else
op += " .";
if((i & bit5) != 0)
op += " 1";
else
op += " .";
if((i & bit4) != 0)
op += " 1";
else
op += " .";
op += "\n";
if((i & bit7) != 0)
op += " 1";
else
op += " .";
op += " +";
if((i & bit3) != 0)
op += " 1";
else
op += " .";
op += "\n";
if((i & bit0) != 0)
op += " 1";
else
op += " .";
if((i & bit1) != 0)
op += " 1";
else
op += " .";
if((i & bit2) != 0)
op += " 1";
else
op += " .";
System.out.println(op);
}
private static int r90(int i)
{
int r = i;
r = r << 2;
if((r & 512) != 0)
r = r | 2;
if((r & 256) != 0)
r = r | 1;
r = r & 255;
return r;
}
public static void main(String[] args)
{
BufferedReader br = new BufferedReader(
new InputStreamReader(System.in));
boolean[] action = new boolean[256];
String resp = null;
for(int i = 0; i < 64; i++)
{
printPattern(i);
System.out.println();
System.out.print("Kill? ");
try
{
resp = br.readLine();
} catch (Exception e)
{
System.out.println(e);
}
action[i] = resp.startsWith("y");
int j = i;
for(int k = 0; k < 3; k++)
{
j = r90(j);
printPattern(j);
System.out.println();
action[j] = action[i];
}
System.out.println("V");
System.out.println("V");
}
System.out.println("--------");
for(int i = 0; i < 256; i++)
{
System.out.print(action[i] + ", ");
if((i+1)%16 == 0)
System.out.println();
}
}
}