summaryrefslogtreecommitdiff
path: root/scenes/stockticker/stonks.gd
diff options
context:
space:
mode:
authorZoey Kitt <zoey.kitt@outlook.com>2024-11-16 10:57:57 -0600
committerZoey Kitt <zoey.kitt@outlook.com>2024-11-16 10:57:57 -0600
commitdf074ff75646f543b634d229c3e183a991403890 (patch)
tree6257f23cfc9ea836933110048255a14244d38ab9 /scenes/stockticker/stonks.gd
parent0a6c750565f6187ae148fdf21a469d8495e8932b (diff)
parent4c5307a025ca857ab9fe2b1be6f4d79a0c523008 (diff)
Merge branch 'main' into globaaaals
Diffstat (limited to 'scenes/stockticker/stonks.gd')
-rw-r--r--scenes/stockticker/stonks.gd52
1 files changed, 52 insertions, 0 deletions
diff --git a/scenes/stockticker/stonks.gd b/scenes/stockticker/stonks.gd
new file mode 100644
index 0000000..fefc340
--- /dev/null
+++ b/scenes/stockticker/stonks.gd
@@ -0,0 +1,52 @@
+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)