Coding style 加入“一个”是否更有效;“检查位置”;在a";移动功能“;对于一个游戏,还是作为外部功能的外部? 我在C++中创建一个游戏(说到哪个,我使用的代码是什么?),这可以被简单地描述为棋盘游戏,我想知道这两个“检查字符是否越界”的功能是什么更有效:< /P>

Coding style 加入“一个”是否更有效;“检查位置”;在a";移动功能“;对于一个游戏,还是作为外部功能的外部? 我在C++中创建一个游戏(说到哪个,我使用的代码是什么?),这可以被简单地描述为棋盘游戏,我想知道这两个“检查字符是否越界”的功能是什么更有效:< /P>,coding-style,performance,pseudocode,inlining,Coding Style,Performance,Pseudocode,Inlining,一: 两个 基本上,第一种方法移动每个实体,然后检查所有实体的位置并相应地重置它们,第二种方法确保玩家移动时不会将其移出边界,而不是等待循环结束 我想知道这两个(系统?)中哪一个比另一个更有效或更快,或者,如果它们都相同,哪一个是更好的编码风格?后者更快(不执行和撤消)。我也会认为它更干净,但这是一个意见问题。我会在移动它之前确保任何移动都是合法的。这样,你就可以保持一种理智的状态,而不是尝试某件事,让“董事会”处于无效状态。它在面向对象的方式中也更有意义。物体不能做出无效的移动,因此移动是可信

一:

两个

基本上,第一种方法移动每个实体,然后检查所有实体的位置并相应地重置它们,第二种方法确保玩家移动时不会将其移出边界,而不是等待循环结束


我想知道这两个(系统?)中哪一个比另一个更有效或更快,或者,如果它们都相同,哪一个是更好的编码风格?

后者更快(不执行和撤消)。我也会认为它更干净,但这是一个意见问题。

我会在移动它之前确保任何移动都是合法的。这样,你就可以保持一种理智的状态,而不是尝试某件事,让“董事会”处于无效状态。它在面向对象的方式中也更有意义。物体不能做出无效的移动,因此移动是可信的。

移动前检查会更快,我想,除了一个人出界的几率非常低之外

关于样式,我建议不要从move()方法中检查边界,即使该检查被提取到它自己的方法中,因为这给了您两个“更改”move()方法的理由(因此,这是不正确的;有些人只在类级别强制执行此操作,但我建议在可以避免的情况下将其用于方法)

int main()
{
    //display board
    //get player input
    //move player
    //if player is out of bounds,
      //force player back into bounds
}
//int main()
{
    //same thing, except without last two lines.
}
void move(char input)
{
    //if input does not place player out of bounds
      //move player according to input
}