   animate_banana:(player) ->
     @timeout = setTimeout (=>
       @draw_scene()
-      this['player_' + player].throw_banana()
+      return if @within_boundaries(player.banana.x(), player.banana.y()) == false
+      player.throw_banana()
 
       @animate_banana(player)
       ),
       150
+
+  within_boundaries:(x, y) ->
+    return false if x < 0 || x > @width || y > @height || y < 0
 
 class Gorilla
   constructor:(@context) ->

    @dy = @force/Math.sin(radian)

  calculate_projection:() ->
    @x += @dx
    @dy -= @g
    @y += @dy

  image:() ->
    image = new Image()

    if player == 2
      angle = -angle
      force = -force
    player = this['player_' + player]
    player.grab_banana(force, angle)
    @timeout = setTimeout (=>
      @animate_banana(player)
      ),
