wtf obdélník v zadíní

This commit is contained in:
David Husicka 2021-11-15 22:20:16 +01:00
parent 2956f61c69
commit 57e15bbaf7
5 changed files with 14 additions and 14 deletions

17
2048.c
View File

@ -6,20 +6,21 @@ void game_add_block(Game game) {
size_t x, y;
int value;
do {
x = rand() % game.field_size;
y = rand() % game.field_size;
x = rand() % game.field_size_x;
y = rand() % game.field_size_y;
value = (rand() % 2) + 1;
} while (game.field[x][y] != 0);
game.field[x][y] = value * 2;
}
Game game_init(size_t field_size) {
Game game_init(size_t field_size_x, size_t field_size_y) {
Game game;
game.field_size = field_size;
game.field_size_x = field_size_x;
game.field_size_y = field_size_y;
game.score = 0;
game.field = malloc(sizeof(uint16_t *) * field_size);
for (size_t i = 0; i < field_size; i++) {
game.field[i] = calloc(field_size, sizeof(uint16_t) * field_size);
game.field = malloc(sizeof(uint16_t *) * field_size_y);
for (size_t i = 0; i < field_size_y; i++) {
game.field[i] = calloc(field_size_x, sizeof(uint16_t) * field_size_x);
}
time_t t;
@ -30,7 +31,7 @@ Game game_init(size_t field_size) {
}
void game_destroy(Game game) {
for (size_t i = 0; i < game.field_size; i++) {
for (size_t i = 0; i < game.field_size_y; i++) {
free(game.field[i]);
}
free(game.field);

4
2048.h
View File

@ -15,11 +15,11 @@ typedef enum Direction {
typedef struct Game
{
uint32_t score;
size_t field_size;
size_t field_size_x, field_size_y;
uint16_t **field;
} Game;
Game game_init(size_t field_size);
Game game_init(size_t field_size_x, size_t field_size_y);
uint8_t game_move(Game *game, Direction direction);
void game_destroy(Game game);

2
main.c
View File

@ -5,7 +5,7 @@
int main(int argc, char *argv[])
{
Game game;
game = game_init(4);
game = game_init(4, 4);
tui_init();
tui_loop(&game);

4
tui.c
View File

@ -20,8 +20,8 @@ void tui_loop(Game *game) {
while(true){
// printing the game state is fun
clear();
for (size_t i = 0; i < game->field_size; i++) {
for (size_t j = 0; j < game->field_size; j++) {
for (size_t i = 0; i < game->field_size_y; i++) {
for (size_t j = 0; j < game->field_size_x; j++) {
mvprintw(i * space_between_cells_y, j * space_between_cells_x, "%d", game->field[i][j]);
}
}

1
tui.h
View File

@ -4,7 +4,6 @@
#define HEADER_TUI
typedef struct TUI {
} TUI;
void tui_init();