wtf obdélník v zadíní
This commit is contained in:
parent
2956f61c69
commit
57e15bbaf7
17
2048.c
17
2048.c
|
@ -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
4
2048.h
|
@ -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
2
main.c
|
@ -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
4
tui.c
|
@ -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]);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue