summaryrefslogtreecommitdiff
path: root/scripts/basketball.gd
diff options
context:
space:
mode:
authorLogan <logan@cflip.net>2022-09-30 19:22:48 -0600
committerLogan <logan@cflip.net>2022-09-30 19:22:48 -0600
commit4ec359af497df0059e3049529bef6d9cede2c39a (patch)
tree5e35ef4ddc556359e002061ac87e72c40ce0bcf4 /scripts/basketball.gd
parentb57627b9d5226bb21e397ffef692eac23f4293fa (diff)
Improved position changer and removed the need for a global variable.
Diffstat (limited to 'scripts/basketball.gd')
-rw-r--r--scripts/basketball.gd27
1 files changed, 19 insertions, 8 deletions
diff --git a/scripts/basketball.gd b/scripts/basketball.gd
index cc794ce..9e95d35 100644
--- a/scripts/basketball.gd
+++ b/scripts/basketball.gd
@@ -1,14 +1,19 @@
extends RigidBody2D
+signal reset
+
export var spin_speed = -1
export var move_speed = 60
export var power_magnitude = 10
export var drag_radius = 30
var start_position: Vector2
+var start_minimum = drag_radius
+onready var start_maximum = $"../Hoop".position.x - 40
var is_dragging = false
var waiting_for_shoot = true
var mouse_over_ball = false
+var difficulty_phase = 1
func _ready():
start_position = global_position
@@ -29,7 +34,7 @@ func toggle_mode():
# Adds offset of ball's rotation to sprite AFTER the entire object has rotated from physics.
# Done to keep appearance of same rotation to add consistency when resetting the ball.
$Sprite.rotation += rotation
- global_variables.has_scored = false
+ emit_signal("reset")
waiting_for_shoot = true
set_use_custom_integrator(waiting_for_shoot)
@@ -66,18 +71,24 @@ func _input(event):
func _on_InnerShape_mouse_entered():
mouse_over_ball = true
-
func _on_InnerShape_mouse_exited():
mouse_over_ball = false
func position_changer():
- var clamp_minimum = drag_radius + 0
- var clamp_maximum = $"../Hoop".position.x - 40
- if global_variables.score < 5:
+ # Progressive
+ if difficulty_phase == 1:
start_position.x -= 20
- start_position.x = clamp(start_position.x, clamp_minimum, clamp_maximum)
- else:
- start_position.x = rand_range(clamp_minimum, clamp_maximum)
+ start_position.x = clamp(start_position.x, start_minimum, start_maximum)
+ # Random
+ if difficulty_phase == 2:
+ start_position.x = rand_range(start_minimum, start_maximum)
func _on_Hoop_score():
+ if global_variables.score >= 5 and global_variables.score < 15:
+ difficulty_phase = 2
+ if global_variables.score >= 15 and global_variables.score < 25:
+ start_minimum = (drag_radius * 2) + $"../Camera2D".limit_left
+ difficulty_phase = 1
+ if global_variables.score >= 25 and global_variables.score < 35:
+ difficulty_phase = 2
position_changer()