   draw_colission:(x, y) ->
     color = '#0000a0'
     @context.fillStyle = color
-    @context.beginPath()
-    @context.arc x, y,  15 , 0, Math.PI*2, true
-    @context.closePath()
+    @draw_ellipse(x, y, 35, 25)
+
+  draw_ellipse:(x, y, w, h) ->
+    kappa = .5522848;
+    ox = (w / 2) * kappa
+    oy = (h / 2) * kappa
+    xe = x + w
+    ye = y + h
+    xm = x + w / 2
+    ym = y + h / 2
+
+    @context.beginPath();
+    @context.moveTo(x, ym);
+    @context.bezierCurveTo(x, ym - oy, xm - ox, y, xm, y);
+    @context.bezierCurveTo(xm + ox, y, xe, ym - oy, xe, ym);
+    @context.bezierCurveTo(xe, ym + oy, xm + ox, ye, xm, ye);
+    @context.bezierCurveTo(xm - ox, ye, x, ym + oy, x, ym);
+    @context.closePath();
     @context.fill()
-
 class Sun
   constructor:(context) ->
     @mouth = true

        @animate_win(winner, @start_time)
        ),
        @f
      x = dead_player.x+dead_player.width/2
      y = dead_player.y
      @star(x, y) for o in [ -3...3 ]
      @star(x, y) for o in [ -1...3 ]
      @star(x, y) for o in [ -1...3 ]
      @star(x, y) for o in [ -3...3 ]
      @colission = [x, y]
      return true

  animate_win:(player, @start_time) ->
    @timeout = setTimeout (=>

      dead_player = if @player_2.dead == true then @player_2 else @player_1
      winner = if @player_2.dead == false then @player_2 else @player_1
      @winner.push winner.player_number
      @timeout = setTimeout (=>
        @animate_colission(dead_player)
      ),
      0
      @update_score()
      @timeout = setTimeout (=>
        @start_time = new Date()
