final int BOXCOUNT = 19;
final int HEARTLOC = 9; //right in the middle, matey
final int BOXSIZE = 25; //in pixels
final int SCREENSIZE = 600;
final int WORLDCENTERX = SCREENSIZE / 2 ;
final int WORLDCENTERY = SCREENSIZE / 2;
final int FPS = 30;
final int FRAMESPERROUND = 30; //how many frames between times we can turn

final int WALL = 1;
final int HEART = 2;
final int EMPTY = 0;

final int TURNSTEP = 10; // needs to be less than FRAMESPERROUND, how many frames we're taking up to turn things
final float STEPAMOUNT = (PI / 2)/TURNSTEP; //quarter turn , 90 degrees divided by how many steps we're taking

float GAMELASTS = 120;//time the game lasts in seconds

final int NOTURN = 0;
//isn't that clever, our constants for activeTurn are +- 1...
//we can use that for our visual rotation
//(and my clever I mean kind of obvious)
final int TURNCW = 1; 
final int TURNCCW = -1;

final    float LEFTOFWORLD = (BOXSIZE  *  BOXCOUNT)*-.5; 
final    float TOPOFWORLD = (BOXSIZE  *  BOXCOUNT)*-.5;


final int START = 1;
final int RUNNING = 2;
final int ENDING = 3;

//actually global, not constant:
int world[][] = new int[BOXCOUNT][BOXCOUNT];

int framecount = 0;
float rot = 0.0;
//guy g;
int nextTurn = NOTURN;
int activeTurn = NOTURN;

PImage imgArrowCW; 
PImage imgArrowCCW; 

HashSet guys = new HashSet();
HashSet eggs = new HashSet();
PImage imgBg;

//int score;
int gameState = START;
PImage imgTitle;
PImage imgEnding;


int   numberBorn;// = 2; 
int   numberKilled;// = 0;  


float additionalRotateBackground; 
float upcomingRotateBackgroundOffset;

int finalanimation;


float chance =  7;

int lifepoints = 0;
