Sha256: a1565d9b53f6868d085230a27cef12ab75fccff7f9f7c5ecc976e60ee5d3e116

Contents?: true

Size: 1.24 KB

Versions: 27

Compression:

Stored size: 1.24 KB

Contents

# almost the same code as sample58 on (Red) Shoes Tutorial Note: 
# http://shoes-tutorial-note.heroku.com/html/00704_Assignment_4_Pong_in_Shoes.html
require '../lib/green_shoes'

Shoes.app :width => 400, :height => 400, :resizable => false do
  vx, vy = 3, 4

  nostroke
  @ball = oval 0, 0, 20, 20, :fill => forestgreen
  @comp = rect 0, 0, 75, 4, :curve => 2
  @you = rect 0, 396, 75, 4, :curve => 2

  @anim = animate 32 do
    nx, ny = @ball.left + vx.to_i, @ball.top + vy.to_i

    if @ball.top + 20 < 0 or @ball.top > 400
      para "<span font_desc='32'>", strong('GAME OVER'), "</span>\n",
        @ball.top < 0 ? "You win!" : "Computer wins", :top => 140, :align => 'center'
      @ball.clear and @anim.stop
    end

    vx = -vx  if nx + 20 > 400 or nx < 0

    if ny + 20 > 400 and nx + 20 > @you.left and nx < @you.left + 75
      vy = -vy * 1.2
      vx = (nx - @you.left - (75 / 2)) * 0.25
    end

    if ny < 0 and nx + 20 > @comp.left and nx < @comp.left + 75
      vy = -vy * 1.2
      vx = (nx - @comp.left - (75 / 2)) * 0.25
    end

    @ball.move nx, ny
    @you.left = mouse[1] - (75 / 2)
    @comp.left += 10  if @comp.left + 75 < @ball.left
    @comp.left -= 10  if @ball.left + 20 < @comp.left
  end
end

Version data entries

27 entries across 27 versions & 1 rubygems

Version Path
green_shoes-1.0.337 samples/sample19.rb
green_shoes-1.0.331 samples/sample19.rb
green_shoes-1.0.322 samples/sample19.rb
green_shoes-1.0.320 samples/sample19.rb
green_shoes-1.0.309 samples/sample19.rb
green_shoes-1.0.303 samples/sample19.rb
green_shoes-1.0.282 samples/sample19.rb
green_shoes-1.0.273 samples/sample19.rb
green_shoes-0.263.0 samples/sample19.rb
green_shoes-0.255.0 samples/sample19.rb
green_shoes-0.243.0 samples/sample19.rb
green_shoes-0.233.0 samples/sample19.rb
green_shoes-0.227.0 samples/sample19.rb
green_shoes-0.226.0 samples/sample19.rb
green_shoes-0.221.0 samples/sample19.rb
green_shoes-0.214.0 samples/sample19.rb
green_shoes-0.207.0 samples/sample19.rb
green_shoes-0.201.0 samples/sample19.rb
green_shoes-0.198.0 samples/sample19.rb
green_shoes-0.189.0 samples/sample19.rb