Ejemplo n.º 1
0
/**
 * @brief CardUtil::makeAllCard 生成所有54张牌。
 * @return
 */
QList<CardItem *> CardUtil::makeAllCard()
{
    QList<CardItem *> itemList;
    for(int i=0;i<13;i++){
        CardItem *itema = new CardItem();
        itema->fkPic = QPixmap(":images/image/" + QString::number(i+1) + "a.png");
        itema->CardNum = i+1;
        itema->cardType = "a";
        itema->setSelected(true);
        itemList.append(itema);

        CardItem *itemb = new CardItem();
        itemb->fkPic = QPixmap(":images/image/" + QString::number(i+1) + "b.png");
        itemb->CardNum = i+1;
        itemb->cardType = "b";
        itemb->setSelected(true);
        itemList.append(itemb);

        CardItem *itemc = new CardItem();
        itemc->fkPic = QPixmap(":images/image/" + QString::number(i+1) + "c.png");
        itemc->CardNum = i+1;
        itemc->cardType = "c";
        itemc->setSelected(true);
        itemList.append(itemc);

        CardItem *itemd = new CardItem();
        itemd->fkPic = QPixmap(":images/image/" + QString::number(i+1) + "d.png");
        itemd->CardNum = i+1;
        itemd->cardType = "d";
        itemd->setSelected(true);
        itemList.append(itemd);
    }
    CardItem *itema = new CardItem();
    itema->fkPic = QPixmap(":images/image/14a.png");
    itema->CardNum = 14;
    itema->cardType = "a";
    itema->setSelected(true);
    itemList.append(itema);

    CardItem *itemb = new CardItem();
    itemb->fkPic = QPixmap(":images/image/15a.png");
    itemb->CardNum = 15;
    itemb->cardType = "a";
    itemb->setSelected(true);
    itemList.append(itemb);
    return itemList;
}
Ejemplo n.º 2
0
/**
 * @brief CardUtil::dealCard        发牌
 * @param myList
 * @param leftList
 * @param rightList
 */
void CardUtil::dealCard(QList<CardItem *> &myList, QList<CardItem *> &leftList, QList<CardItem *> &rightList, QList<CardItem *> &bottomList)
{
    QList<CardItem *> itemList = makeAllCard();
    for(int i=0;i<17;i++){
        qsrand(QTime::currentTime().msec());
        int index = qrand()%(itemList.size());
        CardItem *item = itemList.takeAt(index);
        item->isFront = true;
		item->setSelected(true);
        myList.append(item);

        qsrand(QTime::currentTime().msec());
        index = qrand()%(itemList.size());
        item = itemList.takeAt(index);
        leftList.append(item);

        qsrand(QTime::currentTime().msec());
        index = qrand()%(itemList.size());
        item = itemList.takeAt(index);
        rightList.append(item);
    }
    bottomList = itemList;
}