#ifndef __DICEFUNCS_H__
#define __DICEFUNCS_H__
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <string.h>
//#include <pthread.h>
#include <math.h>
#include <unistd.h>
#include <sys/time.h>
#include "Global.h"
#include "Random.h"

/*
extern uint32_t Exit_Program;
extern uint32_t Num_Players;
extern uint32_t Dice;
extern uint32_t Simulations;
extern uint32_t Min_Get_Onboard;
extern uint32_t Straight_Score;
extern uint32_t Three_Pairs_Score;
*/

extern struct Game_Status gs;
extern struct Player_Data *pd;
//extern uint8_t *Dice_Selections;
//extern uint8_t *Dice_Values;


//static uint8_t Has_Straight(uint8_t *roll_results, uint8_t dice);
//static uint8_t Has_Three_Pair(uint8_t *num_counts, uint8_t dice);
//static uint32_t Roll_Dice_AI(uint64_t *s, struct Player_Data *pd);
//static uint32_t Roll_Dice(uint32_t p_num);
//void *Worker_Func(void *data);
//void Roll_Dice(void);
//uint8_t Valid_Dice_Selection(uint8_t index);

void Player_End_Turn(void);
void Next_Player(void);
void Adjust_RDC(void);
void Blank_Dice(void);
void Reset_Dice_Selection(void);
uint8_t Player_Can_Roll(void);
void Roll_Dice(void);
uint32_t Score_Of_Selected(void);
uint32_t AI_Select_Dice(void);
uint8_t Valid_Dice_Selection(void);




#endif