你可以添加两个数字,好像它们是正数,即使它们可能是负数

Gen*_*rey 1 c#

大部分信息都不需要回答我的问题,我将其包括在内,万一有人知道更简单的方法,我的问题就在最后.

我有一个X和Y矢量,我正在使用的是一个旅行球的路径.当那个球击中墙壁时,让我们说顶壁,它会向负方向反弹,这很容易.但是如果它撞到一个有角度的墙壁,我可以很容易地计算出一个方向,我想把剩下的力量加到另一个方向上.把它想象成Pong或Minigolf.

例.

一个球正在行进5,10,这意味着每5个像素向右移动它向下移动10.当它击中底部时,我将Y轴乘以-1使其成为5,-10

但是如果我以45度角撞击,那么一些力就会转移到X方向.无论哪种方式.

问题: 我需要使X + Y总计15,如果其中一个是负数,我需要将其视为正数.

-10+5 = 15
-5+10 = 15  
 5+10 = 15
-5+-10 = 15
Run Code Online (Sandbox Code Playgroud)

我知道我可以将它们全部转换为正面然后比较,但这看起来很笨重.

Rom*_*kov 8

使用此Math.Abs功能将-15和+15都转换为+15:

var a = -10;
var b = 5;

Console.WriteLine(Math.Abs(a) + Math.Abs(b))
Run Code Online (Sandbox Code Playgroud)