void World::PrintGameOverScreen() { PrintTitle(); PrintGameInfo(); GoToXY(26, 11); printf("GAME OVER: PLAY AGAIN? (Y/N)"); }
/* load game info from XML - lustar */ void __Menu_ShowGameInfo(bool showfullinfo, u8 *id) { if (LoadGameInfoFromXML(id)) { FgColor(CFG.color_inactive); PrintGameInfo(showfullinfo); //printf("Play Count: %d\n", getPlayCount(id)); DefaultColor(); } }
/******************************* Print functions */ void World::Print() { PrintBlack(); PrintTitle(); for (int i = 0; i < 3; i++) /*trying to reduce the image blinking*/ { /*without develop a char buffer*/ PrintStars(); PrintHero(); PrintBullets(); PrintEnemies(); PrintHero(); } PrintGameInfo(); }
int main(int argc, char* argv[]) { int test; int seed = atoi(argv[1]); //Create gameStates with random properties for (test = 0; test < NUMTESTS; test++) { int i, acard, init, command, numPlayers, playerNum, outcome, currentPlayer, turnNum; int kCards[10]; struct gameState * g; char line[MAX_STRING_LENGTH]; char cardName[MAX_STRING_LENGTH]; int players[MAX_PLAYERS]; int gameOver = FALSE; int arg0 = UNUSED; int arg1 = UNUSED; int arg2 = UNUSED; int arg3 = UNUSED; printf("------===================******* Game %d of %d ********==================--------\n", test + 1, NUMTESTS); //Pick random cards for (i = 0; i < 10; i++) { acard = floor(Random() * 20 + 7); if (ValInArr(acard, kCards, 10) || acard == feast) i--; else kCards[i] = acard; } kCards[6] = mine; //force choose mine printf("Cards chosen for game %d:\n", test + 1); for (i = 0; i < 10; i++) { strcpy(cardName,""); cardNumToName(kCards[i], cardName); printf(" (%d) - %s\n", kCards[i], cardName); } //Create game state g = (struct gameState*)malloc(sizeof(struct gameState)); numPlayers = floor(Random() * (2 + 1) + 2); init = initializeGame(numPlayers, kCards, seed, g); assert(init > -1); currentPlayer = whoseTurn(g); PrintGameInfo(g, turnNum); PrintTurnInfo(g, turnNum); while(1) { outcome = FAILURE; strcpy(line,""); strcpy(cardName,""); gameOver = isGameOver(g); if(gameOver == TRUE) break; //Exit out of the game //Choose action for turn command = GetCommand(); if (command == cmdPlay) { arg0 = floor(Random() * g->handCount[currentPlayer]); arg1 = floor(Random() * (treasure_map + 1)); arg2 = floor(Random() * (treasure_map + 1)); arg3 = floor(Random() * (1 + 1)); strcpy(cardName,""); cardNumToName(g->hand[currentPlayer][arg0], cardName); outcome = playCard(arg0, arg1, arg2, arg3, g); if (outcome == SUCCESS){ printf("-Player %d plays %s...args: %d, %d, %d, %d\n\n", currentPlayer, cardName, arg0, arg1, arg2, arg3); PrintTurnInfo(g, turnNum); } else { printf("-Player %d cannot play card %s...args: %d, %d, %d, %d\n\n", currentPlayer, cardName, arg0, arg1, arg2, arg3); PrintTurnInfo(g, turnNum); } } else if (command == cmdBuy) { arg0 = floor(Random() * (treasure_map + 1)); outcome = buyCard(arg0, g); strcpy(cardName,""); cardNumToName(arg0, cardName); if(outcome == SUCCESS){ printf("-Player %d buys card %d: %s...args: %d, %d, %d, %d\n\n", currentPlayer, arg0, cardName, arg0, arg1, arg2, arg3); PrintTurnInfo(g, turnNum); } else { printf("-Player %d cannot buy card %d: %s...args: %d, %d, %d, %d\n\n", currentPlayer, arg0, cardName, arg0, arg1, arg2, arg3); PrintTurnInfo(g, turnNum); } } else if (command == cmdEnd) { printf("-Player %d ends turn %d...args: %d, %d, %d, %d\n\n", whoseTurn(g), turnNum, arg0, arg1, arg2, arg3); turnNum++; endTurn(g); currentPlayer = whoseTurn(g); PrintGameInfo(g, turnNum); } } printScores(g); getWinners(players, g); printf("After %d turns, the winner(s) are:\n", turnNum); for(playerNum = 0; playerNum < g->numPlayers; playerNum++) if(players[playerNum] == WINNER) printf("Player %d\n", playerNum); PrintGameInfo(g, turnNum); free(g); printf("Game %d of %d complete\n", test + 1, NUMTESTS); } printf("All games complete\n\n"); //printf("%d of %d test were successful.\n", NUMTESTS * (NUMPLAYERS-1) - numFailed, NUMTESTS * (NUMPLAYERS-1)); return 0; }