将不同颜色更改为形状

时间:2017-01-06 09:36:25

标签: c++ graphics borland-c++ bgi

我正在开展一场家庭仇隙游戏,我想应用不断变化的颜色 随机地到一组圈子

我尝试在这个给定的代码中使用for循环,但我知道它错了。 我如何随机化?

<?php
$postData='<Lead>
<General>
<dealer></dealer></General> </Lead>';
 $array_data = json_encode(simplexml_load_string($postData));
$array_data=json_decode($array_data) ;
$dealer=$array_data->General->dealer;
$data=array('dealer'=>$dealer);
echo  $objectJson =json_encode($data);
?>


response is : {"dealer":{}}

1 个答案:

答案 0 :(得分:1)

我假设您在 MS-DOS (不确定是模拟还是真实的或只是Windows控制台),但动画和随机化的方式有点不同。

由于各种限制(因此它适用于每个平台并且不使用任何高级内容),主循环的程序结构看起来应该更像:

// main loop
const int dt=40; // [ms] approximate loop iteration time
int col_t=0,col_T=3000; // [ms] time and period for changing the colors
int col;
randomize();
col=random(16);
for (;;)
 {
 // 1. handle keyboard,mouse,joystick... here
 //    do not forget to break; if exit button is hit like: if (Key==27) break;

 // 2. update (world objects positions, score, game logic,etc)
 col_t+=dt;
 if (col_t>=col_T)
  {
  col_t=0; 
  col=random(16);
  }

 // 3. draw you scene here
 setcolor(col);

 // 4. CPU usage and fps limiter
 sleep(dt); // 40ms -> 25fps
 }

这种结构不需要任何中断,因此很容易理解新手。但游戏通常需要更快的速度,而事件处理程序更快。为此,您需要使用中断ISR来处理键盘,PIT等...

使用sleep()并不准确,因此如果您想要精确测量时间,则应使用PITRDTSC,但这可能会在模拟环境中造成不兼容...

Haven在 MS-DOS 中的代码已经很久了,所以我不确定randomrandomize例程在哪个lib中也可能被调用{ {1}}我打赌他们在Random,Randomizestdio.h。只需在程序位置光标处键入conio.h,然后点击random即可显示上下文帮助。在那里,您将阅读要包含的库。此外,我不确定是否使用ALT+F1random(15),因此请阅读哪些内容也是正确的。

如果您正在为游戏编码,那么您可能需要一些菜单。要么将它们合并到主循环中,要么为每个游戏页面分别使用主循环,并使用random(16)或将每个游戏编码为单独的函数。

看看我的一些相关的 QA