关于多种功能的初学者Q.

时间:2015-04-28 05:29:17

标签: c++

我只是需要一些简单问题的帮助..我正在尝试学习C ++,因为我想进入游戏编程,我有以前的编程经验,但不是在C ++中..我的问题有点像这个。我正在制作一个虚拟控制台应用程序,它将获取当前XYZ的数字并将其与一组坐标进行比较.. [x1,z1,y1 / x2,y2,z2]并检查你是否'在这个区域内..现在我可以自己做...我的问题是,你怎么写一些允许你重用这个函数但有不同输出的东西,例如,如果它在X框内然后做X,如果它在Y框中然后做Y ..这就是我目前所拥有的..

    void withinRange(int x1, int y1, int z1, int x2, int y2, int z2)
{

    if (cCoordx > x1 && cCoordy > y1 && cCoordz > z1 && cCoordx < x2 && cCoordy < y2 && cCoordz < z2)
    {

    }

}

我不确定如何扩展它以使其成为可重复使用的功能..

1 个答案:

答案 0 :(得分:1)

你问:

  

你会如何编写一些允许你重复使用这个函数但却有不同输出的东西,例如,如果它在X框中然后做X,如果它在Y框中然后做Y

  1. 编写不同的函数,检查值是在X框还是Y框中。
  2. 使用其他功能实施withinRange
  3. 使用这些函数的返回值在调用函数中做出决定。
  4. bool withinXRange(int x1, int x2)
    {
       return (cCoordx > x1  && cCoordx < x2);
    }
    
    bool withinYRange(int y1, int y2)
    {
       return (cCoordy > y1  && cCoordy < y2);
    }
    
    bool withinZRange(int z1, int z2)
    {
       return (cCoordz > z1  && cCoordz < z2);
    }
    
    bool withinRange(int x1, int y1, int z1, int x2, int y2, int z2)
    {
       return ( withinXRange(x1, x2) &&
                withinYRange(y1, y2) &&
                withinZRange(z1, z2) );
    }
    

    在通话功能中:

    int x1 = <some value>;
    int x2 = <some value>;
    
    if ( withinXRange(x1, x2) )
    {
        // Do something
    }