本文整理汇总了C++中Tank::move方法的典型用法代码示例。如果您正苦于以下问题:C++ Tank::move方法的具体用法?C++ Tank::move怎么用?C++ Tank::move使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Tank
的用法示例。
在下文中一共展示了Tank::move方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: startVideo
void World::startVideo()
{
QSound::play("data/menu.wav");
Wall *base = new Wall(2);
_playerBase = base;
Tank *tank = new Tank;
_playerTank = tank;
_enemyLife = 0;
_playerLife = 0;
tank = new Tank;
tank->setPos(QPoint(225,450));
tank->setTeam(0);
tank->move(true);
tank->setSpeed(3);
_tankList.append(tank);
tank = new Tank;
tank->setPos(QPoint(175,510));
tank->setTeam(1);
tank->move(true);
tank->setSpeed(2);
_tankList.append(tank);
tank = new Tank;
tank->setPos(QPoint(245,510));
tank->setTeam(1);
tank->move(true);
tank->setSpeed(2);
_tankList.append(tank);
_isVideo = true;
}
示例2: mySpecialKeyboard
void mySpecialKeyboard(int key, int x, int y)
{
switch (key) {
case GLUT_KEY_LEFT: //move to left
myTank.plusAngleWithX(gAngleTankDelta);
break;
case GLUT_KEY_RIGHT: //move to right
myTank.plusAngleWithX(-gAngleTankDelta);
break;
case GLUT_KEY_UP: //move to up
myTank.move(gMoveDelta);
break;
case GLUT_KEY_DOWN: //move to right
myTank.move(-gMoveDelta);
break;
case GLUT_KEY_F1: //view 1
gViewMode = 0;
break;
case GLUT_KEY_F2: //view 2
gViewMode = 1;
break;
case GLUT_KEY_F3: //view 3
gViewMode = 2;
break;
}
}
示例3: keyboardSpecialHandler
void keyboardSpecialHandler(int key, int mooseX, int mooseY){
/*if(key==GLUT_KEY_UP)//just for testing and fun
myTank.barrelAngle++;
else if(key==GLUT_KEY_DOWN)
myTank.barrelAngle--;*/
if(key==GLUT_KEY_LEFT)//just for testing and fun
myTank.move(-1);
else if(key==GLUT_KEY_RIGHT)
myTank.move(1);
glutPostRedisplay();
}
示例4: playVideo
void World::playVideo()
{
if (_tankList.size() == 3) {
_other++;
if (_other % 30 == 0) {
fire(_tankList[1]);
} else if (_other % 51 == 0) {
fire(_tankList[2]);
}
} else if (_tankList.size() == 2 & _other > 0 & _other < 1000) {
_tankList[0]->move(false);
_tankList[1]->move(false);
_tankList[0]->rotate(3);
_tankList[1]->rotate(1);
_other = 0;
} else if (_tankList.size() == 2 &_other == 0) {
_other = -1;
for (int q = 0; q < 8; q ++) {
Tank *tank = new Tank;
tank->setPos(QPoint(q * 50 + 12 * q + 6,-50));
tank->setTeam(0);
tank->setAngle(2);
tank->setSpeed(1);
tank->move(true);
_tankList.append(tank);
}
} else if (_other <= -1 & _other > -50) {
_other--;
} else if (_other == -50) {
_other--;
_tankList[0]->setAngle(2);
_tankList[1]->setAngle(2);
_tankList[0]->move(true);
_tankList[1]->move(true);
}
else if (_other <= -51 & _tankList.size() == 10) {
_other--;
if (_other % 50 == 0) {
for (int q = 0 ; q < 8; q ++) {
fire(_tankList[q + 2]);
}
}
} else if ( _tankList.size() == 8 & _other < 0) {
Tank *tank = new Tank;
tank->setTeam(2);
tank->setPos(QPoint(156, - 70));
tank->setAngle(2);
tank->setSpeed(1);
tank->setSize(0);
tank->move(true);
_tankList.append(tank);
} else if (_tankList.size() == 9 & _other < 0) {
if (_tankList[8]->getPos().y() == 216) {
_tankList[8]->move(false);
_other = 0;
}
} else if (_tankList.size() == 9 & _other >= 0) {
_other++;
if (_other == 625) {
for (int q = 0; q < _tankList.size() - 1; q++) {
delete _tankList[0];
}
_tankList.remove(0,8);
for (int q = 0; q < 8; q ++) {
Tank *tank = new Tank;
tank->setPos(QPoint(-50,q * 50 + 12 * q + 6));
tank->setTeam(0);
tank->setAngle(1);
tank->setSpeed(rand() % 4 + 1);
tank->move(true);
_tankList.append(tank);
}
for (int q = 0; q < 8; q ++) {
Tank *tank = new Tank;
tank->setPos(QPoint(550,q * 50 + 12 * q + 6));
tank->setTeam(1);
tank->setAngle(3);
tank->setSpeed(rand() % 4 + 1);
tank->move(true);
_tankList.append(tank);
}
_other = 1000;
}
} else if (_other == 1000 & _tankList.size() != 1) {
for (int q = 1; q < _tankList.size(); q ++) {
int f = rand() % 2;
if (f == 1) {
fire(_tankList[q]);
}
}
} else if (_other >= 1000 & _tankList.size() == 1){
_other++;
if (_other == 1100) {
delete _playerBase;
delete _playerTank;
gameOver();
loadMission(0);
_isVideo = false;
}
//.........这里部分代码省略.........