Example #1
0
t_tetrimino	*init_main(char **av, char **env, t_config *config,
			   t_tetrimino *tetri)
{
  if (env[0] == NULL)
    return (NULL);
  srand(time(NULL));
  tetri = NULL;
  config->error = 0;
  if (load_tetriminos(&tetri) == -1)
    config->error = 1;
  if (init_config(config) == -1)
    return (NULL);
  if  (user_config(av, config) == -1)
    {
      write(2, "Error: bad parameter\n", 21);
      return (NULL);
    }
  if (init_sequences(config, env) == -1 ||
      get_highscore(config) == -1)
    return (NULL);
  debug_part(config, &tetri);
  if (config->error == 1)
    return (NULL);
  prep_screen();
  clean_list(&tetri);
  config->form = choose_tetrimino(tetri);
  config->next = choose_tetrimino(tetri);
  config->pos[0] = (config->width / 2) - (config->form->width / 2);
  display_game(config, 1);
  return (tetri);
}
Example #2
0
void init_score_commit()
{
    switch (score_col)
    {
    case 0:
        if (get_highscore(0,1,score_row) == 0 || spNetC4ACommitScore(profile,"puzzletube_points",get_highscore(0,1,score_row),&pointsScore,TIME_OUT))
            printf("Points score %i already at server\n",get_highscore(0,1,score_row));
        break;
    case 1:
        if (get_highscore(1,1,score_row) == 0 || spNetC4ACommitScore(profile,"puzzletube_survival",get_highscore(1,1,score_row)*100,&survivalScore,TIME_OUT))
            printf("Survival score %i already at server\n",get_highscore(1,1,score_row));
        break;
    case 2:
        if (get_highscore(2,1,score_row) == 10000 || spNetC4ACommitScore(profile,"puzzletube_race",get_highscore(2,1,score_row)*100,&raceScore,TIME_OUT))
            printf("Race score %i already at server\n",get_highscore(2,1,score_row));
        break;
    }
}
Example #3
0
void award_output_awardname( int award )
{
	int p = player_index[ 0 ];
	_score final_award_score;
	_score current_highscore;

	calculate_award_score( AWARD_LIST[ award ].awardID, p, &final_award_score );
	get_highscore( AWARD_LIST[ award ].awardID, &current_highscore, global_highscores );

	if ( AWARD_LIST[ award ].keep_highscore ) {
		if ( score_compare( final_award_score, current_highscore ) > 0L ) {
			// there is a new highscore
			update_highscores( AWARD_LIST[ award ].awardID, p, final_award_score, global_highscores );
			sprintf( outbuf, HTML_AWARD_NAME_HIGHSCORE, AWARD_LIST[ award ].name );
		}
		else {
			sprintf( outbuf, HTML_AWARD_NAME, AWARD_LIST[ award ].name );
		}
	}
	else {
		sprintf( outbuf, HTML_AWARD_NAME, AWARD_LIST[ award ].name );
	}
	AS_OUT( OE_PLAIN, outbuf );
}
Example #4
0
// todo: add award here
void award_output_description( int award, int for_highscore, _highscore_type *highscores )
{
	int  p = player_index[ 0 ];
	_score final_award_score;
	
	outbuf[ 0 ] = '\0';

	if ( for_highscore ) {
		get_highscore( AWARD_LIST[ award ].awardID, & final_award_score, highscores );
		//final_award_score = highscores[ AWARD_LIST[ award ].awardID ].score;
	}
	else {
		calculate_award_score( AWARD_LIST[ award ].awardID, p, &final_award_score );
	}

	switch( AWARD_LIST[ award ].awardID ) {
		case AW_TERMINATOR :
			sprintf( outbuf, " for fragging %ld enemies.", final_award_score.score1 );
			break;
		case AW_SERIAL_KILLER :
			sprintf( outbuf, " for a streak of %ld frags.", final_award_score.score1 );
			break;
		case AW_FRAGMEAT :
			sprintf( outbuf, " for being fragged %ld times.", final_award_score.score1 );
			break;
		case AW_RESUP_DEFENDER :
			sprintf( outbuf, " for being fragged only %ld times.", final_award_score.score1 );
			break;
		case AW_GODZILLA :
			// only count sentries for highscore
			sprintf( outbuf, " for destroying %ld autosentries and %ld supplystations.", final_award_score.score1 , final_award_score.score2 );
			break;
		case AW_ACTION_MAN :
			sprintf( outbuf, " for %ld frags + deaths.", final_award_score.score1 );
			break;
		case AW_PENETRATOR:
			sprintf( outbuf, " for taking the flag from base %ld times.", final_award_score.score1 );
			break;
		case AW_ESCAPE_ARTIST:
			sprintf( outbuf, " for %ld coast to coast captures.", final_award_score.score1 );
			break;
		case AW_WANDERING_HANDS:
			sprintf( outbuf, " for %ld flagtouches.", final_award_score.score1 );
			break;
		case AW_SAVING_PRIVATE_RYAN :
			sprintf( outbuf, " for defending the flagcarrier %ld times.", final_award_score.score1 );
			break;
		case AW_GOALKEEPER :
			sprintf( outbuf, " for defending the flag at base %ld times.", final_award_score.score1 );
			break;
		case AW_FLYING_GOALKEEPER :
			sprintf( outbuf, " for defending the flag in the field %ld times.", final_award_score.score1 );
			break;
		case AW_TERRIER :
			sprintf( outbuf, " for killing the flagcarrier %ld times.", final_award_score.score1 );
			break;
		case AW_CAPTAIN_LEMMING :
			sprintf( outbuf, " for committing suicide %ld times.", final_award_score.score1 );
			break;
		case AW_SUCKZILLA :
			sprintf( outbuf, " for teamkilling a sentry %ld times.", final_award_score.score1 );
			break;
		case AW_TEAMKILLER :
			sprintf( outbuf, " for killing %ld teammates.", final_award_score.score1 );
			break;
		case AW_JACKASS :
			sprintf( outbuf, " for sitting on his grenade %ld times.", final_award_score.score1 );
			break;
		case AW_SUCKER :
			sprintf( outbuf, " for teamkilling the flagcarrier %ld times.", final_award_score.score1 );
			break;
		case AW_METEORITE :
			sprintf( outbuf, " for cratering %ld times.", final_award_score.score1 );
			break;
		case AW_ROCKETLAUNCHER :
			sprintf( outbuf, " for %ld direct rocket kills.", final_award_score.score1 );
			break;
		case AW_GRENADELAUNCHER :
			sprintf( outbuf, " for %ld direct red pipe kills.", final_award_score.score1 );
			break;
		case AW_SNIPERRIFLE :
			sprintf( outbuf, " for %ld headshot kills.", final_award_score.score1 );
			break;
		case AW_FLASH_GRENADE :
			sprintf( outbuf, " for %ld flashbang kills.", final_award_score.score1 );
			break;
		case AW_SHOTGUN :
			sprintf( outbuf, " for %ld shotgun kills.", final_award_score.score1 );
			break;
		case AW_FLAMETHROWER :
			sprintf( outbuf, " for %ld flamethrower kills.", final_award_score.score1 );
			break;
		case AW_NAILGUN :
			sprintf( outbuf, " for %ld nailgun kills.", final_award_score.score1 );
			break;
		case AW_MINIGUN :
			sprintf( outbuf, " for %ld minigun kills.", final_award_score.score1 );
			break;
		case AW_SENTRY :
			sprintf( outbuf, " for letting his autosentry get %ld kills.", final_award_score.score1 );
			break;
		case AW_SUPPLY_STATION:
			sprintf( outbuf, " for letting his supply station get %ld kills.", final_award_score.score1 );
			break;
		case AW_STALKER :
			sprintf( outbuf, " for %ld close range kills.",final_award_score.score1 );
			break;
		case AW_TOSSER :
			sprintf( outbuf, " for %ld handgrenade kills.", final_award_score.score1 );
			break;
		case AW_SANDMAN:
			switch( final_award_score.score1) {
				case 1: sprintf( outbuf, " for putting 1 player to sleep using the dartgun.", final_award_score.score1 ); 
					break;
				default:sprintf( outbuf, " for putting %ld people to sleep using the dartgun.", final_award_score.score1 );
					break;
			}	
			
			break;
		case AW_HE_CHARGE :
			sprintf( outbuf, " for %ld kills with a heavy explosive charge.", final_award_score.score1 );
			break;
		case AW_CLUSTER :
			sprintf( outbuf, " for %ld clusterbomb kills.", final_award_score.score1 );
			break;
		case AW_NAILGRENADE :
			sprintf( outbuf, " for %ld nail grenade kills.", final_award_score.score1 );
			break;
		case AW_LAVAGRENADE :
			sprintf( outbuf, " for %ld napalm grenade kills.", final_award_score.score1 );
			break;

		case AW_MOST_TEAMKILLED :
			sprintf( outbuf, " for being teamkilled %ld times.", final_award_score.score1 );
			break;
		case AW_FIRST_BLOOD:
			sprintf( outbuf, " got the first kill. The victim was %s.", html_player_clickable( first_blood_victim ) );
			break;
	}

	if ( for_highscore == FALSE ) {
		if ( outbuf[ 0 ] != '\0' ) {
			AS_OUT( OE_PLAIN, outbuf );
		}
	}
	else {
		// this is just for highscores
	}
}