void print_board_SDL (int board_array[BOARD_HEIGHT][BOARD_WIDTH], window *w, SDL_Rect *rectangle){ for (int i = 0; i < BOARD_HEIGHT; ++i){ for (int j = 0; j < BOARD_WIDTH; ++j){ check_for_quit (w); if (w->finished == 1){ SDL_Quit(); } rectangle->x = j * RECT_SIZE; rectangle->y = i * RECT_SIZE; if (board_array[i][j] == 1){ SDL_SetRenderDrawColor(w->renderer, 100, 100, 100, SDL_ALPHA_OPAQUE); } else if (board_array[i][j] == 0){ SDL_SetRenderDrawColor(w->renderer, 250, 250, 250, SDL_ALPHA_OPAQUE); } SDL_RenderFillRect(w->renderer, rectangle); } } }
int main(int argc , char *argv[]) { // init vehicle init_vehicle(); // connect to server if(connect_server() != 0) { // error puts("Closing."); return 0; } // connected puts("All peachy."); puts("Sending hi."); // lets go in big loop and process incoming data while(veh.flag){ // Sort of hearbeat //send_hi(); // recv is blocking call // data from server veh.cnt = recv(veh.socket_desc, veh.server_reply , SERVER_MSG_SIZE , 0); if (veh.cnt > 0 ) { // we received data // print to terminal that a message from server came in printf("RECEIVED: %d BYTES\n", veh.cnt); printf("MSG FROM SERVER: %s\n", veh.server_reply); if (check_for_init() == 1){ // wasn't init // check for stop if (check_for_stop() == 1) { // wasn't stop // check for params if (check_for_params() == 1) { // wasn't params // check for quit if (check_for_quit() == 1) { // it wasn't quit -> bad command printf("Unknown command.\n"); } else { //it was quit -> so quit veh.flag = 0; } } } } // send proper response send(veh.socket_desc, veh.message, strlen(veh.message), 0); } else { puts("Received no data."); // no data -> server probably ended the connection veh.flag = 0; } // erase server reply memset(veh.server_reply, 0, SERVER_MSG_SIZE); // erase message memset(veh.message, 0, SERVER_MSG_SIZE); // erase counter veh.cnt = 0; // sleep 500ms //nanosleep((const struct timespec[]){{0, NSLEEP_TIME}}, NULL); } // veh.flag puts("Closing program."); shutdown(veh.socket_desc, 2); // close socket if (veh.state != VEH_UNINIT){ // dont call unless properly initialized stop_wings(); } return 0; }