Hello all!
I recently found the need to find the distance between to points on a grid in batch. For those of you who know me in this section, batch game dev is my favorite.
Perhaps some of you may find this helpful as well!
I recently found the need to find the distance between to points on a grid in batch. For those of you who know me in this section, batch game dev is my favorite.
Perhaps some of you may find this helpful as well!
Code
@echo off & setlocal enableDelayedExpansion
set ^"LF=^
^" Above empty line is required - do not remove
set ^"\n=^^^%LF%%LF%^%LF%%LF%^^"
set getDistance=for %%# in (1 2) do if %%#==2 ( for /f "tokens=1-5" %%1 in ("^!args^!") do (%\n%
set /a "%%5=( ?=((((((%%1 - %%2))>>31|1)*((%%1 - %%2)))-((((%%3 - %%4))>>31|1)*((%%3 - %%4))))>>31)+1, ?*(2*((((%%1 - %%2))>>31|1)*((%%1 - %%2)))-((((%%3 - %%4))>>31|1)*((%%3 - %%4)))-(((((%%1 - %%2))>>31|1)*((%%1 - %%2)))-((((%%3 - %%4))>>31|1)*((%%3 - %%4))))) + ^^^!?*(((((%%1 - %%2))>>31|1)*((%%1 - %%2)))-((((%%3 - %%4))>>31|1)*((%%3 - %%4)))-(((((%%1 - %%2))>>31|1)*((%%1 - %%2)))-((((%%3 - %%4))>>31|1)*((%%3 - %%4)))*2)) )"%\n%
)) else set args=
set /a "x1=4", "x2=7", "y1=22", "y2=14"
%getDistance% x2 x1 y2 y1 distance
echo %distance%
pause & exit
