def place_beepers(street, avenue, howMany=1, byRobot = false)
@beepers.synchronize do
if howMany == 0
@@beeper_control.signal
return
end
legal_corner(street, avenue)
place = [street, avenue]
sleep(@@delay / 400.0) if byRobot
if howMany < 0
@beepers[place] = INFINITY
if window()
$window.delete_beeper(place)
$window.place_beeper(street, avenue, INFINITY)
end
@@beeper_control.signal
return
end
inWorld = @beepers[place]
toPlace = howMany + inWorld
if window() and inWorld != INFINITY
@beepers[place] = toPlace
$window.delete_beeper(place) if inWorld > 0
$window.place_beeper(street, avenue, toPlace)
end
@@beeper_control.signal
end
end