我正在开展一场家庭仇隙游戏,我想应用不断变化的颜色 随机地到一组圈子
我尝试在这个给定的代码中使用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":{}}
答案 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()
并不准确,因此如果您想要精确测量时间,则应使用PIT
或RDTSC
,但这可能会在模拟环境中造成不兼容...
Haven在 MS-DOS 中的代码已经很久了,所以我不确定random
和randomize
例程在哪个lib中也可能被调用{ {1}}我打赌他们在Random,Randomize
或stdio.h
。只需在程序位置光标处键入conio.h
,然后点击random
即可显示上下文帮助。在那里,您将阅读要包含的库。此外,我不确定是否使用ALT+F1
或random(15)
,因此请阅读哪些内容也是正确的。
如果您正在为游戏编码,那么您可能需要一些菜单。要么将它们合并到主循环中,要么为每个游戏页面分别使用主循环,并使用random(16)
或将每个游戏编码为单独的函数。
看看我的一些相关的 QA :