|
196 | 196 | </dl> |
197 | 197 | </dd></dl> |
198 | 198 |
|
| 199 | +<dl class="py method"> |
| 200 | +<dt class="sig sig-object py" id="play.PlayChessApp.add_eval_comments_to_mainline"> |
| 201 | +<span class="sig-name descname"><span class="pre">add_eval_comments_to_mainline</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">game</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Game</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#play.PlayChessApp.add_eval_comments_to_mainline" title="Permalink to this definition">¶</a></dt> |
| 202 | +<dd><p>Annotate each half-move in the Game’s main line with the corresponding eval score.</p> |
| 203 | +<p>This mutates <cite>game</cite> in place by setting <cite>node.comment = “{eval=…}”</cite> on |
| 204 | +each <cite>ChildNode</cite> in <cite>game.mainline()</cite>.</p> |
| 205 | +<p><strong>Alignment requirement</strong> |
| 206 | +It is the caller’s responsibility to ensure that:</p> |
| 207 | +<blockquote> |
| 208 | +<div><ul class="simple"> |
| 209 | +<li><p><cite>self.game_line</cite> has exactly one dummy pick at index 0 (for the “illegal” move), and</p></li> |
| 210 | +<li><p><cite>len(self.game_line) - 1 == number of half-moves in game.mainline()</cite>.</p></li> |
| 211 | +</ul> |
| 212 | +</div></blockquote> |
| 213 | +<p>If those are out of sync, the for-loop will silently stop at the shorter of the two, |
| 214 | +so any mis-alignment should be checked <em>before</em> calling this method.</p> |
| 215 | +<dl class="field-list simple"> |
| 216 | +<dt class="field-odd">Parameters<span class="colon">:</span></dt> |
| 217 | +<dd class="field-odd"><dl class="simple"> |
| 218 | +<dt><strong>game</strong><span class="classifier">chess.pgn.Game</span></dt><dd><p>A PGN <cite>Game</cite> whose main-line nodes you want to annotate with eval comments sourced from <cite>self.game_line</cite>.</p> |
| 219 | +</dd> |
| 220 | +</dl> |
| 221 | +</dd> |
| 222 | +</dl> |
| 223 | +</dd></dl> |
| 224 | + |
199 | 225 | <dl class="py method"> |
200 | 226 | <dt class="sig sig-object py" id="play.PlayChessApp.add_options"> |
201 | 227 | <span class="sig-name descname"><span class="pre">add_options</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">menu_bar</span></span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="n"><span class="pre">Menu</span></span></em><span class="sig-paren">)</span> <span class="sig-return"><span class="sig-return-icon">→</span> <span class="sig-return-typehint"><span class="pre">None</span></span></span><a class="headerlink" href="#play.PlayChessApp.add_options" title="Permalink to this definition">¶</a></dt> |
|
1427 | 1453 |
|
1428 | 1454 | <dl class="py attribute"> |
1429 | 1455 | <dt class="sig sig-object py" id="play.PlayChessApp.start_time"> |
1430 | | -<span class="sig-name descname"><span class="pre">start_time</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">datetime</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">datetime.datetime(2025,</span> <span class="pre">5,</span> <span class="pre">7,</span> <span class="pre">20,</span> <span class="pre">18,</span> <span class="pre">34,</span> <span class="pre">503074,</span> <span class="pre">tzinfo=datetime.timezone(datetime.timedelta(days=-1,</span> <span class="pre">seconds=61200),</span> <span class="pre">'Pacific</span> <span class="pre">Daylight</span> <span class="pre">Time'))</span></em><a class="headerlink" href="#play.PlayChessApp.start_time" title="Permalink to this definition">¶</a></dt> |
| 1456 | +<span class="sig-name descname"><span class="pre">start_time</span></span><em class="property"><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="pre">datetime</span></em><em class="property"><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="pre">datetime.datetime(2025,</span> <span class="pre">5,</span> <span class="pre">13,</span> <span class="pre">8,</span> <span class="pre">55,</span> <span class="pre">31,</span> <span class="pre">593242,</span> <span class="pre">tzinfo=datetime.timezone(datetime.timedelta(days=-1,</span> <span class="pre">seconds=61200),</span> <span class="pre">'Pacific</span> <span class="pre">Daylight</span> <span class="pre">Time'))</span></em><a class="headerlink" href="#play.PlayChessApp.start_time" title="Permalink to this definition">¶</a></dt> |
1431 | 1457 | <dd></dd></dl> |
1432 | 1458 |
|
1433 | 1459 | <dl class="py method"> |
|
0 commit comments