예제 #1
0
void Player::keyPressEvent(QKeyEvent *event)
{


    if(event->key() == Qt::Key_Left){

        setPixmap(QPixmap(":/Bow_Player_images/Player_weapon_2.png"));
        if(pos().x() >-240){
            move(-10,0);
        }
    }
    else if(event->key() == Qt::Key_Right){
        setPixmap(QPixmap(":/Bow_Player_images/Player_Bow_Right.png"));
        if(pos().x() <240){
            move(10,0);
        }
    }
    else if(event->key() == Qt::Key_Up){
        setPixmap(QPixmap(":/Bow_Player_images/Player_Bow_UP.png"));
        if(pos().y() >0){
           move(0,-10);
        }
    }
    else if(event->key() == Qt::Key_Down){
        setPixmap(QPixmap(":/Bow_Player_images/Player_Bow_Down.png"));


        if(pos().y() <440){
           move(0,10);
        }
    }
    else if(event->key() == Qt::Key_1)
    {
        setPixmap(QPixmap(":/Bow_Player_images/Player_weapon_1.png"));//sets player to sword + shield
        setPlayerType(1);
    }
    else if(event->key() == Qt::Key_2)
    {

        setPixmap(QPixmap(":/Bow_Player_images/Player_weapon_2.png"));//sets player to bow and arrow
        setPlayerType(2);
    }

    else if(event->key()== Qt::Key_Space){
        arrow = new Arrow;
        arrow->setPos(x(),y());
        scene()->addItem(arrow);
        qDebug()<<"Shots fired";





    }
}
예제 #2
0
Player::Player(): QGraphicsPixmapItem()
{

    setPlayerType(0);//sets player to sword+shield

    setPixmap(QPixmap(":/Bow_Player_images/Player_weapon_2.png"));
    setFlag(QGraphicsItem::ItemIsFocusable);
    setFocus();
    setPos(x(),y()+240);//starts player in the centre of the room


}
예제 #3
0
파일: unit.cpp 프로젝트: marlncpe/INSYDE
void Unit::iniciarUnidad(PlayerType tj, PlayerColor cr, PlayerTeam eq, int maxVitalidad, int vitalidad, int maxEnergy, int energy){
    const int barWidth = 20;

//    QPainterPath path;
////    path.lineTo(10,0);
//    path.addEllipse(QRectF(-10, -10, 20, 20));
//    setShape(path);
//    includeBars = false;

    checkCounter = 0;

    setBorderWidth(2);
    setPlayerType(tj);
    setUnitColor(cr);
    setEquipo(eq);

    QRectF rectMA = MovilAgent::boundingRect();
    prepareGeometryChange();
    setMaxHealth(maxVitalidad);
    setHealth(vitalidad);
    setHealthBarPos(rectMA.topLeft() + QPointF(rectMA.width()/2 - barWidth/2, - 20));
    setHealthBarWidth(barWidth);
    setHealthBarHeight(4);
    setVisibleHealthBar(true);

    setMaxEnergy(maxEnergy);
    setEnergy(energy);
    setEnergyBarPos(rectMA.topLeft() + QPointF(rectMA.width()/2 - barWidth/2, - 10));
    setEnergyBarWidth(barWidth);
    setEnergyBarHeitght(4);
    setVisibleEnergyBar(true);

    setAcceptHoverEvents(true);

    PlayerColor pc;
    for(int i = 0; i < 8; i++){
        pc = (PlayerColor)i;
        if(pc == getUnitColor()){
            diplomacias[pc] = Alied;
        }else{
            diplomacias[pc] = Enemy;
        }
    }
    MovingActuator *actMov = dynamic_cast<MovingActuator*>(getActuator("movement"));

    connect(actMov, SIGNAL(positionChanged(QPointF)), SLOT(checkAll(QPointF)));
//    connect(actMov, SIGNAL(llegoADestinoFinal(QPointF)), SLOT(lastCheckPointReached(QPointF)));
}
 virtual void drawImGui(void* opt = nullptr) override
 {
     ImGui::PushStyleColor(ImGuiCol_FrameBg, ImVec4(0.85, 0.85, 0.85, 1.0));
     ImGui::PushItemWidth(180);
     static const char* items1[9] =
     {
         "Player 1",
         "Player 2",
         "Player 3",
         "Player 4",
         "Player 5",
         "Player 6",
         "Player 7",
         "Player 8",
         "Current Player"
     };
     if ( ImGui::Combo("", &_currPlayer, items1, 9, 9) )
     {
         setPlayerType(static_cast<PlayerType>(_currPlayer + 1));
     }
     ImGui::PopItemWidth();
     ImGui::PopStyleColor();
 }
예제 #5
0
RemoteControl::RemoteControl(int id) : PlayerControl(id)
{
	_lastData = new NetworkData();
    setPlayerType(kHumanRemote);
}