예제 #1
0
 test = results[handID][middle][0] # on va tester c par rapport à ce caractère
 TEST = key_vote_lib.posToString( test, kbd )
 
 pair = ( c, test )
 
 if c in win and test in win: # touches gagnantes au même niveau
   res = None
   ires = 0
 elif c in win: # touches gagnantes gagnent contre toutes les autres touches
   res = None
   ires = 1
 elif test in win: # touches gagnantes gagnent contre les autres touches
   res = None
   ires = 2
 else:
   key_vote_lib.printKbdLayout(kbd, (C,TEST) )
   key_vote_lib.printStdOut( u"1: %s  2: %s   0: égalité   Q: quitter  (%i touches restantes sur cette main)" % ( C, TEST, len(untested) ) )
   res = key_vote_lib.readResult( 'vote: ', ['0', '1', '2', 'Q', C, TEST] )
   ires = key_vote_lib.zeroOneTwo( res )
 
 if res == 'Q':
   run = False
 
 if ires == 1 or res == C: # le caractère est meilleur que le milieu
   min = middle+1 # le minimum est maintenant après le milieu
   if max < min:
     results[handID].insert(middle+1, (c,)) # insertion avant le milieu
   matchs[pair] = 1
 elif ires == 2 or res == TEST: # le caractère est moins bon que le milieu
   max = middle-1 # le maximum est avant le milieu
   if max < min:
예제 #2
0
 s1 = key_vote_lib.posToString( pair[0], hands )
 s2 = key_vote_lib.posToString( pair[1], hands )
 
 if pair not in results:
   nbOfSearch = 0
   if candidate1 in homePos and candidate2 not in homePos :
     results[ pair ] = 1
     key_vote_lib.printStdOut( 'Vote automatique: ' + key_vote_lib.posToString( candidate1, hands ) + ' > ' + key_vote_lib.posToString( candidate2, hands ) )
   elif candidate2 in homePos and candidate1 not in homePos :
     results[ pair ] = 2
     key_vote_lib.printStdOut( 'Vote automatique: ' + key_vote_lib.posToString( candidate1, hands ) + ' < ' + key_vote_lib.posToString( candidate2, hands ) )
   elif candidate2 in homePos and candidate1 in homePos :
     results[ pair ] = 0
     key_vote_lib.printStdOut( 'Vote automatique: ' + key_vote_lib.posToString( candidate1, hands ) + ' = ' + key_vote_lib.posToString( candidate2, hands ) )
   else: # not automatic vote
     key_vote_lib.printKbdLayout(hands, (s1,s2) )
     
     key_vote_lib.printStdOut()
     key_vote_lib.printStdOut( u"        Duel :            %(redColor)s%(s1)s%(noColor)s    contre    %(redColor)s%(s2)s%(noColor)s" % {"s1": s1.upper(), "s2": s2.upper(), "redColor": key_vote_lib.redColor, "noColor": key_vote_lib.noColor } )
     key_vote_lib.printStdOut()
     key_vote_lib.printStdOut()
     key_vote_lib.printStdOut( u"%(s1)s ou 1->  %(s1)s     %(s2)s ou 2->  %(s2)s     0->  égalité     Q->  quitter     A->  annuler un duel     T->  annuler des duels d'une touche" % {"s1": s1, "s2": s2 } )
     key_vote_lib.printStdOut( u"       %i duels réalisés / 556 possibles" % len( results ) )
     res = key_vote_lib.readResult( 'vote: ', ['Q', '0', '1', '2', s1, s2, 'A', 'T'] )
     ires = key_vote_lib.zeroOneTwo( res )
     
     if res == 'Q': # Q
       run = False
       break
     elif ires!=None: # 0, 1, 2
       results[ pair ] = ires