----Messaggio originale----

Da: roy_brun...@yahoo.com

Data: 19/06/2010 15.01

A: <scid-users@lists.sourceforge.net>

Ogg: [Scid-users] Reiteration of request for feature in SCID



 DIV {margin:0px;} -> DIV {margin:0px;} ->-->I would like to see this feature 
added to SCID and welcome discussion about this:

Have the ability to take the current position on the board and have engine-X 
play White (using custom time control) against engine-Y (using perhaps a 
different time control from engine-X) and automatically play moves for both 
sides until a result is obtained (win for one side, or draw).


In analysis.tcl replace the toggleFinishGame function with the following 
code.Open the two engines (F2 and F3 shortcut) and press the finish game 
button.Bye,Fulvio

proc toggleFinishGame { { n 1 } } {
global analysisset b ".analysisWin$n.b1.bFinishGame"
#Stop all enginesif {$analysis(analyzeMode1)} { toggleEngineAnalysis 1 1 }if 
{$analysis(analyzeMode2)} { toggleEngineAnalysis 2 1 }
if {!$::finishGameMode} {   set ::finishGameMode 1   $b configure -image 
finish_on -relief flat} else  {   set ::finishGameMode 0   $b configure -image 
finish_off -relief flat   sendToEngine 1 "stop"   sendToEngine 2 "stop"   
return}
set current_engine 0set gocmd(1) "go movetime 20000"set gocmd(2) "go movetime 
20000"
while { [string index [sc_game info previousMove] end] != "#"} {    if 
{$current_engine != 1} {   set current_engine 1} else {    set current_engine 2 
}
set analysis(waitForReadyOk$current_engine) 1sendToEngine $current_engine 
"isready"vwait analysis(waitForReadyOk$current_engine)sendToEngine 
$current_engine "position fen [sc_pos fen]"sendToEngine $current_engine 
$gocmd($current_engine)set analysis(fen$current_engine) [sc_pos fen]set 
analysis(maxmovenumber$current_engine) 0
set analysis(waitForBestMove$current_engine) 1vwait 
analysis(waitForBestMove$current_engine)
if {!$::finishGameMode} { break }
set moves [ lindex [ lindex $analysis(multiPV$current_engine) 0 ] 2 ]
set text [format "%+.2f %s - %s  Depth: %d  Time:%6.2f s" \    
$analysis(score$current_engine) \    [addMoveNumbers $current_engine [::trans 
$moves]] \    $analysis(name$current_engine) \    
$analysis(depth$current_engine) \    $analysis(time$current_engine) ]
makeAnalysisMove $current_enginesc_pos setComment $text
}}
proc toggleFinishGame { { n 1 } } {

global analysis
set b ".analysisWin$n.b1.bFinishGame"

#Stop all engines
if {$analysis(analyzeMode1)} { toggleEngineAnalysis 1 1 }
if {$analysis(analyzeMode2)} { toggleEngineAnalysis 2 1 }

if {!$::finishGameMode} {
   set ::finishGameMode 1
   $b configure -image finish_on -relief flat
} else  {
   set ::finishGameMode 0
   $b configure -image finish_off -relief flat
   sendToEngine 1 "stop"
   sendToEngine 2 "stop"
   return
}

set current_engine 0
set gocmd(1) "go movetime 20000"
set gocmd(2) "go movetime 20000"

while { [string index [sc_game info previousMove] end] != "#"} { 
   if {$current_engine != 1} {
   set current_engine 1
} else { 
   set current_engine 2 
}

set analysis(waitForReadyOk$current_engine) 1
sendToEngine $current_engine "isready"
vwait analysis(waitForReadyOk$current_engine)
sendToEngine $current_engine "position fen [sc_pos fen]"
sendToEngine $current_engine $gocmd($current_engine)
set analysis(fen$current_engine) [sc_pos fen]
set analysis(maxmovenumber$current_engine) 0

set analysis(waitForBestMove$current_engine) 1
vwait analysis(waitForBestMove$current_engine)

if {!$::finishGameMode} { break }

set moves [ lindex [ lindex $analysis(multiPV$current_engine) 0 ] 2 ]

set text [format "%+.2f %s - %s  Depth: %d  Time:%6.2f s" \
    $analysis(score$current_engine) \
    [addMoveNumbers $current_engine [::trans $moves]] \
    $analysis(name$current_engine) \
    $analysis(depth$current_engine) \
    $analysis(time$current_engine) ]

makeAnalysisMove $current_engine
sc_pos setComment $text

}

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Scid-users mailing list
Scid-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/scid-users

Reply via email to