/***********************************************************************
* Name: Donna Gabai
* NetID: dgabai
* Precept: P01
*
* Description: visualizes operation of a 1D cellular automaton
* Dependencies: CA, Picture
**********************************************************************/
import java.awt.Color;
public class PictureCA {
public static void main(String[] args) {
// Constants
int STEPS = 255; // fixed number of steps per instructions
char BLANK = ' '; // space character
//input rules from command-line
String rules = args[0];
// create a CA and a blank Picture (default is all black)
CA cellAuto = new CA(STEPS, rules);
Picture pic = new Picture(STEPS*2 + 1, STEPS + 1);
// generate a row for each step including initial state
for (int row = 0; row <= STEPS; row++) {
String state = cellAuto.toString();
int width = state.length();
for (int col = 0; col < width; col++) {
// spaces become white pixels, 1s stay black
if (state.charAt(col) == BLANK) pic.set(col, row, Color.WHITE);
}
// next step
cellAuto.step();
}
// display the picture
pic.show();
}
}