From a4842dc22e3bee638a1275e348a1925aec07be09 Mon Sep 17 00:00:00 2001 From: Tirith Date: Thu, 30 Oct 2025 16:13:11 +0100 Subject: [PATCH] Zmiany - jedna wielka scena --- Manager.gd | 2 - Manager.gd.uid | 1 - localization/translation.csv.import | 2 +- project.godot | 15 ++++-- scenes/galaxy.tscn | 18 +++++-- scenes/planet.tscn | 18 +++++++ scenes/star.tscn | 19 +++++++ scripts/GameData.gd | 47 +---------------- scripts/PlanetData.gd | 38 -------------- scripts/PlanetData.gd.uid | 1 - scripts/PlayerData.gd | 28 ---------- scripts/PlayerData.gd.uid | 1 - scripts/ResourcesData.gd | 6 --- scripts/ResourcesData.gd.uid | 1 - scripts/SectorData.gd | 65 ------------------------ scripts/SectorData.gd.uid | 1 - scripts/camera_2d.gd | 29 +++++++++++ scripts/camera_2d.gd.uid | 1 + scripts/galaxy.gd | 79 +++++++++++++++++++++-------- scripts/planet.gd | 27 ++++++++++ scripts/planet.gd.uid | 1 + scripts/settings.gd | 37 ++++---------- scripts/star.gd | 11 ++++ scripts/star.gd.uid | 1 + 24 files changed, 201 insertions(+), 248 deletions(-) delete mode 100644 Manager.gd delete mode 100644 Manager.gd.uid create mode 100644 scenes/planet.tscn create mode 100644 scenes/star.tscn delete mode 100644 scripts/PlanetData.gd delete mode 100644 scripts/PlanetData.gd.uid delete mode 100644 scripts/PlayerData.gd delete mode 100644 scripts/PlayerData.gd.uid delete mode 100644 scripts/ResourcesData.gd delete mode 100644 scripts/ResourcesData.gd.uid delete mode 100644 scripts/SectorData.gd delete mode 100644 scripts/SectorData.gd.uid create mode 100644 scripts/camera_2d.gd create mode 100644 scripts/camera_2d.gd.uid create mode 100644 scripts/planet.gd create mode 100644 scripts/planet.gd.uid create mode 100644 scripts/star.gd create mode 100644 scripts/star.gd.uid diff --git a/Manager.gd b/Manager.gd deleted file mode 100644 index 462f880..0000000 --- a/Manager.gd +++ /dev/null @@ -1,2 +0,0 @@ -extends Node -# Autoload: Manager diff --git a/Manager.gd.uid b/Manager.gd.uid deleted file mode 100644 index 83e4348..0000000 --- a/Manager.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c4udho6lk0dla diff --git a/localization/translation.csv.import b/localization/translation.csv.import index 900aad7..3af447c 100644 --- a/localization/translation.csv.import +++ b/localization/translation.csv.import @@ -2,7 +2,7 @@ importer="csv_translation" type="Translation" -uid="uid://0ien22wevy7d" +uid="uid://cisrti2abcb3n" [deps] diff --git a/project.godot b/project.godot index 06f6992..48a4dda 100644 --- a/project.godot +++ b/project.godot @@ -17,11 +17,10 @@ config/icon="res://icon.svg" [autoload] -Manager="*res://Manager.gd" MusicManager="*res://music_manager.gd" -GameData="*res://scripts/GameData.gd" ObjectNames="*res://scripts/ObjectNames.gd" Settings="*res://scripts/settings.gd" +GameData="*res://scripts/GameData.gd" [display] @@ -56,7 +55,17 @@ menu={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } +zoom_in={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":81,"key_label":0,"unicode":113,"location":0,"echo":false,"script":null) +] +} +zoom_out={ +"deadzone": 0.2, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"location":0,"echo":false,"script":null) +] +} [internationalization] -locale/translations=PackedStringArray("res://localization/translation.de.translation", "res://localization/translation.en.translation", "res://localization/translation.pl.translation", "res://localization/translation.cs.translation", "res://localization/translation.es.translation") +locale/translations=PackedStringArray("res://localization/translation.cs.translation", "res://localization/translation.de.translation", "res://localization/translation.en.translation", "res://localization/translation.es.translation", "res://localization/translation.pl.translation") diff --git a/scenes/galaxy.tscn b/scenes/galaxy.tscn index d254faa..4c68082 100644 --- a/scenes/galaxy.tscn +++ b/scenes/galaxy.tscn @@ -1,17 +1,27 @@ -[gd_scene load_steps=4 format=3 uid="uid://b1vxl6rs5odt1"] +[gd_scene load_steps=5 format=3 uid="uid://b1vxl6rs5odt1"] [ext_resource type="Script" uid="uid://cts6e8xmnqsax" path="res://scripts/galaxy.gd" id="1_jxn3g"] [ext_resource type="Texture2D" uid="uid://dvydsg5o77wdm" path="res://assets/background/galaxy_background.jpg" id="1_n7ltq"] [ext_resource type="AudioStream" uid="uid://c8xg32p8lbltw" path="res://assets/sounds/music/game_music.mp3" id="3_mlxib"] +[ext_resource type="Script" uid="uid://b4cmg63daeo7g" path="res://scripts/camera_2d.gd" id="4_5xxpo"] [node name="Galaxy" type="Node2D"] script = ExtResource("1_jxn3g") -[node name="Background" type="Sprite2D" parent="."] -position = Vector2(576.00006, 323.99994) -scale = Vector2(0.3, 0.30000004) +[node name="CanvasLayer" type="CanvasLayer" parent="."] +layer = -1 + +[node name="Background" type="Sprite2D" parent="CanvasLayer"] +z_index = -10 +position = Vector2(580, 332) +scale = Vector2(0.30208334, 0.32222223) texture = ExtResource("1_n7ltq") [node name="AudioStreamPlayer2D" type="AudioStreamPlayer2D" parent="."] stream = ExtResource("3_mlxib") autoplay = true + +[node name="Camera2D" type="Camera2D" parent="."] +position = Vector2(904, 512) +zoom = Vector2(0.64, 0.64) +script = ExtResource("4_5xxpo") diff --git a/scenes/planet.tscn b/scenes/planet.tscn new file mode 100644 index 0000000..4806510 --- /dev/null +++ b/scenes/planet.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=3 format=3 uid="uid://cynwjsqox5eqx"] + +[ext_resource type="Script" uid="uid://bdmoi05k2qhjs" path="res://scripts/planet.gd" id="1_cktii"] +[ext_resource type="Texture2D" uid="uid://bmu7jwnvu7ob2" path="res://assets/planets/p5.png" id="2_h8ms6"] + +[node name="Planet" type="Node2D"] +script = ExtResource("1_cktii") + +[node name="Sprite2D" type="Sprite2D" parent="."] +scale = Vector2(0.053333335, 0.053333335) +texture = ExtResource("2_h8ms6") + +[node name="Label" type="Label" parent="."] +offset_left = -16.0 +offset_top = 8.0 +offset_right = 8.0 +offset_bottom = 21.0 +theme_override_font_sizes/font_size = 8 diff --git a/scenes/star.tscn b/scenes/star.tscn new file mode 100644 index 0000000..198493a --- /dev/null +++ b/scenes/star.tscn @@ -0,0 +1,19 @@ +[gd_scene load_steps=3 format=3 uid="uid://cvc0brcqh2rhu"] + +[ext_resource type="Script" uid="uid://c7l387xor12hx" path="res://scripts/star.gd" id="1_mcqwg"] +[ext_resource type="Texture2D" uid="uid://b4iycl7xcvpkp" path="res://assets/stars/s1.png" id="2_j6vao"] + +[node name="Star" type="Node2D"] +script = ExtResource("1_mcqwg") + +[node name="Sprite2D" type="Sprite2D" parent="."] +position = Vector2(-2.3841858e-07, 0) +scale = Vector2(0.014858843, 0.014858842) +texture = ExtResource("2_j6vao") + +[node name="Label" type="Label" parent="."] +offset_left = -16.0 +offset_top = 16.0 +offset_right = 16.0 +offset_bottom = 30.0 +theme_override_font_sizes/font_size = 10 diff --git a/scripts/GameData.gd b/scripts/GameData.gd index 1bfd62e..fd28616 100644 --- a/scripts/GameData.gd +++ b/scripts/GameData.gd @@ -1,48 +1,3 @@ extends Node -var player_data = [] -var sectors: Array = [] - -func new_game(): - TranslationServer.set_locale(Settings.language) - print("馃敼 Tworzenie nowej gry...") - sectors.clear() - player_data.clear() - player_data = PlayerData.generate_players(Settings.number_of_players) - sectors = SectorData.generate_sectors(Settings.sector_count) #planety i reszta losuje sie wewnatrz kolejnych funkcji - # Przyznajmy pierwsz膮 planet臋 pierwszego sektora graczowi - var first_planet = sectors[0].planets[0] - player_data[0].owned_planets.append(first_planet) - sectors[0].owner = player_data[0] # ustaw w艂a艣ciciela sektora, je艣li potrzebne - print_game_state() - -func print_game_state(): #fucnkja do test贸w - for s in sectors: - print("Sektor:", s.name, "ID:", s.id, "Pozycja:", s.position, "Planety:", s.planets.size(),s.texture) - for p in s.planets: - print(" Planeta:", p.name, "Rozmiar:", p.size, "Orbit:", p.orbit_radius, "Rotation:", round(p.rotation_speed*100)/100, - "Biosfere:", round(p.biosfere*100)/100, "Resource Rich:", round(p.resource_rich*100)/100) - for r in p.resources: - if r.exist: - print(" Surowiec:", tr(r.name)) - for p in player_data[0].owned_planets: - print("Gracz posiada planet臋:", p.name, player_data[0].name) - - for i in range(player_data.size()): - var p = player_data[i] - var player_type = "AI" if p.is_ai else "Human" - print("Gracz", i + 1, ":", p.name, "(", player_type, ")") - print(" Kredyty:", p.credits) - - if p.owned_planets.size() > 0: - print(" Planety:") - for planet in p.owned_planets: - print(" -", planet.name) - else: - print(" Brak planet") - -func _ready(): - new_game() - - - +var game_lunched = false diff --git a/scripts/PlanetData.gd b/scripts/PlanetData.gd deleted file mode 100644 index c4cd1a2..0000000 --- a/scripts/PlanetData.gd +++ /dev/null @@ -1,38 +0,0 @@ -extends Resource -class_name PlanetData - -var name = "" -var size = 1 -var rotation_speed = 1 -var biosfere = 1.0 -var orbit_radius = 1.0 -var resource_rich = 1.0 -var owner = null -var resources: Array = [] - -# Funkcja statyczna generuj膮ca list臋 planet -static func generate_planets() -> Array: - var planets_list: Array = [] - var planet_count = randi_range(Settings.min_planets_per_sector, Settings.max_planets_per_sector) - for i in range(planet_count): - var p = PlanetData.new() - p.name = ObjectNames.planet_names[randi() % ObjectNames.planet_names.size()] - p.generate_properties() - planets_list.append(p) - return planets_list - -# Generowanie w艂a艣ciwo艣ci jednej planety i surowc贸w -func generate_properties(): - size = randi_range(Settings.min_planet_size, Settings.max_planet_size) - rotation_speed = randf_range(Settings.min_rotation_speed, Settings.max_rotation_speed) - biosfere = randf_range(Settings.min_biosfere, Settings.max_biosfere) - orbit_radius = randi_range(Settings.min_orbit_radius, Settings.max_orbit_radius) - resource_rich = randf_range(Settings.min_resource_rich, Settings.max_resource_rich) - - resources.clear() - for res_name in ObjectNames.resources: - var r = ResourcesData.new() - r.name = res_name - r.exist = randi() % 2 == 0 - #r.amount = r.exist ? randi_range(50, 200) : 0 - resources.append(r) diff --git a/scripts/PlanetData.gd.uid b/scripts/PlanetData.gd.uid deleted file mode 100644 index f7665cc..0000000 --- a/scripts/PlanetData.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://d0wo3pt4is20h diff --git a/scripts/PlayerData.gd b/scripts/PlayerData.gd deleted file mode 100644 index 31ebdb9..0000000 --- a/scripts/PlayerData.gd +++ /dev/null @@ -1,28 +0,0 @@ -extends Resource -class_name PlayerData - -var name: String = "Gracz" -var is_ai: bool = false # czy gracz jest botem -var credits: int = 1000 -var fleets: Array = [] # lista statk贸w gracza -var technologies: Array = [] # lista odkrytych technologii -var owned_planets: Array = [] # planety nale偶膮ce do gracza -var owned_sectors: Array = [] # sektory nale偶膮ce do gracza - - - -static func generate_players(player_count: int = 1) -> Array: - var players_list: Array = [] - for i in range(player_count): - var player = PlayerData.new() - if i==0: - player.name = "Tirith" - player.credits = 1000 - player.is_ai = false - players_list.append(player) - else: - player.name = "Gracz" + str(i+1) - player.credits = 1000 - player.is_ai = true - players_list.append(player) - return players_list diff --git a/scripts/PlayerData.gd.uid b/scripts/PlayerData.gd.uid deleted file mode 100644 index d387791..0000000 --- a/scripts/PlayerData.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bvcecdv1r6plv diff --git a/scripts/ResourcesData.gd b/scripts/ResourcesData.gd deleted file mode 100644 index 1e747b0..0000000 --- a/scripts/ResourcesData.gd +++ /dev/null @@ -1,6 +0,0 @@ -extends Resource -class_name ResourcesData - -var name = "" # nazwa surowca, np. "iron" -#var amount = 0 # ilo艣膰 -var exist = false #czy istnieje diff --git a/scripts/ResourcesData.gd.uid b/scripts/ResourcesData.gd.uid deleted file mode 100644 index 4085e92..0000000 --- a/scripts/ResourcesData.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://ciu4d1qtrufew diff --git a/scripts/SectorData.gd b/scripts/SectorData.gd deleted file mode 100644 index a260f49..0000000 --- a/scripts/SectorData.gd +++ /dev/null @@ -1,65 +0,0 @@ -extends Resource -class_name SectorData - -var id = "" -var name = "" -var position = Vector2.ZERO -var owner = null -var texture = "" -var planets: Array = [] - -# Sta艂e definiuj膮ce ograniczenia generacji -const MAX_ATTEMPTS = 3 # Maksymalna liczba pr贸b znalezienia pozycji dla pojedynczego sektora -const MARGIN = 50 # Margines od kraw臋dzi powierzchni losowania - -static func generate_sectors(sector_count: int) -> Array: - var sectors_list: Array = [] - var min_distance = 100 - - # Zak艂adam, 偶e Settings.x i Settings.y przechowuj膮 szeroko艣膰 i wysoko艣膰 mapy - var map_width = Settings.x - var map_height = Settings.y - - # Okre艣lenie zakresu losowania, uwzgl臋dniaj膮cego margines - var min_x = MARGIN - var max_x = map_width - MARGIN - var min_y = MARGIN - var max_y = map_height - MARGIN - - # Sprawdzenie minimalne, czy obszar losowania jest wystarczaj膮co du偶y - if max_x <= min_x or max_y <= min_y: - push_error("B艁膭D GENERACJI: Margines jest zbyt du偶y dla wymiar贸w mapy.") - return [] - for i in range(sector_count): - var s = SectorData.new() - s.id = "sector_" + str(i) - s.name = ObjectNames.sector_names[randi() % ObjectNames.sector_names.size()] - s.texture = random_star_texture() - # --- LOGIKA ZAPOBIEGANIA ZAP臉TLENIU I MARGINES脫W --- - var pos_ok = false - var attempts = 0 - var new_pos = Vector2.ZERO - - while not pos_ok and attempts < MAX_ATTEMPTS: # 1. Ograniczenie p臋tli - new_pos.x = randf_range(min_x, max_x) - new_pos.y = randf_range(min_y, max_y) - pos_ok = true - for existing in sectors_list: - if existing.position.distance_to(new_pos) < min_distance: - pos_ok = false - break - attempts += 1 # Zwi臋kszamy licznik pr贸b - if pos_ok: - s.position = new_pos - s.planets = PlanetData.generate_planets() - sectors_list.append(s) - else: - push_warning("Nie uda艂o si臋 znale藕膰 unikalnej pozycji dla sektora " + str(i) + " po " + str(MAX_ATTEMPTS) + " pr贸bach.") - - - return sectors_list - - -static func random_star_texture() -> Texture2D: - var id = randi_range(1, 8) - return load("res://assets/stars/s%d.png" % id) diff --git a/scripts/SectorData.gd.uid b/scripts/SectorData.gd.uid deleted file mode 100644 index 84b5e2e..0000000 --- a/scripts/SectorData.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://dwfbgtr5suob7 diff --git a/scripts/camera_2d.gd b/scripts/camera_2d.gd new file mode 100644 index 0000000..ce6216b --- /dev/null +++ b/scripts/camera_2d.gd @@ -0,0 +1,29 @@ +extends Camera2D + +@export var speed := 500 # pr臋dko艣膰 przesuwania +@export var zoom_speed := 0.1 # pr臋dko艣膰 zoomu + +func _process(delta): + var move = Vector2.ZERO + + # przesuwanie WSAD / strza艂ki + if Input.is_action_pressed("map_move_right"): + move.x += 1 + if Input.is_action_pressed("map_move_left"): + move.x -= 1 + if Input.is_action_pressed("map_move_down"): + move.y += 1 + if Input.is_action_pressed("map_move_up"): + move.y -= 1 + + position += move.normalized() * speed * delta + + # zoom + if Input.is_action_pressed("zoom_in"): # np. Q + zoom -= Vector2(zoom_speed, zoom_speed) * delta + if Input.is_action_pressed("zoom_out"): # np. E + zoom += Vector2(zoom_speed, zoom_speed) * delta + + # ograniczenie minimalnego i maksymalnego zoomu + zoom.x = clamp(zoom.x, 0.1, 3) + zoom.y = clamp(zoom.y, 0.1, 3) diff --git a/scripts/camera_2d.gd.uid b/scripts/camera_2d.gd.uid new file mode 100644 index 0000000..87ebbc3 --- /dev/null +++ b/scripts/camera_2d.gd.uid @@ -0,0 +1 @@ +uid://b4cmg63daeo7g diff --git a/scripts/galaxy.gd b/scripts/galaxy.gd index 650c9c2..02a2b4b 100644 --- a/scripts/galaxy.gd +++ b/scripts/galaxy.gd @@ -1,30 +1,65 @@ extends Node2D +@onready var StarScene = preload("res://scenes/Star.tscn") +@onready var PlanetScene = preload("res://scenes/Planet.tscn") + func _ready(): - var sectors = GameData.sectors # zak艂adam 偶e GameData jest autoloadem - _spawn_sectors(sectors) + if GameData.game_lunched == false: + _generate_galaxy(Settings.NUMBER_OF_SYSTEMS) # 5 gwiazd testowo + GameData.game_lunched = true + print_all_stars_and_planets() -func _spawn_sectors(sectors: Array): - for sector in sectors: - var star = Sprite2D.new() - star.texture = sector.texture - star.position = sector.position - star.scale = Vector2(0.02, 0.02) # ewentualnie zmie艅 skal臋 - add_child(star) # dodajemy bezpo艣rednio do Galaxy - # dodaj nazw臋 pod gwiazd膮 - var name_label = Label.new() - name_label.text = sector.name - name_label.position = star.position + Vector2(-20, 20) - add_child(name_label) +func _generate_galaxy(count: int): + for i in range(count): + var star = StarScene.instantiate() + star.star_name = "Star_" + str(i) + star.planet_count = randi_range(Settings.min_planet, Settings.max_planet) + star.global_position = Vector2(randi_range(50, Settings.x), randi_range(50, Settings.y)) + star.get_node("Sprite2D").texture = load("res://assets/stars/s%d.png" % randi_range(1,8)) + add_child(star) - # dodaj nazw臋 pod gwiazd膮 - var name_label2 = Label.new() - name_label2.text = sector.planets[0].name - name_label2.position = star.position + Vector2(-20, 40) - add_child(name_label2) + # generowanie planet dla danej gwiazdy + for j in range(star.planet_count): + var planet = PlanetScene.instantiate() + planet.pname = "Planet_" + str(i) + "_" + str(j) + planet.orbit_radius = 30 + j * 20 + planet.orbit_speed = randf_range(0.01, 0.04) + generate_planet_resources(planet) # <-- tu losujemy surowce + var angle = randf() * TAU + planet.position = Vector2(cos(angle), sin(angle)) * planet.orbit_radius + planet.biosfere = randf() # float od 0 do 1 + if planet.biosfere > 0.7: + planet.get_node("Sprite2D").texture = load("res://assets/planets/p%d.png" % randi_range(1,9)) + else: + planet.get_node("Sprite2D").texture = load("res://assets/planets/p%d.png" % randi_range(10,18)) + #planet.get_node("Sprite2D").texture = load("res://assets/planets/p16.png") + star.add_child(planet) # Planeta nale偶y do gwiazdy! + star.planets.append(planet) + +func print_all_stars_and_planets(): + print("--- Lista gwiazd i planet ---") + + for star in get_children(): + if star is Star: + print("Gwiazda: ", star.star_name) + + if star.planets.size() == 0: + print(" (Brak planet)") + else: + for planet in star.planets: + print("Planeta: ", planet.pname, " | Surowiec: ", planet.resource_type) + + print("--- Koniec listy ---") -func _input(event): - if event.is_action_pressed("ui_cancel"): # "ui_cancel" to ESC - get_tree().change_scene_to_file("res://scenes/Menu.tscn") + +# Lista wszystkich mo偶liwych surowc贸w +var RESOURCE_TYPES = Settings.RESOURCE_TYPES + +func generate_planet_resources(planet): + planet.resources = {} # resetujemy s艂ownik + for res_name in RESOURCE_TYPES: + var exists = randi() % 100 < 50 # 50% szans na wyst膮pienie + var amount = 0 + planet.resources[res_name] = {"exist": exists, "amount": amount} diff --git a/scripts/planet.gd b/scripts/planet.gd new file mode 100644 index 0000000..5e22082 --- /dev/null +++ b/scripts/planet.gd @@ -0,0 +1,27 @@ +extends Node2D +class_name Planet +@onready var label = $Label +var pname: String = "" +var orbit_radius: float = 30.0 +var orbit_speed: float = 0.01 +var biosfere: float = 0.1 +var resources := {} + +var texture: Texture2D +var angle = randf() * TAU +func _ready(): + print("Planeta: %s, surowiec: %s" % [pname, resources]) + #str(round(biosfere * 100) / 100.0) + _update_position() + + +func _process(delta): + angle += orbit_speed * delta # obr贸t w czasie + angle = fmod(angle, TAU) # utrzymanie k膮ta w 0..2蟺 + _update_position() + print(pname, angle) + label.text = str(round(position * 100) / 100.0) + +func _update_position(): + # pozycja lokalna wzgl臋dem gwiazdy + position = Vector2(cos(angle), sin(angle)) * orbit_radius diff --git a/scripts/planet.gd.uid b/scripts/planet.gd.uid new file mode 100644 index 0000000..0bd65e2 --- /dev/null +++ b/scripts/planet.gd.uid @@ -0,0 +1 @@ +uid://bdmoi05k2qhjs diff --git a/scripts/settings.gd b/scripts/settings.gd index 8029c3b..1db08a1 100644 --- a/scripts/settings.gd +++ b/scripts/settings.gd @@ -1,34 +1,15 @@ extends Node var language = 'pl' -var number_of_players = 3 +var number_of_players = 1 # Liczba sektor贸w w galaktyce -var sector_count: int = 4 +var NUMBER_OF_SYSTEMS: int = 14 -# Minimalna i maksymalna liczba planet w sektorze -var min_planets_per_sector: int = 1 -var max_planets_per_sector: int = 3 +const RESOURCE_TYPES = ["Iron", "Uran", "Titan", "Water"] -# Minimalna i maksymalna wielko艣膰 planety -var min_planet_size: int = 1 -var max_planet_size: int = 3 +#pozycja system贸w +var x = 1900 +var y = 1000 -# Minimalna i maksymalna pr臋dko艣膰 obrotu planety -var min_rotation_speed: float = 0.1 -var max_rotation_speed: float = 1.0 - -# Minimalna i maksymalna odleg艂o艣膰 planety od gwiazdy -var min_orbit_radius: float = 50 -var max_orbit_radius: float = 250 - -# Minimalna i maksymalna warto艣膰 biosfery (habitability) -var min_biosfere: float = 0.0 -var max_biosfere: float = 1.0 - -# Minimalna i maksymalna warto艣膰 resource_rich -var min_resource_rich: float = 0.1 -var max_resource_rich: float = 1.0 - -# Inne parametry 艣wiata mo偶esz dodawa膰 tutaj w miar臋 potrzeb -#Granice galaktyki -var x = 500 -var y = 500 +#Ilosc system贸w +var min_planet = 1 +var max_planet = 5 diff --git a/scripts/star.gd b/scripts/star.gd new file mode 100644 index 0000000..0715f66 --- /dev/null +++ b/scripts/star.gd @@ -0,0 +1,11 @@ +extends Node2D +class_name Star +@onready var label = $Label +@export var star_name: String = "" +@export var planet_count: int = 0 +var planets: Array = [] +var texture: Texture2D + +func _ready(): + print("Gwiazda %s z %d planetami" % [star_name, planet_count]) + label.text = star_name diff --git a/scripts/star.gd.uid b/scripts/star.gd.uid new file mode 100644 index 0000000..a127451 --- /dev/null +++ b/scripts/star.gd.uid @@ -0,0 +1 @@ +uid://c7l387xor12hx