finished menu

main
Guido Schweizer 2023-11-26 18:19:58 +01:00
parent 81556a1a19
commit 4834ffe34d
2 changed files with 22 additions and 6 deletions

View File

@ -5,9 +5,11 @@ GRAVITY = 0.5
MIN_GRAVITY = 0.1 MIN_GRAVITY = 0.1
MAX_GRAVITY = 2.0 MAX_GRAVITY = 2.0
STEP_GRAVITY = 0.02
MIN_BOUNCE = 1.0 MIN_BOUNCE = 1.0
MAX_BOUNCE = 1.1 MAX_BOUNCE = 1.1
STEP_BOUNCE = 0.0011
CX = 636 CX = 636
CY = 399 CY = 399
@ -49,14 +51,25 @@ def tick args
} }
end end
end end
# MENU CONTROLS
if args.inputs.right && args.state.paused
args.state.gravity += STEP_GRAVITY if args.state.gravity < MAX_GRAVITY
elsif args.inputs.left && args.state.paused
args.state.gravity -= STEP_GRAVITY if args.state.gravity > MIN_GRAVITY
end
if args.inputs.up && args.state.paused
args.state.bounce += STEP_BOUNCE if args.state.bounce < MAX_BOUNCE
elsif args.inputs.down && args.state.paused
args.state.bounce -= STEP_BOUNCE if args.state.bounce > MIN_BOUNCE
end
# LOOP # LOOP
if !args.state.paused if !args.state.paused
#ball vector #ball vector
move_x = args.state.ball_vector[:x] move_x = args.state.ball_vector[:x]
move_y = args.state.ball_vector[:y] move_y = args.state.ball_vector[:y]
# apply gravity # apply gravity
move_y = move_y - GRAVITY move_y = move_y - args.state.gravity
args.state.ball_vector[:x] = move_x args.state.ball_vector[:x] = move_x
args.state.ball_vector[:y] = move_y args.state.ball_vector[:y] = move_y
@ -67,8 +80,8 @@ def tick args
new_y = y + move_y new_y = y + move_y
if bouncing?(new_x,new_y,cx,cy,cr) if bouncing?(new_x,new_y,cx,cy,cr)
new_move_x, new_move_y = reflection_vector(x,y,cx,cy,move_x,move_y) 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[:x] = new_move_x * args.state.bounce
args.state.ball_vector[:y] = new_move_y * BOUNCE_ACCL args.state.ball_vector[:y] = new_move_y * args.state.bounce
# play sound # play sound
sound = Math.rand(3)+1 sound = Math.rand(3)+1
args.outputs.sounds << "sounds/bounce#{sound}.wav" args.outputs.sounds << "sounds/bounce#{sound}.wav"
@ -111,19 +124,22 @@ def tick args
if args.state.paused if args.state.paused
# Render menu # Render menu
args.outputs.labels << [640, 40, "Game is paused. Press <space> to continue", 4, 1] args.outputs.labels << [640, 40, "Press <space> to start the game", 6, 1]
# min_x = 440 # min_x = 440
# mid = 615 # mid = 615
# max_x = 780 # max_x = 780
# l = 340
gravity_x = 440 + args.state.gravity * 179
args.outputs.sprites << { args.outputs.sprites << {
x: 615, x: gravity_x,
y: 445, y: 445,
w: 32, w: 32,
h: 32, h: 32,
path: 'sprites/slider.png' path: 'sprites/slider.png'
} }
bounce_x = 440 + (args.state.bounce - 1)*3400
args.outputs.sprites << { args.outputs.sprites << {
x: 615, x: bounce_x,
y: 325, y: 325,
w: 32, w: 32,
h: 32, h: 32,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 MiB

After

Width:  |  Height:  |  Size: 1.3 MiB