diff options
author | Jacob Janzen <jacob.a.s.janzen@gmail.com> | 2024-11-15 19:59:53 -0600 |
---|---|---|
committer | Jacob Janzen <jacob.a.s.janzen@gmail.com> | 2024-11-15 19:59:53 -0600 |
commit | 524bcdf6570b517d75d4b1617e7c09172fe3cde2 (patch) | |
tree | 96964be6327fef7628d7debec65082f657c3d0d5 /scenes | |
parent | 33a6215be1c05efe3628509a1e0bb53f40b2a3ca (diff) |
refactor
Diffstat (limited to 'scenes')
-rw-r--r-- | scenes/buy_n_sell.gd | 25 | ||||
-rw-r--r-- | scenes/stockticker/BuyButton.png | bin | 0 -> 1344 bytes | |||
-rw-r--r-- | scenes/stockticker/BuyButton.png.import | 34 | ||||
-rw-r--r-- | scenes/stockticker/BuyButtonPressed.png | bin | 0 -> 1357 bytes | |||
-rw-r--r-- | scenes/stockticker/BuyButtonPressed.png.import | 34 | ||||
-rw-r--r-- | scenes/stockticker/SellButton.png | bin | 0 -> 1462 bytes | |||
-rw-r--r-- | scenes/stockticker/SellButton.png.import | 34 | ||||
-rw-r--r-- | scenes/stockticker/SellButtonPressed.png | bin | 0 -> 1475 bytes | |||
-rw-r--r-- | scenes/stockticker/SellButtonPressed.png.import | 34 | ||||
-rw-r--r-- | scenes/stockticker/Stock Ticker.tscn | 122 | ||||
-rw-r--r-- | scenes/stockticker/UI-Background-Colour.png | bin | 0 -> 546 bytes | |||
-rw-r--r-- | scenes/stockticker/UI-Background-Colour.png.import | 34 | ||||
-rw-r--r-- | scenes/stockticker/stonks.gd | 52 |
13 files changed, 369 insertions, 0 deletions
diff --git a/scenes/buy_n_sell.gd b/scenes/buy_n_sell.gd new file mode 100644 index 0000000..be0e777 --- /dev/null +++ b/scenes/buy_n_sell.gd @@ -0,0 +1,25 @@ +extends Node2D + +var stonks = 0 + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + var label = $"Shares Held Label" + label.text = "Shares\nHeld:%d" % stonks + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + + +func _on_buy_button_button_up() -> void: + if stonks < 100: + stonks += 1 + var label = $"Shares Held Label" + label.text = "Shares\nHeld:%d" % stonks + +func _on_sell_button_button_up() -> void: + if stonks > 0: + stonks -= 1 + var label = $"Shares Held Label" + label.text = "Shares\nHeld:%d" % stonks diff --git a/scenes/stockticker/BuyButton.png b/scenes/stockticker/BuyButton.png Binary files differnew file mode 100644 index 0000000..8b35891 --- /dev/null +++ b/scenes/stockticker/BuyButton.png diff --git a/scenes/stockticker/BuyButton.png.import b/scenes/stockticker/BuyButton.png.import new file mode 100644 index 0000000..fca69fa --- /dev/null +++ b/scenes/stockticker/BuyButton.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vie3nmimge1t" +path="res://.godot/imported/BuyButton.png-edf9857fa46aeca6354e57c5c5fa4250.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://scenes/stockticker/BuyButton.png" +dest_files=["res://.godot/imported/BuyButton.png-edf9857fa46aeca6354e57c5c5fa4250.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/stockticker/BuyButtonPressed.png b/scenes/stockticker/BuyButtonPressed.png Binary files differnew file mode 100644 index 0000000..c028e5a --- /dev/null +++ b/scenes/stockticker/BuyButtonPressed.png diff --git a/scenes/stockticker/BuyButtonPressed.png.import b/scenes/stockticker/BuyButtonPressed.png.import new file mode 100644 index 0000000..6a676e6 --- /dev/null +++ b/scenes/stockticker/BuyButtonPressed.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvidbk3clx6dn" +path="res://.godot/imported/BuyButtonPressed.png-d376e992e63d9760db484195b2fac916.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://scenes/stockticker/BuyButtonPressed.png" +dest_files=["res://.godot/imported/BuyButtonPressed.png-d376e992e63d9760db484195b2fac916.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/stockticker/SellButton.png b/scenes/stockticker/SellButton.png Binary files differnew file mode 100644 index 0000000..55818d4 --- /dev/null +++ b/scenes/stockticker/SellButton.png diff --git a/scenes/stockticker/SellButton.png.import b/scenes/stockticker/SellButton.png.import new file mode 100644 index 0000000..fd466fd --- /dev/null +++ b/scenes/stockticker/SellButton.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dw8wpd47me7wu" +path="res://.godot/imported/SellButton.png-2e342f0eff8cadc862043eaf743fb942.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://scenes/stockticker/SellButton.png" +dest_files=["res://.godot/imported/SellButton.png-2e342f0eff8cadc862043eaf743fb942.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/stockticker/SellButtonPressed.png b/scenes/stockticker/SellButtonPressed.png Binary files differnew file mode 100644 index 0000000..3a3b2ee --- /dev/null +++ b/scenes/stockticker/SellButtonPressed.png diff --git a/scenes/stockticker/SellButtonPressed.png.import b/scenes/stockticker/SellButtonPressed.png.import new file mode 100644 index 0000000..9011600 --- /dev/null +++ b/scenes/stockticker/SellButtonPressed.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b773rtpy6rtx5" +path="res://.godot/imported/SellButtonPressed.png-e8a6d05fa42b79b6b606b25427b1ccae.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://scenes/stockticker/SellButtonPressed.png" +dest_files=["res://.godot/imported/SellButtonPressed.png-e8a6d05fa42b79b6b606b25427b1ccae.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/stockticker/Stock Ticker.tscn b/scenes/stockticker/Stock Ticker.tscn new file mode 100644 index 0000000..122bdfc --- /dev/null +++ b/scenes/stockticker/Stock Ticker.tscn @@ -0,0 +1,122 @@ +[gd_scene load_steps=9 format=3 uid="uid://g2veoq55y14i"] + +[ext_resource type="Texture2D" uid="uid://voruypgyi77e" path="res://scenes/stockticker/UI-Background-Colour.png" id="1_wbfee"] +[ext_resource type="Script" path="res://scenes/stockticker/stonks.gd" id="2_pan4m"] +[ext_resource type="Theme" uid="uid://ve18rbkeiwti" path="res://UI/text.tres" id="3_dv3dr"] +[ext_resource type="Script" path="res://scenes/buy_n_sell.gd" id="4_l8sru"] +[ext_resource type="Texture2D" uid="uid://vie3nmimge1t" path="res://scenes/stockticker/BuyButton.png" id="5_mpf30"] +[ext_resource type="Texture2D" uid="uid://dvidbk3clx6dn" path="res://scenes/stockticker/BuyButtonPressed.png" id="6_styy2"] +[ext_resource type="Texture2D" uid="uid://dw8wpd47me7wu" path="res://scenes/stockticker/SellButton.png" id="7_h6hir"] +[ext_resource type="Texture2D" uid="uid://b773rtpy6rtx5" path="res://scenes/stockticker/SellButtonPressed.png" id="8_essj7"] + +[node name="Node2D" type="Node2D"] + +[node name="Background" type="Sprite2D" parent="."] +modulate = Color(0.796078, 0.796078, 0.796078, 1) +position = Vector2(576.25, 323.75) +scale = Vector2(1153.5, 648.5) +texture = ExtResource("1_wbfee") + +[node name="Timer" type="Timer" parent="."] +autostart = true + +[node name="Stonks" type="Node2D" parent="."] +script = ExtResource("2_pan4m") + +[node name="Sprite2D" type="Sprite2D" parent="Stonks"] +position = Vector2(582, 205) +scale = Vector2(1062.25, 337) +texture = ExtResource("1_wbfee") + +[node name="TopLine" type="Line2D" parent="Stonks"] +points = PackedVector2Array(50, 60, 1000, 60) +width = 1.0 +default_color = Color(0.458824, 0.458824, 0.458824, 1) + +[node name="MidLine" type="Line2D" parent="Stonks"] +position = Vector2(0, 1) +points = PackedVector2Array(50, 208, 1000, 208) +width = 1.0 +default_color = Color(0.458824, 0.458824, 0.458824, 1) + +[node name="BottomLine" type="Line2D" parent="Stonks"] +position = Vector2(0, -1) +points = PackedVector2Array(50, 356, 1000, 356) +width = 1.0 +default_color = Color(0.46, 0.46, 0.46, 1) + +[node name="Top" type="Label" parent="Stonks"] +offset_left = 1021.0 +offset_top = 58.0 +offset_right = 1114.0 +offset_bottom = 89.0 +theme = ExtResource("3_dv3dr") +theme_override_colors/font_color = Color(0.63, 0.63, 0.63, 1) +theme_override_font_sizes/font_size = 12 +text = "0" +horizontal_alignment = 1 + +[node name="Middle" type="Label" parent="Stonks"] +offset_left = 1022.0 +offset_top = 208.0 +offset_right = 1115.0 +offset_bottom = 239.0 +theme = ExtResource("3_dv3dr") +theme_override_colors/font_color = Color(0.63, 0.63, 0.63, 1) +theme_override_font_sizes/font_size = 12 +text = "0" +horizontal_alignment = 1 + +[node name="Bottom" type="Label" parent="Stonks"] +offset_left = 1022.0 +offset_top = 356.0 +offset_right = 1115.0 +offset_bottom = 387.0 +theme = ExtResource("3_dv3dr") +theme_override_colors/font_color = Color(0.63, 0.63, 0.63, 1) +theme_override_font_sizes/font_size = 12 +text = "0" +horizontal_alignment = 1 + +[node name="Stonks" type="Line2D" parent="Stonks"] + +[node name="Price Label" type="Label" parent="Stonks"] +offset_left = 387.0 +offset_top = 387.0 +offset_right = 1112.0 +offset_bottom = 452.0 +theme = ExtResource("3_dv3dr") +text = "Price: +$" + +[node name="BuyNSell" type="Node2D" parent="."] +script = ExtResource("4_l8sru") + +[node name="BuyButton" type="TextureButton" parent="BuyNSell"] +offset_left = 54.0 +offset_top = 475.0 +offset_right = 409.0 +offset_bottom = 604.0 +texture_normal = ExtResource("5_mpf30") +texture_pressed = ExtResource("6_styy2") + +[node name="SellButton" type="TextureButton" parent="BuyNSell"] +offset_left = 441.0 +offset_top = 477.0 +offset_right = 796.0 +offset_bottom = 606.0 +texture_normal = ExtResource("7_h6hir") +texture_pressed = ExtResource("8_essj7") + +[node name="Shares Held Label" type="Label" parent="BuyNSell"] +offset_left = 6.0 +offset_top = 390.0 +offset_right = 336.0 +offset_bottom = 455.0 +theme = ExtResource("3_dv3dr") +text = "Shares +Held:" + +[connection signal="timeout" from="Timer" to="Stonks" method="_on_timer_timeout"] +[connection signal="button_up" from="BuyNSell/BuyButton" to="BuyNSell" method="_on_buy_button_button_up"] +[connection signal="button_up" from="BuyNSell/SellButton" to="BuyNSell" method="_on_sell_button_button_up"] diff --git a/scenes/stockticker/UI-Background-Colour.png b/scenes/stockticker/UI-Background-Colour.png Binary files differnew file mode 100644 index 0000000..ddec89e --- /dev/null +++ b/scenes/stockticker/UI-Background-Colour.png diff --git a/scenes/stockticker/UI-Background-Colour.png.import b/scenes/stockticker/UI-Background-Colour.png.import new file mode 100644 index 0000000..379a5be --- /dev/null +++ b/scenes/stockticker/UI-Background-Colour.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://voruypgyi77e" +path="res://.godot/imported/UI-Background-Colour.png-923b8102e8ca62798feecb1dd2a3a275.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://scenes/stockticker/UI-Background-Colour.png" +dest_files=["res://.godot/imported/UI-Background-Colour.png-923b8102e8ca62798feecb1dd2a3a275.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/scenes/stockticker/stonks.gd b/scenes/stockticker/stonks.gd new file mode 100644 index 0000000..9b7b845 --- /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) |