int main(int argc, char *argv[]) { int side, maxcolour; srand(time(NULL)); if (argc < 3) ERROR("Expected at least 2 arguments\n"); side = atoi(argv[1]); if (side <= 1) ERROR("Expected a square with a side length of at least 2"); if (side > MAX_SIDE) ERROR("Given side is greater than max_side"); maxcolour = atoi(argv[2]); if (maxcolour <= 1) ERROR("Expected at least 2 colours"); /* initialise random field */ for (unsigned int r = 0; r < NELEM(field); r++) for (unsigned int c = 0; c < NELEM(field[0]); c++) field[r][c] = rand() % maxcolour; for (int x = 0; x < side; x++) for (int y = 0; y < side; y++) print_tile(x, y); return 0; }
void print_list(TileList* list) { TileNode* cur = list->first; while (cur) { print_tile(cur->tile); cur = cur->next; } }
/* Wypisz zawartość stosu */ void print_pool(WINDOW* wnd) { int i,j; /* wypisz współrzędne znakowe */ for(i=0;i<TILES_COUNT;i++) { wmove(wnd, 4+(i*3)+i, 37); wprintw(wnd, "%c", 'A'+TILES_COUNT+i); } /* wypisz współrzędne numeryczne */ for(i=0;i<TILES_COUNT;i++) { wmove(wnd, 1, 40+i*5+2+i); wprintw(wnd, "%d.", i+1); } wmove(wnd, 1, 35); wprintw(wnd, "Pool:"); for(i=0;i<TILES_COUNT;i++) { for(j=0;j<TILES_COUNT;j++) { print_tile(wnd, &pool[i][j], 40+TILE_WIDTH*i+i, 3+TILE_HEIGHT*j+j); } } }
/* Wypisz zawartość pola gry */ void print_game(WINDOW* wnd) { int i,j; wmove(wnd, 3, 5); wprintw(wnd, "%s", "Game field:"); /* wypisz współrzędne znakowe */ for(i=0;i<TILES_COUNT;i++) { wmove(wnd, 8+i*3, 2); wprintw(wnd, "%c", 'A'+i); } /* wypisz współrzędne numeryczne */ for(i=0;i<TILES_COUNT;i++) { wmove(wnd, 5, 5+i*5+2); wprintw(wnd, "%d.", i+1); } for(i=0;i<TILES_COUNT;i++) { for(j=0;j<TILES_COUNT;j++) { print_tile(wnd, &game[i][j], 5+TILE_WIDTH*i, 7+TILE_HEIGHT*j); } } }
void print_board(int board[SIZE][SIZE]) { int i, j; printf("\n"); for (i = 0; i < SIZE; i++) { for (j = 0; j < SIZE; j++) { print_tile(board[i][j]); } printf("\n"); } printf("\n"); }
void print_game(struct game_t *game) { int r, c; move(0, 0); printw("Score: %6d Turns: %4d", game->score, game->turns); for (r = 0; r < NROWS; r++) { for (c = 0; c < NCOLS; c++) { move(r + 2, 5 * c); print_tile(game->board[r][c]); } } refresh(); }
int event(s_sdl *s_init, int **table, int xe, int ce) { SDL_Event event; int i; SDL_Texture *character; SDL_Rect dest; int x; int y; SDL_Texture *tileset; tileset = load_tileset(s_init); if (tileset == NULL) return (0); if (!(character = (load_character(s_init)))) printf("Character NULL"); i = 0; x = 100; y = 100; while (!i) { SDL_PollEvent(&event); switch (event.type) { case SDL_KEYDOWN: switch (event.key.keysym.sym) { case SDLK_ESCAPE: i = 1; return (0); case SDLK_LEFT: x = x - 1; break; case SDLK_RIGHT: x = x + 1; break; case SDLK_UP: y = y - 1; break; case SDLK_DOWN: y = y + 1; break; } break; } pos_character(&dest, &x, &y); print_tile(s_init, table, xe, ce, tileset); SDL_RenderCopy(s_init->renderer, character, NULL, &dest); SDL_RenderPresent(s_init->renderer); } }
void print_game(struct game_t *game) { int r, c; gotoxy(0, 0); printf("Score: %6d Turns: %4d", game->score, game->turns); for (r = 0; r < NROWS; r++) { for (c = 0; c < NCOLS; c++) { gotoxy(5 * c, r + 2); print_tile(game->board[r][c]); } } }