Ejemplo n.º 1
0
bool validate_move(board_t * board, piece_info_t * move){
    if (!validate_move_no_conflict(board, move)){
        return false;
    }
    
    if (board->blacknum == 0){
        if (board->whitenum == 0
            && move->role == ROLE_BLACK
            && move_covers(move, 4, 4)){
            return true;
        } 
        return false;
    }
    if (board->whitenum == 0){
        if (board->blacknum == 1
            && move->role == ROLE_WHITE
            && move_covers(move, 9, 9)){
            return true;
        }
        return false;
    }
    
    if (!validate_move_check_corner(board, move)){
        return false;
    }
    
    return true;
}
Ejemplo n.º 2
0
int main(int argc, char *argv[]) {
	printf("mpflow - Copyright (C) 2009 Walter de Jong <*****@*****.**>\n");
	get_options(argc, argv);

	if (lock_program() == -1) {
		printf("another instance of mpflow is already running\n");
		return 1;
	}
	init_mpd();

/* init app */
	SDK_init();

	create_window();
	set_app_icon();

	init_gl();
	draw_startup();			/* only a border */

/* note that the order of init_() functions here is important (!) */
	init_textures();
	init_text();
	init_covers();
	init_events();

	init_widget_covers();
	init_widget_about();
	init_widget_aboutbutton();
	init_widget_titlebar();

	main_widget = &w_titlebar;
	prepare_widgets();
	draw();

	for(;;) {
		SDK_handle_events();
		move_covers();

		if (!moving)
			SDL_WaitEvent(NULL);
		else
			SDK_sleep(FRAME_DELAY);
	}
	exit_program(0);
	return 0;
}