C++并行循环

C++ parallel loops

本文关键字:循环 并行 C++      更新时间:2023-10-16

我正在制作一款名为外星飞船的主机游戏作为家庭作业。它应该是这样的http://img74.imageshack.us/img74/8362/alieninvadersfdcl192720mu1.jpg。到目前为止,我不允许只使用类或对象=>函数和数组。我有一个while循环,它检查我在键盘上按下的按钮,并根据按钮应用一些功能。当我尝试发射导弹时,问题就来了,因为它是用"for"循环完成的,当我发射时,我无法移动。有人能给我一个模型应该是什么样子的想法吗?我该如何制作这样的作品。我认为发布我的代码不需要它,但如果你愿意,我会发布它。

我认为您不愿意使用多个线程。对于这样一个简单的游戏来说,这不是强制性的,会增加一些复杂性。

所以单线程游戏的通用循环是:

state new_state = createInitialState();
do
{
  input = readInput(); // non blocking !
  new_state = modifyState(input, new_state);
  updateScreen(new_state);
}
while (!exitCondition(input));

这些函数都不应该循环很长时间。

在您的情况下,应在modifyState中更新导弹位置,同时考虑自上次modifyState以来的时间。

我假设您使用矩阵来存储所有数据,并定期打印矩阵的内容(这就是创建控制台游戏的方式)。所以,你的代码应该是这样的:

render()
{
   update_position(x,y);
   if(missile_fired)
       update_missile_position();
}
main()
{
for(;;)
{
  read_input(&x,&y);
  render();
  draw_image();
}
}