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; }
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; }