//Name: Nicholas Brinley
//Date: 2/22/09
//class: csis 250
//Assign: #2 blocks
//Description: Header file for block stacking problem
#ifndef BLOCKS_H
#define BLOCKS_H
#include <iostream>
using namespace std;
/*------Global Varibles--------*/
const int MAX_SIZE = 26;
int getNumBlocks();
void fillArray(int stack[][MAX_SIZE], int numBlocks);
void commandHelp();
bool readInCmd(int stack[][MAX_SIZE]);
void findBlock(int stack[][MAX_SIZE], int referenceBlock, int horizontal, int
vertical);
void returnBlock(int stack[][MAX_SIZE], int horizontal, int vertical);
void moveOnto(int stack[][MAX_SIZE], int blockMoved, int referenceBlock);
void moveOver(int stack[][MAX_SIZE], int blockMoved, int referenceBlock);
void pileOnto(int stack[][MAX_SIZE], int blockMoved, int referenceBlock);
void pileOver(int stack[][MAX_SIZE], int blockMoved, int referenceBlock);
void printBlocks(int stack[][MAX_SIZE], int numBlocks);
#endif