本文整理汇总了C++中Joystick::GetStatus方法的典型用法代码示例。如果您正苦于以下问题:C++ Joystick::GetStatus方法的具体用法?C++ Joystick::GetStatus怎么用?C++ Joystick::GetStatus使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Joystick
的用法示例。
在下文中一共展示了Joystick::GetStatus方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: drive
con_vec drive(situation& s)
{
con_vec result;
if( s.starting )
{
result.fuel_amount = MAX_FUEL;
RequestedPitStop = false;
result.alpha = 0.0;
result.vc = s.v + 50;
return result;
}
if( JoyStick.GetStatus(js) )
{
// steering
if( js.x > 5000 ) // right
result.alpha = -0.1;
else if( js.x < -5000 ) // left
result.alpha = 0.1;
else // straight
result.alpha = 0.0;
// speed
if( js.button1 ) // accelerate
result.vc = s.v + 50;
else // hold speed
result.vc = s.v;
if( js.button2 ) // brake
{
// simple ABS
if( result.alpha == 0.0 )
result.vc = 0.0;
else
result.vc = s.v * 0.9;
}
// pit stop
if( js.button3 )
{
RequestedPitStop = true;
}
if( RequestedPitStop )
{
// if is comming out of pits
if( s.out_pits == 1)
{
RequestedPitStop = false;
}
else
{
// Request pit stop
result.request_pit = 1;
result.fuel_amount = MAX_FUEL;
result.repair_amount = MAX_DAMAGE;
}
}
}
// use an internal function to get back on track when stuck
if( s.out_pits!=1 && stuck( s.backward, s.v, s.vn, s.to_lft, s.to_rgt, &result.alpha, &result.vc ) )
{
return result;
}
return result;
}