How do computers play three-check chess? How do computers evaluate three-check chess positions where the first side to check the other side three times wins?  


How do they value the first and second checks?  
It looks like the position evaluations would be tricky but it also looks like three-check chess would be an easier game to solve than standard chess.
https://github.com/ddugovic/Stockfish


Very active development, this is the Stockfish version used by lichess.

What you need to do is search this macro:


  #ifdef THREECHECK


Evaluation function:


  https://github.com/ddugovic/Stockfish/blob/master/src/evaluate.cpp


Checks are given extra bonus unlike normal chess:

    if (pos.is_three_check())
        score += ChecksGivenBonus[pos.checks_given(Us)];


pos.checks_given gives the number of checks already done. ChecksGivenBonus is an array of bonus values.

The bonus values are:

  S(444, 181),  // first check
  S(2425, 603), // second check


444 is the bonus for opening/middlegame, and 181 is the bonus for endgame. The bonus for the second check is much greater.

I'm not sure positional evaluations in three-checks is tricky. I can see the parameters have changed, king safety improved, but the overall structure is identical to regular chess.