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; }
// 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'; }
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; }
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; }