/**
 * The main class of the Tetris game.
 */
class Main {
	static Tile tile;
	static Menu menu;
	static TetrisGame game;

    /** Initializes a Tetris game and starts running it. */
    function void main() {
		var int x;
		var int time;
		let menu = Menu.new(null,null,null," Play");
		do Tile.init();
		let time = 10000;
		while(time > 0){
			if (time = 10000){
				do Main.drawStart();
				do Main.drawTile();
				do menu.draw();
			}
			if (time = 1){
				do Main.clearTile();
				do Main.drawTile();
				let time = 10000;
			}
			let x = menu.getButton();
			if (x = 3) {
				do Main.clearTile();
        		let game = TetrisGame.new();
        		do game.run();
        		do game.dispose();
				do menu.draw();
				do Sys.wait(5000);
				let time = 20000;
			}
			let time = time - 1;
		}
        return;
    }

	function void drawTile(){
		let tile = Tile.new();
		do tile.move(6,12);
		do tile.draw();
		return;
	}

	function void clearTile(){
		do tile.erase();
		do tile.dispose();
		return;
	}

	function void drawStart(){
		var String n2t;
		var String hv;
		let n2t = "nand2tetris-fpga";
		do Screen.clearScreen();
		do Screen.setPenColor(0);
		do Output.moveCursor(6,7);
		do Output.printString(n2t);
		do n2t.dispose();
		return;
	}
	
}
