extends Node2D var price_history = [] var max_prices = 15 var max_up_multiplier = 2 var max_down_multiplier = 2 var bailout_counter = 0 var bailout_time = 1 var bailout_price = 5 var start_val = 5 var prev_price = start_val # Called when the node enters the scene tree for the first time. func _ready() -> void: print(start_val) var label = $"Price Label" label.text = "Price:\n$%f" % start_val price_history.push_front(start_val) # Called every frame. 'delta' is the elapsed time since the previous frame. func _process(delta: float) -> void: pass func _on_timer_timeout() -> void: var new_price = prev_price if prev_price <= 0: if bailout_counter < bailout_time: new_price = 0 bailout_counter += 1 else: new_price = bailout_price bailout_counter = 0 elif randf() < 0.5: new_price += 1 * max_up_multiplier * randf() else: new_price -= 1 * max_down_multiplier * randf() if new_price < 0: new_price = 0 if len(price_history) >= max_prices: price_history.pop_front() price_history.push_back(new_price) prev_price = new_price var label = $"Price Label" label.text = "Price:\n$%f" % new_price print(new_price)