#include "poker.h"

int my,op,game;
int cardcnt[11];
int maxcard,mincard;
int prevopcard,prevbet;

void init() {
  my = 30; op = 30;
  game = 0;
  for(int i=1;i<=10;i++) cardcnt[i] = 2;
  maxcard = 10, mincard = 1;
}

int betting(int prev,int card) {
  game++;

  if(prev > 0) cardcnt[prev]--;
  cardcnt[card]--;

  if(prevopcard < prev) {my += prevbet, op -= prevbet;}
  if(prevopcard > prev) {my -= prevbet, op += prevbet;}

  while(cardcnt[mincard] == 0) mincard++;
  while(cardcnt[maxcard] == 0) maxcard--;

  prevopcard = card;

  if(my >= 42 - game) return prevbet = 1;

  int allcards = 0, wincards = 0;
  for(int i=1;i<=10;i++) {
    allcards += cardcnt[i];
    if(i > card) wincards += cardcnt[i];
  }

  int maxbet = (42-game) - my;
  float mybet = ((float)maxbet-1.0)*((float)wincards/(float)allcards)  + 1.0;
  return prevbet = (int)mybet;
}
