Exemple #1
0
CanvasCard* CanvasPlayer::hasCard( int cardid ) const
{
    for(unsigned int i=0;i<NUMCARDS;i++)
    {
        CanvasCard* card = m_items[i];
        if(card->card()->id() == cardid )
            return card;
    }
    return NULL;
}
Exemple #2
0
void GameCanvas::cardClicked( QGraphicsItem* item )
{
    if( item )
        item->setSelected( false );

    if( item->type() == CANVASCARD )
    {
        CanvasCard* card = static_cast<CanvasCard*>(item);

        for( unsigned int i = 0; i < PLAYERS; i++ ) 
        {
            if( m_players[i]->isHuman() && m_players[i]->hasCard( card->card()->id() ) )
            {
                m_result = card->card()->id();
                disconnect( this, SIGNAL(clicked( QGraphicsItem* )), this, SLOT(cardClicked(QGraphicsItem*)));

                // be sure that focusOutEvent does not use its parameter
                focusOutEvent( NULL );
                m_loop.exit();
            }
        }