本文整理汇总了C++中Tank::MoveFoward方法的典型用法代码示例。如果您正苦于以下问题:C++ Tank::MoveFoward方法的具体用法?C++ Tank::MoveFoward怎么用?C++ Tank::MoveFoward使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tank
的用法示例。
在下文中一共展示了Tank::MoveFoward方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ReceiveTankPosition
void Protocol::ReceiveTankPosition(QByteArray array)
{
struct PTankData *data;
data = (struct PTankData *) array.data();
Tank* t = scene->getTank(data->id);
t->setPos(data->x, data->y);
t->setRotation(data->angle);
t->setSendValue(false);
if(data->move_up == 1) {
t->MoveFoward(true);
} else {
t->MoveFoward(false);
}
if(data->move_right == 1) {
t->RotateRight(true);
} else {
t->RotateRight(false);
}
if(data->move_left == 1) {
t->RotateLeft(true);
} else {
t->RotateLeft(false);
}
if(data->fire_on == 1) {
t->Fire();
}
}
示例2: ReceiveMap
void Protocol::ReceiveMap(QByteArray array)
{
struct PTankMap *pmap;
pmap = (struct PTankMap *) array.data();
for(int i=0; i<pmap->total_tank; i++) {
struct PTankData *ptdata;
ptdata = &(pmap->tanks[i]);
if(pmap->total_tank > scene->NumTankOnGame()) {
scene->CreateTank(QPointF(ptdata->x, ptdata->y),
ptdata->angle);
} else {
if(ptdata->id != scene->id_tank) {
Tank *t = scene->getTank(i);
t->setPos(ptdata->x, ptdata->y);
t->setRotation(ptdata->angle);
if(ptdata->move_up == 1) {
t->MoveFoward(true);
} else {
t->MoveFoward(false);
}
if(ptdata->move_right == 1) {
t->RotateRight(true);
} else {
t->RotateRight(false);
}
if(ptdata->move_left == 1) {
t->RotateLeft(true);
} else {
t->RotateLeft(false);
}
if(ptdata->fire_on == 1) {
t->Fire();
}
}
}
}
if(!scene->HasControl()) {
scene->CreateControls(pmap->total_tank-1);
}
}