【发布时间】:2026-01-21 13:30:02
【问题描述】:
这是我在vex. 的第一年,我正在担任程序员的角色。
我有快速自主创建的想法,记录驱动程序。我没有使用通常的阵列/调试器转储功率级别的原始流,而是想到了从驱动程序移动中提取函数的想法。
细节我就不说了,我自己写代码,但我需要一些帮助。
由于缺乏编码经验,我无法完成一件事。
我想创建一个 for 循环,逐个检查每个操纵杆按钮。
例如:
struct button
{
bool pressed;
}
for(int i = 0; i>12; i++) //12 is number of buttons on the joystick
{
struct button button<cycle through buttons>;
}
我希望在那里:
struct button button6U;
struct button button6D;
struct button button6R;
etc.
那么,我想要这个:
for(int i = 0; i>12; i++) // 12 is number of buttons on the joystick
{
if(VexRT[<currentButton>])
{
button<currentButton>.pressed = true;
}
}
我不知道该怎么做,用通配符修改我正在写入的实际变量名称。
几个想法: for 语句不知道如何提高操纵杆按钮的顺序。所以我认为我可能需要的是:
orderOfButtons
{
VexRT[6U];
VexRT[6D];
VexRT[6R];
// etc.
}
我似乎无法弄清楚如何使用一个变量来定义我正在读取的 VexRT[]button 的内容。
任何帮助将不胜感激! 谢谢。
【问题讨论】:
-
i>12...咳咳,也许是i < 12 -
如果您无法轻松构建 [无论这些东西是什么] 的数组以进行索引,然后使用大小写开关(并修复循环控制,正如 @WeatherVane 所指出的那样)。
标签: c variables robotics robotc