45 lines
648 B
C
45 lines
648 B
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
#pragma once
|
|
|
|
#include <stdint.h>
|
|
#include "config.h"
|
|
|
|
typedef enum {
|
|
PUT,
|
|
POP
|
|
} move_t;
|
|
|
|
typedef struct {
|
|
int player;
|
|
int *height;
|
|
int *column;
|
|
uint8_t rows;
|
|
uint8_t columns;
|
|
} board_t;
|
|
|
|
typedef struct {
|
|
int *vertical2;
|
|
int *horizontal2;
|
|
int *diagonalUp2;
|
|
int *diagonalDown2;
|
|
int *vertical4;
|
|
int *horizontal4;
|
|
int *diagonalUp4;
|
|
int *diagonalDown4;
|
|
} directions_t;
|
|
|
|
typedef struct {
|
|
int total;
|
|
int horizontal;
|
|
int vertical;
|
|
int diagonalUp;
|
|
int diagonalDown;
|
|
} wincount_t;
|
|
|
|
typedef struct {
|
|
wincount_t count0;
|
|
wincount_t count1;
|
|
int *win0;
|
|
int *win1;
|
|
directions_t same;
|
|
} wins_t;
|