You take the block header, run it through SHA-256 twice, and check whether that hash output is less than the target. if not, you increment the nonce value (which completely changes the hash value, due to the avalanche effect) and try again, over and over, until someone finds a valid block, then you start it all over again with a new set of transactions, etc.
Ok, so instead of increasing the nonce to randomly genrate a new hash value, is it possible to set your miner to just increment (or decrement) the hash value by one each time and go through them sequentially , thus eliminating re-tries? It seem to me that that current way of doing it is a bit like playing Battleship without the white pegs.
you appear to be misunderstanding the process. incrementing the hash is nonsensical, as it is not an input value, it is the result. mining is working to find the input (the block header) that results in a hash which is less than the target.
you can't just change the output arbitrarily, as the input needs to match with it, and hashing is a one-way function (you can hash something, but it's (practically) impossible to take a hash and determine the input value that resulted in it.).