diff --git a/app/main.rb b/app/main.rb index 0ae0bda..9f2d5a1 100644 --- a/app/main.rb +++ b/app/main.rb @@ -1,7 +1,14 @@ require "app/bounce.rb" BOUNCE_ACCL = 1.02 -GRAVITY = 0.9 +GRAVITY = 0.5 + +MIN_GRAVITY = 0.1 +MAX_GRAVITY = 2.0 + +MIN_BOUNCE = 1.0 +MAX_BOUNCE = 1.1 + CX = 636 CY = 399 CR = 205 @@ -13,8 +20,8 @@ def tick args cy = CY cr = CR # pause - args.state.paused = false if args.state.paused.nil? - if args.state.ball.nil? + if args.state.paused.nil? + args.state.paused = true args.state.ball = { x: 500, y: 500, @@ -23,11 +30,24 @@ def tick args x: 0, y: 0 } + args.state.bounce = BOUNCE_ACCL + args.state.gravity = GRAVITY end # INPUT if args.inputs.keyboard.key_up.space args.state.paused = !args.state.paused + if !args.state.paused + #REINIT with inputs + args.state.ball = { + x: 500+Math.rand(150), + y: 400+Math.rand(50), + } + args.state.ball_vector = { + x: 0, + y: 0 + } + end end # LOOP @@ -49,6 +69,9 @@ def tick args new_move_x, new_move_y = reflection_vector(x,y,cx,cy,move_x,move_y) args.state.ball_vector[:x] = new_move_x * BOUNCE_ACCL args.state.ball_vector[:y] = new_move_y * BOUNCE_ACCL + # play sound + sound = Math.rand(3)+1 + args.outputs.sounds << "sounds/bounce#{sound}.wav" end # move the ball @@ -78,22 +101,42 @@ def tick args # RENDER # # BG + bg = args.state.paused ? 'sprites/BG1_menu.png' : 'sprites/BG1.png' args.outputs.sprites << { x: 0, y: 0, w: 1280, h: 720, - path: 'sprites/BG1.png' } + path: bg } if args.state.paused + # Render menu args.outputs.labels << [640, 40, "Game is paused. Press to continue", 4, 1] + # min_x = 440 + # mid = 615 + # max_x = 780 + args.outputs.sprites << { + x: 615, + y: 445, + w: 32, + h: 32, + path: 'sprites/slider.png' + } + args.outputs.sprites << { + x: 615, + y: 325, + w: 32, + h: 32, + path: 'sprites/slider.png' + } end # BALL + args.outputs.sprites << { x: args.state.ball[:x]-16, y: args.state.ball[:y]-16, w: 32, h: 32, - path: 'sprites/ball.png' } + path: 'sprites/ball.png' } if !args.state.paused end diff --git a/sounds/bounce1.wav b/sounds/bounce1.wav new file mode 100644 index 0000000..932313a Binary files /dev/null and b/sounds/bounce1.wav differ diff --git a/sounds/bounce2.wav b/sounds/bounce2.wav new file mode 100644 index 0000000..50239c9 Binary files /dev/null and b/sounds/bounce2.wav differ diff --git a/sounds/bounce3.wav b/sounds/bounce3.wav new file mode 100644 index 0000000..49f82fa Binary files /dev/null and b/sounds/bounce3.wav differ diff --git a/sprites/BG1_menu.png b/sprites/BG1_menu.png new file mode 100644 index 0000000..a297a74 Binary files /dev/null and b/sprites/BG1_menu.png differ diff --git a/sprites/slider.png b/sprites/slider.png new file mode 100644 index 0000000..bc6d970 Binary files /dev/null and b/sprites/slider.png differ diff --git a/sprites/slider@3.png b/sprites/slider@3.png new file mode 100644 index 0000000..3cc57c1 Binary files /dev/null and b/sprites/slider@3.png differ