Example #1
0
void test_init_player(void)
{
	printf("\ntest_init_player\n");
	s_player p1, p2, p3, p4, p5;
	int result;

	result = init_player(&p1, 1, "my name 1", 1, STRATEGY_NONE, 10);
	assert_int_equals(result, INIT_PLAYER_OK);
	assert_str_equals(p1.name, "my name 1");
	assert_int_equals(p1.id, 1);
	assert_int_equals(p1.nb_cells, 0);
	assert_int_equals(p1.nb_pawns, 10);
	assert_int_equals(p1.strategy, STRATEGY_NONE);
	assert_int_equals(p1.is_human, 1);

	result = init_player(&p2, 2, "my name 2", 1, STRATEGY_OFFENCE, 10);
	assert_int_equals(result, PLAYER_ERROR_INIT_PLAYER_STRATEGY);

	result = init_player(&p3, 3, "my name 3", 0, STRATEGY_NONE, 10);
	assert_int_equals(result, PLAYER_ERROR_INIT_PLAYER_STRATEGY);

	result = init_player(&p4, 4, "my name 4", 0, STRATEGY_SPREAD, 10);
	assert_int_equals(result, INIT_PLAYER_OK);
	assert_str_equals(p4.name, "my name 4");
	assert_int_equals(p4.id, 4);
	assert_int_equals(p4.nb_cells, 0);
	assert_int_equals(p4.nb_pawns, 10);
	assert_int_equals(p4.strategy, STRATEGY_SPREAD);
	assert_int_equals(p4.is_human, 0);
//~
	result = init_player(&p5, 5, "", 1, STRATEGY_NONE, 10);
	assert_int_equals(result, PLAYER_ERROR_INIT_PLAYER_EMPTY_NAME);
}
Example #2
0
int init_board(board_t *board){
    printf("[INIT]\n\tInitializing board...\n");
    memset(board,0,sizeof(board_t));
    board->turn_count = 1;
    init_player(&board->players[0]);
    init_player(&board->players[1]);
    printf("\tBoard successfully initialized.\n[/INIT]\n");
    return 0;
}
Example #3
0
void init_board(struct board_t *board) {
	int corr;
	for(corr = 0; corr < 5; corr++) {
		board->slot[0][corr].hp = 0;
		board->slot[1][corr].hp = 0;
	}
	init_player(&board->pl[0]);
	init_player(&board->pl[1]);
}
Example #4
0
int main(int argc, char** argv)
{
#ifndef TARGET_ESC64
	//disable line-buffering on stdin
	struct termios old_tio, new_tio;
	assert(!tcgetattr(STDIN_FILENO, &old_tio));
	new_tio = old_tio;
	new_tio.c_lflag &= (~ICANON & ~ECHO);
	assert(!tcsetattr(STDIN_FILENO, TCSANOW, &new_tio));
#endif

	for(;;)
	{
		fputs("\x1B[2J\x1B[H\x1B[?25l", stdout); //clear screen, cursor to home, cursor invis
		player1.pos.x = 16;
		player2.pos.x = 60;
		
		//initialize / generate
		gen_terrain();
		init_player(&player1);
		init_player(&player2);
		curPlayer = &player1;
		
		//draw
		draw_static();
		draw_terrain();
		draw_player(&player1);
		draw_player(&player2);
		draw_stats(&player1);
		draw_stats(&player2);
		
		while(player1.hull > 0 && player2.hull > 0)
		{		
			if(player_input())	{ break; }
			TERM_DRAWSTR(MSG_X, MSG_Y + 1, "shot fired");
			shoot();
			
			curPlayer = curPlayer == &player1 ? &player2 : &player1;
		}
	}

#ifndef TARGET_ESC64
	//restore old settings line-buffering settings
	//tcsetattr(STDIN_FILENO, TCSANOW, &old_tio);
#endif
	
	//return 0;
}
Example #5
0
File: main.c Project: icebird93/8M
// Programm Eintritt
int main(int argc, char *argv[])
{
	int selected, points=0, width, height;

	// Größe einstellen
	switch(argc)
	{
		default:
			width=DEFAULT_WIDTH;
			height=DEFAULT_HEIGHT;
			break;
		case 2:
			width=height=atoi(argv[1]);
			break;
		case 3:
			width=atoi(argv[1]);
			height=atoi(argv[2]);
			break;
	}

	// STDOUT aufstellen
	init_player();
	init(points, width, height);

	// Mainmenu zeigen und Spiel starten
	do
	{
		selected=menu();
		game_launch(&selected, &points);
	} while(selected!='q');

	return 0;
}
Example #6
0
/**
 * Init the players, between 2 and nb_max_players
 *
 * @return void
 */
void game_select_players(s_board *b, s_player *players, const uint8_t nb_max_players, const uint16_t nb_pawns_per_player)
{
	int p;

	p = 0;
	char player_name[PLAYER_NAME_LEN];
	char name_prompt[19], names_informations[96];

	sprintf(names_informations, "Please select between 2 and %d players.\n\
Validate an empty name when you have enough players.", nb_max_players);
	ui_info(names_informations);

	while (p < nb_max_players) {
		// @TODO loop on each player, ask if the player is an AI or a human
		// @TODO	ask for the player name and the strategy if AI
		sprintf(name_prompt, "Name of player %d: ", p+1);
		ui_prompt(name_prompt, player_name, (size_t) PLAYER_NAME_LEN);

		if (strlen(player_name) > 0) {
			init_player(&players[p], p+1, player_name, 1, STRATEGY_NONE, nb_pawns_per_player);
			board_add_player(b, &players[p]);
			p++;
		}
		else if (p >= 2) {
			break;
		}
	}
}
Example #7
0
int			main()
{
  t_board		board;
  SDL_Surface		*ecran;
  char			*levelname;

  if (SDL_Init(SDL_INIT_VIDEO) == -1)
    {
      xwrite(2, "SDL_INIT Error\n", 15);
      exit(EXIT_FAILURE);
    }
  if ((levelname = getlevel()) != NULL)
    get_map(&board, levelname);
  else
    return (1);
  board.mobs = create_mobs(&board);
  init_player(&board.player.ix, &board.player.iy, &board);
  board.player.nb_life = 3;
  ecran = xSDL_SetVideoMode(board.size * 30 , board.h * 30, 32,
			   SDL_HWSURFACE | SDL_DOUBLEBUF);
  SDL_WM_SetCaption("Epikong", NULL);
  board.ecran = ecran;
  aff_board(&board, ecran);
  play_the_game(&board);
  return (0);
}
Example #8
0
void start_replay(void *arg) {
	ReplayStage *rstg;
	StageInfo 	*gstg;
	int i;
	
	replay_copy(&global.replay, (Replay*)arg);
	global.replaymode = REPLAY_PLAY;
	
	if(global.replay.stgcount == 1)
		pickedstage = 0;
	
	init_player(&global.plr);
	for(i = pickedstage; i < global.replay.stgcount; ++i) {
		replay_select(&global.replay, i);
		rstg = global.replay.current;
		gstg = stage_get(rstg->stage);
		
		if(!gstg) {
			printf("start_replay(): Invalid stage %d in replay at %i skipped.\n", rstg->stage, i);
			continue;
		}
		
		gstg->loop();
		
		if(global.game_over == GAMEOVER_ABORT)
			break;
		global.game_over = 0;
	}
	
	global.game_over = 0;
	global.replaymode = REPLAY_RECORD;
	replay_destroy(&global.replay);
	
	replayview->instantselect = False;
}
Example #9
0
File: game.c Project: ljg6/MyGame2D
void init_lvl1()
{
	init_UI();
	init_player();
	init_lvl1Graphics();
	init_lvlOnePickups();
}
Example #10
0
void test_cell_set_nb_pawns(void)
{
	printf("\ntest_cell_set_nb_pawns\n");
	s_cell c;
	s_player p;
	int result;

	init_cell(&c, 1, 4);
	init_player(&p, 1, "test", 1, STRATEGY_NONE, 10);

	result = cell_set_nb_pawns(&c, 13);
	assert_int_equals(result, CELL_ERROR_SET_PAWNS_NO_OWNER);
	assert_int_equals(c.nb_pawns, 0);
	cell_set_owner(&c, &p);

	result = cell_set_nb_pawns(&c, 13);
	assert_int_equals(result, CELL_ERROR_SET_PAWNS_NOT_ENOUGH_PAWNS);
	assert_int_equals(c.nb_pawns, 0);

	result = cell_set_nb_pawns(&c, 10);
	assert_int_equals(result, CELL_SET_PAWNS_OK);
	assert_int_equals(c.nb_pawns, 10);

	free_cell(&c);
}
Example #11
0
void setup_exchange_player_number(void)
{
  struct PlayerInfo *player;
  struct Packet *pckt;
  int i,k;
  SYNCDBG(6,"Starting");
  clear_packets();
  player = get_my_player();
  pckt = get_packet_direct(my_player_number);
  set_packet_action(pckt, PckA_InitPlayerNum, player->field_2C, settings.video_rotate_mode, 0, 0);
  if (LbNetwork_Exchange(pckt))
      ERRORLOG("Network Exchange failed");
  k = 0;
  for (i=0; i<NET_PLAYERS_COUNT; i++)
  {
      pckt = get_packet_direct(i);
      if ((net_player_info[i].active) && (pckt->action == PckA_InitPlayerNum))
      {
          player = get_player(k);
          player->id_number = k;
          player->field_0 |= 0x01;
          if (pckt->field_8 < 1)
            player->field_4B5 = 2;
          else
            player->field_4B5 = 5;
          player->field_2C = pckt->field_6;
          init_player(player, 0);
          strncpy(player->field_15,net_player[i].name,sizeof(struct TbNetworkPlayerName));
          k++;
      }
  }
}
Example #12
0
World *load_world(char *path) {
	World *world = malloc(sizeof(*world));

	struct parser_data *data = malloc(sizeof(*data));
	data = parse(path);

	/*int i;
	for(i = 0; i < sizeof(data->nodes); i++) {
		if((data->nodes[i].data[0] == NULL) || (strcmp(data->nodes[i].name, "") == 0)) {
			break;
		}
		if((data->nodes[i].data[0] != NULL)) {
			fprintf(stderr, "node: %d name: %s\n", i, data->nodes[i].name);
			int j;
			for(j = 0; j < sizeof(data->nodes[i].data); j++) {
				if((data->nodes[i].data[j] == NULL) || (strcmp(data->nodes[i].data[j], "") == 0)) {
					break;
				}
				fprintf(stderr, "data: %s\n", data->nodes[i].data[j]);
			}
		}
	}*/
	char *world_dir = malloc((strlen(path) - strlen("world_description.wd")) + strlen("landscape.png"));
	strncpy(world_dir, path, strlen(path) - strlen("world_description.wd"));
	strcat(world_dir, "landscape.png");
	world->landscape = load_image(world_dir);
	memset(world_dir, 0, strlen(world_dir));
	world_dir = malloc((strlen(path) - strlen("world_description.wd")) + strlen("landscape.png"));
	strncpy(world_dir, path, strlen(path) - strlen("world_description.wd"));
	world->player = init_player(data, world_dir);

	free(data);

	return world;
}
Example #13
0
t_return			parse_argument(int ac, char **av,
					t_player players[MAX_PLAYERS], t_env *env)
{
	int				i;
	int				curs_player;

	i = 1;
	curs_player = 0;
	while (i < ac)
	{
		if (ft_strcmp(av[i], "-dump") == 0 && i + 1 == ac)
			return (PERROR("missing arguement after -dump."));
		else if (ft_strcmp(av[i], "-dump") == 0)
			env->cycles_to_dump = ft_atoi(av[i++ + 1]);
		else if (ft_strcmp(av[i], "-g") == 0)
			env->graphics = 1;
		else if (ft_strcmp(av[i], "-n") == 0 && i + 2 >= ac)
			return (PERROR("missing champ file after -n."));
		else if (ft_strcmp(av[i], "-n") == 0)
			curs_player = ft_atoi(av[i++ + 1]) - 1;
		else if (av[i][0] == '-')
			return (PERROR("Invalid option."));
		else if (init_player(players + curs_player, &curs_player, av[i])
					== _ERR)
			return (PERROR("init_player: error during creation."));
		i++;
	}
	return (_SUCCESS);
}
Example #14
0
/* add the recently connected client to the game as a player */
void join_player(struct socket_node *socket) {
   struct packet_version packet;
   struct packet_welcome packet2;
   int i;
   struct action_node *action;
   struct socket_node *p;
   socket->player = get_free_player();
   init_player(socket->player, INIT_PLAYER_HUMAN);
/* send version */
   packet.version = swap_int(PROGRAM_VERSION);
   send_socket(socket, PACKET_VERSION, &packet, sizeof(struct packet_version));
   
/* send welcome */
   packet2.player = swap_int(socket->player);
   send_socket(socket, PACKET_WELCOME, &packet2, sizeof(struct packet_welcome));

/* send all previous players to the new client */
   for (i = 0; i < NUM_PLAYERS; i++) {
      if (IS_ACTIVE(i) && i != socket->player) {
         send_player_info(socket, i, 0);
      /* send any already selected action */
         action = find_action(i, current_turn);
         if (action && action->action != ACTION_NOTHING)
            send_action(socket, i, current_turn);
      }
   }

/* send the new player to ALL clients */
   for (p = socket_list; p != NULL; p = p->next) {
      if (p->type == SOCKET_CLIENT)
         send_player_info(p, socket->player, 1);
   }

   telegram("\n%s has\nconnected to the server.\n", GET_NAME(socket->player));
}
Example #15
0
static void setup_players(void) {
  n_players = 2;

  players = malloc(n_players * sizeof(player_t));

  init_player(&players[0], mkcolor(255, 0, 0));
  players[0].keydefs[0] = KEYDEF(3, 0x10000000) /* right */;
  players[0].keydefs[1] = KEYDEF(3, 0x40000000) /* up */;
  players[0].keydefs[2] = KEYDEF(3, 0x08000000) /* left */;
  players[0].keydefs[3] = KEYDEF(3, 0x20000000) /* down */;

  init_player(&players[1], mkcolor(0, 255, 0));
  players[1].keydefs[0] = KEYDEF(0, 0x00000002) /* s */;
  players[1].keydefs[1] = KEYDEF(0, 0x00002000) /* w */;
  players[1].keydefs[2] = KEYDEF(0, 0x00000001) /* a */;
  players[1].keydefs[3] = KEYDEF(0, 0x00000040) /* z */;
}
Example #16
0
File: main.c Project: bloodead/Tron
int	init(t_env* env)
{
	init_env(env);
	tputs(env->cl, 1, id_put);
	init_shm(env);
	init_cadre(env);
	init_player(env);
	return (0);
}
Example #17
0
int		player_born(t_game *game, int id_player, int team)
{
  t_player	*pl;

  if (game->player == NULL)
    {
      init_player(game, id_player, team);
      return (1);
    }
  pl = my_l_find(game->player, &team, find_player);
  if (pl == NULL)
    {
      init_player(game, id_player, team);
      return (1);
    }
  pl->player_id = id_player;
  return (2);
}
Example #18
0
void		create_player(t_server *server, t_client *client)
{
  t_player	*player;

  player = xmalloc(sizeof(t_player));
  init_player(player, client->socket, client->team);
  add_player(server, player, server->width, server->height);
  player->client = client;
  client->player = player;
}
Example #19
0
void board_init(board_t *board) {
    init_player(&board->p[P_ONE]);
    init_player(&board->p[P_TWO]);
    int i;

    // null the board
    for(i=0; i<5; i++) {
        board->lanes[P_ONE][i].name[0] = '\0';
        board->lanes[P_ONE][i].life = 0;
        board->lanes[P_ONE][i].force = 0;
        board->lanes[P_ONE][i].cost = 0;
    }
    for(i=0; i<5; i++) {
        board->lanes[P_TWO][i].name[0] = '\0';
        board->lanes[P_TWO][i].life = 0;
        board->lanes[P_TWO][i].force = 0;
        board->lanes[P_TWO][i].cost = 0;
    }
}
Example #20
0
void board1(void)
{
    //prints("helloworld", 0, 0, 1,1.5);
    make_space();
    init_player(2, 2000);
    
    player1_position = 0;
    player2_position = 0;
    
    //DEBUG TEST
    
    do {
        if (player[1] > 0) {
            player1_turn();
#ifdef __APPLE__
			sleep(1);
#else
            Sleep(1000);
#endif
        }
        else
            printf("Player[1] is bankrupted, skip\n\n");
        
        if (player[2] > 0) {
            player2_turn();
#ifdef __APPLE__
			sleep(1);
#else
            Sleep(1000);
#endif
        }
        else
            printf("Player[2] is bankrupted, skip\n\n");
        
        
    } while (player[1] > 0 || player[2] > 0);
    
    
    //analysis
    printf("\n\n");
    for (int i=0; i<40; i++) {
        if (space[i].occupy_condition == -1 || space[i].occupy_condition == 0) {
            printf("[%d]%s is owned by the Mother Nature\n",i, space[i].space_name);
        }
        else
        	printf("[%d]%s is owned by Player[%d]\n",i, space[i].space_name, space[i].occupy_condition);
    }
    
    
    
    
    
    //dice_ui(-1, 1);
    
}
Example #21
0
void		create_player_at_pos(t_server *server, t_client *client, \
				     int x, int y)
{
  t_player	*player;

  player = xmalloc(sizeof(t_player));
  init_player(player, client->socket, client->team);
  add_player_to_pos(server, player, x, y);
  player->client = client;
  client->player = player;
}
Example #22
0
char	init_game(t_player *p)
{
  key_t	key;

  key = ftok("/", 0);
  if (key == -1)
    return (my_perror());
  if (!init_sh_resources(key, p) || !init_player(p))
    return (FAILURE);
  return (SUCCESS);
}
Example #23
0
void			init_world(t_world *world, int starting_cells)
{
	int			i;

	world->player_number = 1;
	if (!(world->players = (t_player *)malloc(sizeof(t_player) * world->player_number)))
		exit(-42);
	i = -1;
	while (++i < world->player_number)
		world->players[i] = init_player(starting_cells);
}
Example #24
0
static int create_player(struct player *player, char *name)
{
	assert(name != NULL);
	assert(player != NULL);

	init_player(player, name);
	player->elo = DEFAULT_ELO;
	player->is_rankable = 0;
	player->is_modified = 1;

	return 1;
}
Example #25
0
File: init.c Project: y0ja/Wolf3D
void	init_struct(t_mega *all)
{
    all->e.refresh = 1;
    init_hook(&all->hook);
    init_cam(&all->cam, (int)START_X, (int)START_Y);
    init_player(&all->player);
    init_textures(all);
    all->sprites = init_sprites(all);
    init_minimap(&all->e, &all->hook.minimap);
    stock_minimap(all);
    all->door.x = 0;
}
Example #26
0
File: main.cpp Project: daid/Rogue
/*
 * main:
 *        The main program, of course
 */
int main(int argc, char **argv)
{
    md_init();
    initJedi();

    /*
     * get home and options from environment
     */

#ifdef __linux__
    strcpy(file_name, "/var/lib/griffin/rogue.save");
#else
    strcpy(file_name, "rogue.save");
#endif

    open_score();

    /*
     * check for print-score option
     */

    if (argc == 2)
    {
        if (strcmp(argv[1], "-s") == 0)
        {
            score(0, -1, 0);
            exit(0);
        }
    }

    init_check();                        /* check for legal startup */
    restore("-r");

    init_probs();                        /* Set up prob tables for objects */
    init_player();                        /* Set up initial player stats */
    init_names();                        /* Set up names of scrolls */
    init_colors();                        /* Set up colors of potions */
    init_stones();                        /* Set up stone settings of rings */
    init_materials();                        /* Set up materials of wands */
    setup();

    displayMessage("WELCOME TO THE DUNGEONS OF DOOM");
    new_level();                        /* Draw current level */
    /*
     * Start up daemons and fuses
     */
    start_daemon(runners, 0, AFTER);
    start_daemon(doctor, 0, AFTER);
    fuse(swander, 0, WANDERTIME, AFTER);
    start_daemon(stomach, 0, AFTER);
    playit();
    return(0);
}
Example #27
0
int main()
{ 
    struct board_t board;
    init_board(&board);
    board.player_turn = 0;
    init_player(&board.players[0]);
    init_player(&board.players[1]);
    
    init_hand_cards(&board.players[0].hand);
    init_hand_cards(&board.players[1].hand);
    int card_to_play, card = 2, j;
    board.players[0].name = "ПешУ";
    board.players[1].name = "ГошУ";
    
    load_deck(&board, "deck1.csv");
    board.player_turn = 1;
    load_deck(&board, "deck_2.csv");
      
for (j = 0; j<=4; j++)
{    
    draw_card(&board.players[0].deck, &board.players[0].hand);
    draw_card(&board.players[1].deck, &board.players[1].hand);
}

    

/*
    if(board.players[!board.player_turn].hand.hand_cards[card].damage < 0)
    {
        
        special_effect(&board, card);
    }
    
*/

    print_board(&board);
    
    
return 0;
	}
Example #28
0
// function for maze
Maze *construct_maze(int shape[MAZE_HEIGHT][MAZE_WIDTH], int px, int py, int ex, int ey) {
    Maze *maze = (Maze *) malloc(sizeof(Maze));
    init_player(&maze->player1, px, py);
    init_exit(&maze->exit1, ex, ey);
    for (int i = 0; i < MAZE_HEIGHT; i++) {
        for (int j = 0; j < MAZE_WIDTH; j++) {
            maze->wall1.shape[i][j] = shape[i][j];
        }
    }
    maze->xsize = MAZE_WIDTH;
    maze->ysize = MAZE_HEIGHT;
    return maze;
}
Example #29
0
int							main(int ac, char **av)
{
	t_player				*player;

	ac--;
	av++;
	check_input(ac, av);
	if (!(player = init_player(ft_atoi(av[0]))))
		ERROR_LEMIPC;
	wait_ncurse(player);
	loop(player);
	free_player(player);
	return (EXIT_SUCCESS);
}
Example #30
0
void test_cell_set_owner(void)
{
	printf("\ntest_cell_set_owner\n");
	s_cell c;
	s_player p;
	init_cell(&c, 1, 4);
	init_player(&p, 1, "test", 1, STRATEGY_NONE, 10);

	assert_null(c.owner);
	cell_set_owner(&c, &p);
	assert_str_equals(c.owner->name, "test");
	assert_int_equals(c.owner->nb_cells, 1);

	free_cell(&c);
}