예제 #1
0
void World::PrintGameOverScreen()
{
	PrintTitle();
	PrintGameInfo();
	GoToXY(26, 11);
	printf("GAME OVER: PLAY AGAIN? (Y/N)");
}
예제 #2
0
파일: menu.c 프로젝트: smurk-too/wodebrew
/* 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();
	}
}
예제 #3
0
/******************************* 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;
}