+
+ # Find a rival for a player.
+ # Return,
+ # 1. symbol :continue for an error case
+ # 2. a rival player instance found
+ # 3. nil if rival not found
+ #
+ def find_rival(player, game_name)
+ case player.sente
+ when nil # no preference
+ if Login.handicapped_game_name?(game_name)
+ player.write_safe("##[ERROR] Random turn preference is not allowed for handicapped games\n")
+ return :continue
+ end
+ return get_player("game_waiting", game_name, nil, player)
+ when true # rival must be gote
+ return get_player("game_waiting", game_name, false, player)
+ when false # rival must be sente
+ return get_player("game_waiting", game_name, true, player)
+ else
+ write_safe("##[ERROR] bad game option: %s\n" % [my_sente_string])
+ return :continue
+ end
+ end
+