Пример #1
0
Файл: main.c Проект: B-C/ELEC223
int main() 
{
	play_score_init();
	
	play_score(poireau);

	serial_init();
	switchAllOnState(ON);
	musical_keyboard();

	chenillard();

	return 0; //EXIT_SUCCESS
}
Пример #2
0
void
ComputerScoring (int player)
{
  int i;
  int best;
  int bestv;

  NumberOfRolls = 3;		/* in case skipped middle */

  BuildTable (player);

  best = 0;

  bestv = -99;

  for (i = NUM_FIELDS - 1; i >= 0; --i) {
    if (player % 2) {
      if (bc_table[i] > bestv) {
	best = i;

	bestv = bc_table[i];
      }
    }

    else {
      if (bc_table[i] >= bestv) {
	best = i;

	bestv = bc_table[i];
      }
    }

    if (DisplayComputerThoughts) {
      fprintf (stderr, "<<BEST>> %s : VALUE = %d\n",
	       _(FieldLabels[best]),
	       bc_table[best]);
    }

  }

  if (DisplayComputerThoughts)
      fprintf (stderr, "I choose category %d as best %d score name %s\n",
               best, bc_table[best], _(FieldLabels[best]));

  play_score (player, best);

}
Пример #3
0
/*----------------------------------------------------------------------
 *	Calculate ways to play the word, given blanks used
 *	blanks may be played in more than one place
 *----------------------------------------------------------------------*/
void consider_word(const char *bused)	/* blanks used */
{
  if (bused[0] == '\0') {
    play.score = play_score();
    nb_add(&play);			/* remember if one of best */
  }else{
    char b = bused[0];
    char *bpos;
    for (bpos=play.bword; (bpos=strchr(bpos, b)) != NULL; bpos++) {
      int i = bpos - play.bword;
      if (board[play.row][play.col+i] == EMPTY) {
        play.bword[i] = BLANK;
        consider_word(bused+1);
        play.bword[i] = b;		/* replace character */
      }
    }
  }
}
Пример #4
0
gint
RedoLastMove (void) {
  gint rval = (CurrentPlayer + 1) % NumberOfPlayers;
  if (RedoList) {
    gint ii;
    UndoScoreElement *elem = RedoList->data;

    for (ii = 0; ii < NUMBER_OF_DICE; ii++) {
      DiceValues[ii].val = elem->DiceValues[ii];
      DiceValues[ii].sel = 0;
    }

    RedoList = g_list_remove (RedoList, elem);
    play_score (elem->player, elem->field);
    rval = (elem->player + 1) % NumberOfPlayers;
    g_free (elem);
    if (RedoList) {
      elem = RedoList->data;
      rval = elem->player;
    }
  }

  return rval;
}