示例#1
0
void setDingy( screen &green_grid, screen &red_grid, bool ship_locations[4][4] ) {
	reset_locations( ship_locations );
	green_grid.clearGrid();
	unsigned char input_direction;					//var used to move ship on board
	unsigned char row, col;							//coordinate variables
	row = 0;
	col = 0;
	green_grid.addLight( row, col );		//lights up coordinate ( 1, A ) 
	while (  1 ) {
		input_direction = getInput( green_grid, red_grid );
		if ( input_direction == 0 && row != 0 ) {
			green_grid.subLight( row, col );
			row--;
		}
		else if ( input_direction == 1 && row != 3 ) {
			green_grid.subLight( row, col );
			row++;
		}
		else if ( input_direction == 2 && col != 0 ) {
			green_grid.subLight( row, col );
			col--;
		}
		else if ( input_direction == 3 && col != 3 ) {
			green_grid.subLight( row, col );
			col++;
		}
		if ( input_direction == 4 ) {
			ship_locations[row][col] = true;
			break;
		}
		green_grid.addLight( row, col );
		green_grid.flicker();
	}
}
示例#2
0
void setTriDingy( screen &green_grid, screen &red_grid, bool ship_locations[4][4] ) {
	unsigned char input_direction;							//var used to move ship on board
	unsigned char row, col;  								//coordinate variables
	row = 0;
	col = 0;
	green_grid.addLight( row, col );				//lights up coordinate ( 1, 1 )
	green_grid.addLight( row, col + 1 );			//lights up coordinate ( 2, 1 )
	green_grid.addLight( row, col + 2 );
	
	while ( 1 ) { 
		input_direction = getInput( green_grid, red_grid );
		if ( input_direction == 0 && row != 0 ) {
			green_grid.subLight( row, col );
			green_grid.subLight( row, col + 1 );
			green_grid.subLight( row, col + 2 );
			row--;
			green_grid.addLight( row, col );
			green_grid.addLight( row, col + 1 );
			green_grid.addLight( row, col + 2 );
		}
		else if ( input_direction == 1 && row != 3 ) {
			green_grid.subLight( row, col );
			green_grid.subLight( row, col + 1 );
			green_grid.subLight( row, col + 2 );
			row++;
			green_grid.addLight( row, col );
			green_grid.addLight( row, col + 1 );
			green_grid.addLight( row, col + 2 );
		}
		else if ( input_direction == 2 && col != 0 ) {
			green_grid.subLight( row, col + 2);
			col--;
			green_grid.addLight( row, col );
		}
		else if ( input_direction == 3 && col != 1 ) {
			green_grid.subLight( row, col );
			col++;
			green_grid.addLight( row, col + 2 );
		}
		else if ( input_direction == 4 ) {
			if ( green_grid.collisionCheck( 6 ) == false ) {
				ship_locations[row][col] = true;
				ship_locations[row][col + 1] = true;
				ship_locations[row][col + 2] = true;
				break;
			}
			else {
				setDingy( green_grid, red_grid, ship_locations );
				setDualDingy( green_grid, red_grid, ship_locations );
				row = 0;
				col = 0;
				green_grid.addLight( row, col );			//lights up coordinate ( 1, 1 )
				green_grid.addLight( row, col + 1 );		//lights up coordinate ( 2, 1 )
				green_grid.addLight( row, col + 2 );		//lights up coordinate ( 3, 1 )
			}
		}
		green_grid.flicker();
	}
}