Beispiel #1
0
void SinglePlayer(void)
{
    /* 啟動鍵盤控制 */
    initializeKeyInput();
    char ch='0';
    winTimes=0;  //Left
    loseTimes=0;
    count = 0;
    int pick = -1;
    int initime=clock();
    int time;

    while(winTimes<3 && loseTimes<3)
    {

        clearScreen();
        if(turn == 0)
        {
            ch = getKeyEventVirtual();
            switch(ch)
            {
            case 0x58: //左方拍桌

                check(pick,initime);
                initime = clock();
                break;
            case 0x5A:
                if(count==pick)
                {
                    Loser();
                }
                else
                    getNewCard();
                initime = clock();
                break;
            }
        }
        else
        {
            if(waitForKeyDown(3.0))
            {
                ch = getKeyEventVirtual();
                if(ch == 0x58){
                    check(pick,initime);
                    initime = clock();
                }
            }
            else //if(tick > WAIT_TIME)
            {
                getNewCard();
                initime = clock();
            }
        }
    }
    if(loseTimes==3)
        gameover();
    showingPlane =2;
}
Beispiel #2
0
// get random cards for both players, it will fill p1,p2 arrays with random letter from game->Letters
void initHands( struct game *g){
        int i;
        for(i=0;i<HANDSZ-1;i++){
                g->p1[i] = getNewCard(g) ;
                g->p2[i] = getNewCard(g) ;
        }
        g->p1[5] = '\0';
        g->p2[5] = '\0';
}
Beispiel #3
0
SyncItem* LOSyncSource::getNextNewItem() {
    
    if (getUseAdd() == false) {
        return NULL;
    }
    if (count == 2) {
        return NULL;
    }
    
    StringBuffer name = getSyncItemName();
    WCHAR key[256];
    wsprintf(key, TEXT(WCHAR_PRINTF_STRING), name.c_str());
    wcscat(key, getName());    

    SyncItem* item = new SyncItem(key);    
    if (getUseDataEncoding()) {
        // just to test that the api works properly with custom encoding
        item->setDataEncoding("bin");
    }


    char* data = getNewCard(true);
    item->setData(data, (long)strlen(data));
    
    delete [] data;
    return item;

}
SyncItem* MappingTestSyncSource::getNextNewItem() {

    if (count == 3) {
        return NULL;
    }
    
    WCHAR key[256];
    wsprintf(key, TEXT("%i-%lu"), count, this->getConfig().getLast());
    wcscat(key, getName());    

    SyncItem* item = new SyncItem(key);
    
    StringBuffer data = getNewCard();
    item->setData(data, data.length());
    
    return item;

}
Beispiel #5
0
SyncItem* LOSyncSource::getNextUpdatedItem() { 
    
    if (getUseUpdate() == false) {
        return NULL;
    }
    if (count == 2) {
        return NULL;
    }
    
    StringBuffer name = getSyncItemName();
    WCHAR key[256];
    wsprintf(key, TEXT(WCHAR_PRINTF_STRING), name.c_str());
    wcscat(key, getName());    

    SyncItem* item = new SyncItem(key);
    
    char* data = getNewCard(false);
    item->setData(data, (long)strlen(data));
    
    delete [] data;
    return item;

}