コード例 #1
0
ファイル: main.c プロジェクト: jasonhe89/hw3AI
int main()
{
    unsigned int cur_board[MAX_BOARD_SIZE];
    int won = 0;
    int i;
    
    for (i = 0; i < MAX_BOARD_SIZE; i++) cur_board[i] = 0;
    
    while (!won) {
        
        if (moves == MAX_CHILD_NODES) { printf("draw\n"); break; }
        
        emitBoard( cur_board );
        
        getHumanMove( X_PLAYER, cur_board );
        
        won = checkPlayerWin( X_PLAYER, cur_board );
        moves++;
        
        if (!won) {
            
            if (moves == MAX_CHILD_NODES) { printf("draw\n"); break; }
            
            emitBoard( cur_board );
            
            getComputerMove( cur_board );
            // getHumanMove( O_PLAYER, cur_board );
            moves++;
            
            won = checkPlayerWin( O_PLAYER, cur_board );
            
            if (won) { printf("\nPlayer 2 wins!\n"); }
            
        } else {
            printf("\nPlayer 1 wins!\n");
        }
        
    }
    
    emitBoard( cur_board );
    return 0;
}
コード例 #2
0
ファイル: conio.c プロジェクト: Kirkman/libcaca
int main(void)
{
  BOOLEAN myturn;
  myturn = TRUE;
  drawBoard();
  srand(time(NULL));
  rand();
  do
  {
    switch (status())
    {
      case WIN:
      case LOSE:
      case DRAW:
      init();
      drawBoard();
      if (myturn)
      {
        makeMove(COMPUTER,(2+rand()%4),square);
      }
      myturn = !myturn;
      drawPiece();
    }
    textcolor(4);
    gotoxy(1,20);
    cprintf("Your Turn, Please.\n");
    getHumanMove();
    gotoxy(1,20);
    textcolor(4);
    switch (status())
    {
      case WIN:
        cprintf(WIN_MESSAGE);
        getch();
      break;
      case LOSE:
        cprintf(LOSE_MESSAGE);
        getch();
      break;
      case DRAW:
        cprintf(DRAW_MESSAGE);
        getch();
        break;
      default:/*OK*/
        if(computerMove())
        {
          gotoxy(1,20);
          drawPiece();
          gotoxy(1,20);
          switch (status())
          {
            case WIN:
              cprintf(WIN_MESSAGE);
              getch();
            break;
            case LOSE:
              cprintf(LOSE_MESSAGE);
              getch();
            break;
            case DRAW:
              cprintf(DRAW_MESSAGE);
              getch();
            break;
          }
        }
    }
  }
  while(TRUE);
}