From ee03aa1d785c05040090ec9d34a5e9f5e6242d0d Mon Sep 17 00:00:00 2001 From: Bunnycxk <986826561@qq.com> Date: Sun, 28 Jan 2024 07:18:47 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E9=87=8D=E5=86=99replay=E9=80=BB=E8=BE=91?= =?UTF-8?q?=EF=BC=8C=E4=BC=9A=E5=88=A0=E9=99=A4=E5=BD=93=E5=89=8D=E8=8A=82?= =?UTF-8?q?=E7=82=B9=EF=BC=8C=E7=84=B6=E5=90=8E=E9=87=8D=E6=96=B0=E5=AE=9E?= =?UTF-8?q?=E4=BE=8B=E5=8C=96=E4=B8=80=E4=B8=AA=E8=8A=82=E7=82=B9=E5=B9=B6?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E8=87=B3=E8=AF=A5=E8=8A=82=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- levels/base_level/base_level.gd | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/levels/base_level/base_level.gd b/levels/base_level/base_level.gd index d3703c0..c35150d 100644 --- a/levels/base_level/base_level.gd +++ b/levels/base_level/base_level.gd @@ -209,5 +209,11 @@ func _on_next_level_button_pressed(): queue_free() func _on_replay_button_pressed(): - for card_base: CardBase in $CardBases.get_children(): - card_base.reset_all_card_position() + var new_level = BaseLevel.instantiate() + new_level.init(chap_id, lvl_id) + get_tree().root.add_child(new_level) + queue_free() + #print(get_tree().current_scene) + #get_tree().reload_current_scene() + #for card_base: CardBase in $CardBases.get_children(): + #card_base.reset_all_card_position() From 11d15cd7d38da97bbedf7d0ab64cb72d67659afd Mon Sep 17 00:00:00 2001 From: cutekibry Date: Sun, 28 Jan 2024 09:06:34 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E8=83=8C=E6=99=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bg/dynamic_bg/dynamic_bg.gd | 46 +++++++++++++++++++ bg/dynamic_bg/dynamic_bg.tscn | 13 ++++++ .../dynamic_bg_pattern/dynamic_bg_pattern.gd | 14 ++++++ .../dynamic_bg_pattern.tscn | 14 ++++++ levels/base_level/base_level.tscn | 4 +- main.tscn | 7 ++- 6 files changed, 95 insertions(+), 3 deletions(-) create mode 100644 bg/dynamic_bg/dynamic_bg.gd create mode 100644 bg/dynamic_bg/dynamic_bg.tscn create mode 100644 bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.gd create mode 100644 bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.tscn diff --git a/bg/dynamic_bg/dynamic_bg.gd b/bg/dynamic_bg/dynamic_bg.gd new file mode 100644 index 0000000..d03768c --- /dev/null +++ b/bg/dynamic_bg/dynamic_bg.gd @@ -0,0 +1,46 @@ +extends Node2D + + +const DynamicBgPattern = preload("res://bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.tscn") + + +const WIDTH = 1920 / 4 +const HEIGHT = 1080 / 4 + +const W_STEP := 60 +const H_STEP := 6 + +var VELOCITY = 30 * Vector2.from_angle(-atan(2)) + +func spawn(x_offset, y_offset): + var pat_x = -WIDTH + x_offset + var pat_y = HEIGHT + y_offset + + while pat_x < WIDTH + 50: + var new_pattern = DynamicBgPattern.instantiate() + + new_pattern.position = Vector2(pat_x, pat_y) + new_pattern.velocity = VELOCITY + add_child(new_pattern) + + pat_x += W_STEP + pat_y += H_STEP + + +func _ready(): + var x_offset = 0 + var y_offset = 0 + while HEIGHT + y_offset + (WIDTH / W_STEP) * H_STEP > -50: + spawn(x_offset, y_offset) + x_offset += $Timer.wait_time * VELOCITY.x + x_offset -= int(x_offset / W_STEP) * W_STEP + y_offset += $Timer.wait_time * VELOCITY.y + print(y_offset) + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta): + pass + + +func _on_timer_timeout(): + spawn(0, 0) diff --git a/bg/dynamic_bg/dynamic_bg.tscn b/bg/dynamic_bg/dynamic_bg.tscn new file mode 100644 index 0000000..c9c0f10 --- /dev/null +++ b/bg/dynamic_bg/dynamic_bg.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=2 format=3 uid="uid://d3geq38s5fjc6"] + +[ext_resource type="Script" path="res://bg/dynamic_bg/dynamic_bg.gd" id="1_g3cph"] + +[node name="DynamicBg" type="Node2D"] +z_index = -4096 +script = ExtResource("1_g3cph") + +[node name="Timer" type="Timer" parent="."] +wait_time = 2.0 +autostart = true + +[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"] diff --git a/bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.gd b/bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.gd new file mode 100644 index 0000000..07ed498 --- /dev/null +++ b/bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.gd @@ -0,0 +1,14 @@ +extends Node2D + + +var velocity : Vector2 + + +func _ready(): + $Word1.set_word("=*"[randi_range(0, 1)]) + $Word2.set_word("DPb"[randi_range(0, 2)]) + +func _process(delta): + position += velocity * delta + if position.x > 1920 / 4 + 70 or position.y < -70: + queue_free() diff --git a/bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.tscn b/bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.tscn new file mode 100644 index 0000000..f25723d --- /dev/null +++ b/bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=3 uid="uid://dkm7ljv01kwma"] + +[ext_resource type="Script" path="res://bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.gd" id="1_hrrmh"] +[ext_resource type="PackedScene" uid="uid://cvx7wowcbfo0r" path="res://objects/word/word.tscn" id="2_7jm3n"] + +[node name="DynamicBgPattern" type="Node2D"] +modulate = Color(1, 1, 1, 0.12549) +script = ExtResource("1_hrrmh") + +[node name="Word1" parent="." instance=ExtResource("2_7jm3n")] +position = Vector2(-6, 0) + +[node name="Word2" parent="." instance=ExtResource("2_7jm3n")] +position = Vector2(6, 0) diff --git a/levels/base_level/base_level.tscn b/levels/base_level/base_level.tscn index e3df7fd..a07071d 100644 --- a/levels/base_level/base_level.tscn +++ b/levels/base_level/base_level.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=15 format=3 uid="uid://cother2aiigge"] +[gd_scene load_steps=16 format=3 uid="uid://cother2aiigge"] [ext_resource type="Script" path="res://levels/base_level/base_level.gd" id="1_diojb"] [ext_resource type="PackedScene" uid="uid://xom5kpqs1rue" path="res://objects/calculator/calculator.tscn" id="1_tpuy7"] @@ -94,7 +94,7 @@ centered = false [node name="LevelClear" type="AudioStreamPlayer2D" parent="SFXs"] stream = ExtResource("3_ou3kh") -volume_db = -26.29 +volume_db = -5.0 [node name="WrongAnswer" type="AudioStreamPlayer2D" parent="SFXs"] stream = ExtResource("4_yxsxp") diff --git a/main.tscn b/main.tscn index a1fc332..8774989 100644 --- a/main.tscn +++ b/main.tscn @@ -1,7 +1,12 @@ -[gd_scene load_steps=2 format=3 uid="uid://c17fbsiogbgo1"] +[gd_scene load_steps=3 format=3 uid="uid://c17fbsiogbgo1"] [ext_resource type="PackedScene" uid="uid://c07co5p46apu7" path="res://objects/main_menu/main_menu.tscn" id="1_fk6j6"] +[ext_resource type="PackedScene" uid="uid://d3geq38s5fjc6" path="res://bg/dynamic_bg/dynamic_bg.tscn" id="2_8k4il"] [node name="Main" type="Node"] [node name="MainMenu" parent="." instance=ExtResource("1_fk6j6")] + +[node name="Bg" type="Node" parent="."] + +[node name="DynamicBg" parent="Bg" instance=ExtResource("2_8k4il")] From b015bc2b5e5bd380d688d692dae0231040958cb9 Mon Sep 17 00:00:00 2001 From: cutekibry Date: Sun, 28 Jan 2024 09:17:56 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=8A=A8=E6=80=81?= =?UTF-8?q?=E8=83=8C=E6=99=AF=E7=AC=A6=E5=8F=B7=E5=A4=9A=E6=A0=B7=E6=80=A7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.gd | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.gd b/bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.gd index 07ed498..56f6834 100644 --- a/bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.gd +++ b/bg/dynamic_bg/dynamic_bg_pattern/dynamic_bg_pattern.gd @@ -5,8 +5,12 @@ var velocity : Vector2 func _ready(): - $Word1.set_word("=*"[randi_range(0, 1)]) - $Word2.set_word("DPb"[randi_range(0, 2)]) + if randi() % 2 == 1: + $Word1.set_word("=*"[randi_range(0, 1)]) + $Word2.set_word("DPb>"[randi_range(0, 2)]) + else: + $Word1.set_word("qd<"[randi_range(0, 2)]) + $Word2.set_word("=*"[randi_range(0, 1)]) func _process(delta): position += velocity * delta From 06ea783ec9e9d3c22fd402a2cdadcd7615745df9 Mon Sep 17 00:00:00 2001 From: cutekibry Date: Sun, 28 Jan 2024 09:18:28 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E4=BD=BF=E7=AB=A0=E8=8A=82=E6=9C=80?= =?UTF-8?q?=E5=90=8E=E4=B8=80=E5=85=B3=E4=BC=9A=E8=B7=B3=E5=88=B0=E4=B8=8B?= =?UTF-8?q?=E4=B8=80=E7=AB=A0=E8=8A=82=E7=9A=84=E5=85=B3=E5=8D=A1=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- levels/base_level/base_level.gd | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/levels/base_level/base_level.gd b/levels/base_level/base_level.gd index c35150d..1bf00ed 100644 --- a/levels/base_level/base_level.gd +++ b/levels/base_level/base_level.gd @@ -199,13 +199,14 @@ func _on_back_button_pressed(): queue_free() func _on_next_level_button_pressed(): - var base_level := BaseLevel.instantiate() - if lvl_id == len(DATA[chap_id]) - 1: - base_level.init(chap_id + 1, 0) + var level_menu := LevelMenu.instantiate() + level_menu.init(chap_id + 1, -1) + get_tree().root.add_child(level_menu) else: + var base_level := BaseLevel.instantiate() base_level.init(chap_id, lvl_id + 1) - get_tree().root.add_child(base_level) + get_tree().root.add_child(base_level) queue_free() func _on_replay_button_pressed(): From 844573d03f2fbac2bda15baa4929e891ddd0c4fd Mon Sep 17 00:00:00 2001 From: cutekibry Date: Sun, 28 Jan 2024 09:38:13 +0800 Subject: [PATCH 5/5] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20credits=EF=BC=88?= =?UTF-8?q?=E7=AE=80=E5=8D=95=E5=AE=9E=E7=8E=B0=EF=BC=89=E5=B9=B6=E4=BD=BF?= =?UTF-8?q?=E9=80=9A=E5=85=B3=E6=9C=80=E5=90=8E=E4=B8=80=E5=85=B3=E5=90=8E?= =?UTF-8?q?=E4=BC=9A=E8=B7=B3=E8=BD=AC=20credits?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- levels/chapter_menu/level_menu/level_menu.gd | 7 +++++++ objects/credits/credits.tscn | 22 ++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 objects/credits/credits.tscn diff --git a/levels/chapter_menu/level_menu/level_menu.gd b/levels/chapter_menu/level_menu/level_menu.gd index 042134d..7d20717 100644 --- a/levels/chapter_menu/level_menu/level_menu.gd +++ b/levels/chapter_menu/level_menu/level_menu.gd @@ -8,6 +8,7 @@ const I_NUMBER = ["I","II","III","VI","V"] const LevelButton := preload("res://levels/chapter_menu/level_menu/level_button/level_button.tscn") const BaseLevel := preload("res://levels/base_level/base_level.tscn") +const Credits := preload("res://objects/credits/credits.tscn") # Called when the node enters the scene tree for the first time. @@ -18,6 +19,12 @@ const button_heigth : int = 50 func init(chap_id : int, lvl_num : int) -> void: #print("init?") + if chap_id == len(BaseLevel.instantiate().DATA): + add_child(Credits.instantiate()) + $Title.set_text("") + return + + if lvl_num == -1: lvl_num = len(BaseLevel.instantiate().DATA[chap_id]) diff --git a/objects/credits/credits.tscn b/objects/credits/credits.tscn new file mode 100644 index 0000000..c167d63 --- /dev/null +++ b/objects/credits/credits.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=2 format=3 uid="uid://cdu8yubd7fyvb"] + +[ext_resource type="FontFile" uid="uid://1000owdyvwfg" path="res://fonts/unifont-15.1.04.otf" id="1_re7ax"] + +[node name="Label" type="Label"] +custom_minimum_size = Vector2(480, 256) +offset_right = 40.0 +offset_bottom = 23.0 +theme_override_fonts/font = ExtResource("1_re7ax") +text = " + +[ Equal to P ] + +Created by 玩一个四字音游导致的 @ GGJ2024 + +ligen131 Tsukimaru + + Bunnycxk IssactheMouse + + +THANKS FOR PLAYING! ;-)" +horizontal_alignment = 1