int tilt_board_left(int size,int **board){ int sumLeft; if (size<1||size>255||!board) return -1; int line = 0; for(line = 0; line < size; ++line) { sumLeft+= tilt_line_left(size, board[line]); } return sumLeft; }
int board_tiltable(int board_size, int** board){ int i,x,y; int different=0; int **board_test_l=board_clone(board_size,board); board_test_l=board_flip(board_test_l,board_size); for(i=0;i<board_size;i++) tilt_line_left(board_size,board_test_l[i]); board_test_l=board_flip(board_test_l,board_size); int **board_test_u=board_clone(board_size,board); for(i=0;i<board_size;i++) tilt_line_left(board_size,board_test_u[i]); for(x=0;x<board_size;x++){ for(y=0;y<board_size;y++){ if(board[x][y]!=board_test_u[x][y]||board[x][y]!=board_test_l[x][y]) {different++;x=board_size;y=board_size;} } } if(!different) {return 0;} return 1; }
int tilt_board_up(int size,int **board){ // make sure size of board is sensible if (size<1||size>255||!board) return -1; int column = 0; int sumUp = 0; for(column = 0; column < size; ++column) { int *column_Array = calloc(size, sizeof(int)); board_read_column(size, board, column, column_Array); sumUp += tilt_line_left(size, column_Array); board_set_column(size, board, column, column_Array); } return sumUp; }
int wb0(){ printf("\nin wb255 \n"); fflush(stdout); int e=0; e+=tilt_line_left(0,NULL); e+=tilt_line_right(0,NULL); e+=board_rotate_right(0,NULL); e+=board_rotate_left(0,NULL); e+=tilt_board_up(0,NULL); e+=tilt_board_down(0,NULL); e+=tilt_board_left(0,NULL); e+=tilt_board_right(0,NULL); if(e == (0-8)) { printf("upper boundary 1 tests for all 8 tilt functions: PASS\n"); }else{ printf("upper boundary 1 tests for all 8 tilt functions: FAIL: %d \n",e); } fflush(stdout); return 0; }