diff --git a/World/FullscreenButton.gd b/World/FullscreenButton.gd new file mode 100644 index 0000000..c85cc9c --- /dev/null +++ b/World/FullscreenButton.gd @@ -0,0 +1,6 @@ +extends Button + + + +func _on_FullscreenButton_pressed() -> void: + OS.window_fullscreen = !OS.window_fullscreen diff --git a/World/Main.tscn b/World/Main.tscn index 9d80b7a..477856e 100644 --- a/World/Main.tscn +++ b/World/Main.tscn @@ -1,7 +1,21 @@ -[gd_scene load_steps=2 format=2] +[gd_scene load_steps=3 format=2] [ext_resource path="res://World/Plant.tscn" type="PackedScene" id=1] +[ext_resource path="res://World/FullscreenButton.gd" type="Script" id=2] [node name="Main" type="Node2D"] [node name="Plant" parent="." instance=ExtResource( 1 )] + +[node name="FullscreenButton" type="Button" parent="."] +margin_left = 171.0 +margin_top = 122.0 +margin_right = 254.0 +margin_bottom = 142.0 +text = "fuelscren :)" +script = ExtResource( 2 ) +__meta__ = { +"_edit_use_anchors_": false +} + +[connection signal="pressed" from="FullscreenButton" to="FullscreenButton" method="_on_FullscreenButton_pressed"] diff --git a/World/Pixel.gd b/World/Pixel.gd index d05c817..e281638 100644 --- a/World/Pixel.gd +++ b/World/Pixel.gd @@ -1,8 +1,20 @@ extends ColorRect -var empty = true +var active = false var position = Vector2() +var age = 0 -export var lighter_green = Color("#91e369") -export var light_green = Color("#56c157") -export var medium_green = Color("#46a65c") -export var dark_green = Color("#358859") +export var colors = [ + Color("#00ffffff"), + Color("#91e369"), + Color("#56c157"), + Color("#46a65c"), + Color("#358859")] + +func age_up(): + if !(age >= 4): + age += 1 + color = colors[age] + active = true + +func _ready() -> void: + color = colors[age] diff --git a/World/Plant.gd b/World/Plant.gd index 0046268..c425635 100644 --- a/World/Plant.gd +++ b/World/Plant.gd @@ -1,9 +1,15 @@ extends Node2D -export var size = Vector2(128, 144) +export var size = Vector2() # 2 dimensional array y and x var pixels_x = [] +var active = [] +var rng func _ready(): + randomize() + rng = RandomNumberGenerator.new() + size.x = ProjectSettings.get_setting("display/window/size/width") / 2 + size.y = ProjectSettings.get_setting("display/window/size/height") call_deferred("spawn_pixels") call_deferred("plant_seed") @@ -24,8 +30,24 @@ func spawn_pixels(): pixels_x.append(pixels_y) func plant_seed(): - var rect = pixels_x[size.x / 2][size.y - 8] - rect.color = rect.light_green - + var plant_seed = pixels_x[size.x / 2][size.y - 8] + plant_seed.active = true + active.append(plant_seed) + func grow(): - pass + if (randi() % 2) == 1: + new_pixel(active[active.size() - 1]) + else: + new_pixel(active[randi() % active.size()]) + +func new_pixel(original_pixel): + var var_x = rng.randi_range(-1, 1) + var var_y = rng.randi_range(-1, 0) + var new_position = Vector2(original_pixel.position) + new_position.x = clamp(new_position.x + var_x, 0, pixels_x.size() - 1) + new_position.y = clamp(new_position.y + var_y, 0, pixels_x[new_position.x].size() - 1) + var new_pixel = pixels_x[new_position.x][new_position.y] + if !new_pixel.active: + active.append(new_pixel) + new_pixel.age_up() + diff --git a/World/Plant.tscn b/World/Plant.tscn index 622ad7a..44b52a3 100644 --- a/World/Plant.tscn +++ b/World/Plant.tscn @@ -6,7 +6,7 @@ script = ExtResource( 2 ) [node name="Timer" type="Timer" parent="."] -wait_time = 0.25 +wait_time = 0.001 autostart = true [connection signal="timeout" from="Timer" to="." method="grow"] diff --git a/export_presets.cfg b/export_presets.cfg new file mode 100644 index 0000000..f36ed5c --- /dev/null +++ b/export_presets.cfg @@ -0,0 +1,34 @@ +[preset.0] + +name="HTML5" +platform="HTML5" +runnable=true +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="../plantGame/Untitled Plant Game.html" +script_export_mode=1 +script_encryption_key="" + +[preset.0.options] + +custom_template/debug="" +custom_template/release="" +variant/export_type=0 +vram_texture_compression/for_desktop=true +vram_texture_compression/for_mobile=false +html/export_icon=true +html/custom_html_shell="" +html/head_include="" +html/canvas_resize_policy=2 +html/focus_canvas_on_start=true +html/experimental_virtual_keyboard=false +progressive_web_app/enabled=false +progressive_web_app/offline_page="" +progressive_web_app/display=1 +progressive_web_app/orientation=0 +progressive_web_app/icon_144x144="" +progressive_web_app/icon_180x180="" +progressive_web_app/icon_512x512="" +progressive_web_app/background_color=Color( 0, 0, 0, 1 )